цифровая электроника
вычислительная техника
встраиваемые системы

 
» » Как использовать АЦП на Raspberry Pi Pico с помощью MicroPython



Как использовать АЦП на Raspberry Pi Pico с помощью MicroPython

Автор: Mike(admin) от 23-10-2022, 23:55

В данном материале мы узнаем о АЦП микроконтроллерной платы Raspberry Pi Pico и о том, как с ним работать с помощью языка программирования MicroPython.


Как использовать АЦП на Raspberry Pi Pico с помощью MicroPython

Raspberry Pi Pico имеет четыре 12-битных канала АЦП, но один из них подключен к внутреннему датчику температуры. Оставшиеся каналы АЦП находятся на GPIO26, GPIO27 и GPIO28 и обозначены как ADC0, ADC1, ADC2 соответственно. Далее приведена распиновка Raspberry Pi Pico.


Как использовать АЦП на Raspberry Pi Pico с помощью MicroPython

Каналы АЦП на Raspberry Pi Pico позволяют использовать данную плату в широком спектре приложений. АЦП с восемью каналами можно использовать для измерения различных сигналов. В Pico АЦП чаще всего используется для измерения напряжения батареи. Однако его также можно использовать для измерения тока, температуры и даже влажности. АЦП Pico имеет разрешение 12 бит, что означает, что он может измерять напряжение с точностью до 0,025%. Это довольно точно, и это означает, что АЦП Pico неплохо подходит для приложений, где важна точность. АЦП также можно использовать для измерения напряжения в широком диапазоне от 0 до 3,3 В.


На следующем изображении показана схема Raspberry Pi Pico с потенциометром, которую мы будем использовать для проверки работы АЦП.


Как использовать АЦП на Raspberry Pi Pico с помощью MicroPython

Как мы видим, один вывод потенциометра питается от 5 В, центральный вывод подключен к контакту АЦП, в нашем случае GP28, а последний заземлен (черный). На макетной плате это может выглядеть следующим образом.


Как использовать АЦП на Raspberry Pi Pico с помощью MicroPython

Далее приведен код MicroPython для чтения аналогового ввода для Raspberry Pi Pico. Для программирования вы можете использовать Thonny IDE. Скопируйте следующий код и нажмите кнопку Download & Run (Загрузить и запустить).



import machine
import utime
 
led_red = machine.PWM(machine.Pin(10))
potentiometer = machine.ADC(26)
 
led_red.freq(1000)
 
while True:
    led_red.duty_u16(potentiometer.read_u16())

Важно отметить, что тип значения, которое мы возвращаем с помощью функции «read_u16», представляет собой 16-битное целое число без знака. Это означает, что оно будет варьироваться от 0 до 65,535, а не 4095, как можно было бы ожидать от 12-разрядного АЦП.


Как использовать АЦП на Raspberry Pi Pico с помощью MicroPython

Запустите скрипт, вы должны увидеть, что значения меняются при перемещении вала потенциометра.




© digitrode.ru


Теги: Raspberry Pi Pico, АЦП, MicroPython




Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Комментарии:

Оставить комментарий