===== Эксперимент 14. Измерение напряжения ===== В предыдущей статье мы узнали о том что такое аналого- цифровой преобразователь. Микроконтроллер, на базе которого работает наш электронный конструктор, имеет встроенный аналого- цифровой преобразователь. Попробуем им воспользоваться. ==== Подключение переменного резистора ==== На плате конструктора установлен переменный резистор. Переменный резистор состоит из полукруглой пластины, покрытой веществом, имеющим электрическое сопротивление, и скользящего контакта с ручкой. У переменного резистора три вывода — по концам пластины и скользящий контакт. Сопротивление меняется в зависимости от длины отрезка резистивной пластины от ее начала до скользящего контакта. Чем больше этот путь, тем выше сопротивление. {{ :products:esp-iot:varr.png?nolink |}} //Рисунок 1. Переменный резистор. Внешний вид, устройство и условное обозначение// Переменный резистор можно представить как схему из двух резисторов {{ :products:esp-iot:varr.1.png?nolink |}} ==== Делитель напряжения ==== С помощью переменного резистора будем получать аналоговый сигнал. Используем широко распространенную схему резисторного делителя напряжения. Резисторный делитель — это два последовательных участка цепи, называемых плечами, сумма напряжений на которых равна напряжению питания. Плечо между минусом питания и средней точкой называют нижним, а другое — верхним. {{ :products:esp-iot:varr.2.png?nolink |}} Резисторный делитель используется для деления напряжения. Например, если верхнее и нижнее плечи имеют одинаковые сопротивления, то напряжение на средней точке делителя равно половине напряжения питания. Такой делитель делит напряжение на 2. Подключим нижнее плечо с земле, а верхнее к напряжению питания. Тогда при вращении ручки переменного резистора на его средней точки напряжение будет изменяться от 0 до напряжения питания (3,3в в нашем конструкторе). Подключим среднюю точку ко входу аналого- цифрового преобразователя и будем измерять напряжение на ней. ==== Схема эксперимента ==== {{ :products:esp-iot:varr.3.png?nolink |}} //Рисунок 2. Электрическая принципиальная схема эксперимента// {{ :products:esp-iot:adcexp.png?direct&600 |}} //Рисунок 3. Монтажная схема эксперимента// ==== Программный код эксперимента ==== from machine import Pin import time _init() adc = machine.ADC(0) while True: value = adc.read() print(value) time.sleep(1) в строке 5 мы объявляем объект АЦП, передавая в качестве параметра номер канала АЦП. В нашем микроконтроллере только один канал и он имеет номер 0. adc = machine.ADC(0) В цикле просим АЦП оцифровать текущее напряжение на его входе и сообщить нам результат. Результатом является число в диапазоне от 0 до 1023. value = adc.read() После чего выводим результат в консоль print(value) Оператор ''print'' предназначен для печати в консоль. ==== Дополнительное задание ==== * Если наш АЦП при напряжении 0 вольт возвращает результат 0, а при 3.3 вольт — 1023, то какой результат преобразования будет при напряжении 1.65? А если напряжение 1 вольт ровно? * Какое напряжение соответствует значению 785?