Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
products:laboratory_iot:exp14 [2020/05/14 13:57] – labuser29 | products:laboratory_iot:exp14 [2020/05/17 10:29] (текущий) – [Подключение переменного резистора] labuser29 | ||
---|---|---|---|
Строка 3: | Строка 3: | ||
В предыдущей статье мы узнали о том что такое аналого- цифровой преобразователь. Микроконтроллер, | В предыдущей статье мы узнали о том что такое аналого- цифровой преобразователь. Микроконтроллер, | ||
- | === Подключение переменного резистора === | + | ==== Подключение переменного резистора |
На плате конструктора установлен переменный резистор. | На плате конструктора установлен переменный резистор. | ||
Переменный резистор состоит из полукруглой пластины, | Переменный резистор состоит из полукруглой пластины, | ||
Строка 16: | Строка 16: | ||
// | // | ||
- | | + | Переменный резистор можно представить как схему из двух резисторов |
- | Для этого подключим переменный резистор по схеме делителя напряжения | + | {{ : |
+ | |||
+ | ==== Делитель напряжения ==== | ||
+ | С помощью | ||
+ | Используем широко распространенную схему резисторного | ||
+ | делителя напряжения. Резисторный делитель — это | ||
+ | последовательных участка цепи, называемых плечами, | ||
+ | напряжений на которых равна напряжению питания. Плечо между | ||
+ | минусом питания и средней точкой называют нижним, | ||
+ | верхним. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Резисторный делитель используется для деления напряжения. | ||
+ | Например, | ||
+ | сопротивления, | ||
+ | половине напряжения питания. Такой делитель делит напряжение | ||
+ | на 2. | ||
+ | |||
+ | Подключим | ||
+ | |||
+ | ==== Схема эксперимента ==== | ||
+ | {{ : | ||
+ | // | ||
+ | |||
+ | {{ : | ||
+ | // | ||
+ | |||
+ | ==== Программный код эксперимента ==== | ||
+ | <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%> | ||
+ | * Если наш АЦП при | ||
+ | * Какое напряжение соответствует значению 785? | ||
+ | </ |