Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
products:laboratory_iot:exp14 [2020/05/14 14:08] labuser29products:laboratory_iot:exp14 [2020/05/17 10:29] (текущий) – [Подключение переменного резистора] labuser29
Строка 3: Строка 3:
 В предыдущей статье мы узнали о том что такое аналого- цифровой преобразователь. Микроконтроллер, на базе которого работает наш электронный конструктор, имеет встроенный аналого- цифровой преобразователь. Попробуем им воспользоваться. В предыдущей статье мы узнали о том что такое аналого- цифровой преобразователь. Микроконтроллер, на базе которого работает наш электронный конструктор, имеет встроенный аналого- цифровой преобразователь. Попробуем им воспользоваться.
  
-=== Подключение переменного резистора ===+==== Подключение переменного резистора ====
 На плате конструктора установлен переменный резистор. На плате конструктора установлен переменный резистор.
 Переменный резистор состоит из полукруглой пластины, Переменный резистор состоит из полукруглой пластины,
Строка 19: Строка 19:
 {{ :products:esp-iot:varr.1.png?nolink |}} {{ :products:esp-iot:varr.1.png?nolink |}}
  
 +==== Делитель напряжения ====
 С помощью переменного резистора будем получать аналоговый сигнал. С помощью переменного резистора будем получать аналоговый сигнал.
 Используем широко распространенную схему резисторного Используем широко распространенную схему резисторного
Строка 36: Строка 37:
  
 Подключим нижнее плечо с земле, а верхнее к напряжению питания. Тогда при вращении ручки переменного резистора на его средней точки напряжение будет изменяться от 0 до напряжения питания (3,3в в нашем конструкторе). Подключим среднюю точку ко входу аналого- цифрового преобразователя и будем измерять напряжение на ней. Подключим нижнее плечо с земле, а верхнее к напряжению питания. Тогда при вращении ручки переменного резистора на его средней точки напряжение будет изменяться от 0 до напряжения питания (3,3в в нашем конструкторе). Подключим среднюю точку ко входу аналого- цифрового преобразователя и будем измерять напряжение на ней.
 +
 +==== Схема эксперимента ====
 +{{ :products:esp-iot:varr.3.png?nolink |}}
 +//Рисунок 2. Электрическая принципиальная схема эксперимента//
 +
 +{{ :products:esp-iot:adcexp.png?direct&600 |}}
 +//Рисунок 3. Монтажная схема эксперимента//
 +
 +==== Программный код эксперимента ====
 +<file python Exp14.py[enable_line_numbers="2", start_line_numbers_at="1"]>
 +from machine import Pin
 +import time
 +_init()
 +
 +adc = machine.ADC(0)
 +
 +while True:
 +    value = adc.read()
 +    print(value)
 +    time.sleep(1)
 +</file>
 +
 +в строке 5 мы объявляем объект АЦП, передавая в качестве параметра номер канала АЦП. В нашем микроконтроллере только один канал и он имеет номер 0.
 +
 +<code python [enable_line_numbers="2", start_line_numbers_at="5"]>
 +adc = machine.ADC(0)
 +</code>
 +
 +В цикле просим АЦП оцифровать текущее напряжение на его входе и сообщить нам результат. Результатом является число в диапазоне от 0 до 1023.
 +<code python [enable_line_numbers="2", start_line_numbers_at="8"]>
 +    value = adc.read()
 +</code>
 +
 +После чего выводим результат в консоль
 +<code python [enable_line_numbers="2", start_line_numbers_at="9"]>
 +    print(value)
 +</code>
 +
 +Оператор ''print'' предназначен для печати в консоль.
 +==== Дополнительное задание ====
 +<WRAP center round tip 60%>
 +  * Если наш АЦП при напряжении 0 вольт возвращает результат 0, а при 3.3 вольт — 1023, то какой результат преобразования будет при напряжении 1.65? А если напряжение 1 вольт ровно?
 +  * Какое напряжение соответствует значению 785?
 +</WRAP>
 +