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