Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
| products:laboratory_iot:exp14 [2020/05/14 14:07] – labuser29 | products:laboratory_iot:exp14 [2020/05/17 10:29] (текущий) – [Подключение переменного резистора] labuser29 | ||
|---|---|---|---|
| Строка 3: | Строка 3: | ||
| В предыдущей статье мы узнали о том что такое аналого- цифровой преобразователь. Микроконтроллер, | В предыдущей статье мы узнали о том что такое аналого- цифровой преобразователь. Микроконтроллер, | ||
| - | === Подключение переменного резистора === | + | ==== Подключение переменного резистора |
| На плате конструктора установлен переменный резистор. | На плате конструктора установлен переменный резистор. | ||
| Переменный резистор состоит из полукруглой пластины, | Переменный резистор состоит из полукруглой пластины, | ||
| Строка 19: | Строка 19: | ||
| {{ : | {{ : | ||
| + | ==== Делитель напряжения ==== | ||
| С помощью переменного резистора будем получать аналоговый сигнал. | С помощью переменного резистора будем получать аналоговый сигнал. | ||
| Используем широко распространенную схему резисторного | Используем широко распространенную схему резисторного | ||
| Строка 26: | Строка 27: | ||
| минусом питания и средней точкой называют нижним, | минусом питания и средней точкой называют нижним, | ||
| верхним. | верхним. | ||
| + | |||
| + | {{ : | ||
| Резисторный делитель используется для деления напряжения. | Резисторный делитель используется для деления напряжения. | ||
| Строка 34: | Строка 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? | ||
| + | </ | ||
| + | |||