Я тут выяснил, что датчик Холла ACS712 прекрасно работает с напряжением питания 3,3 В, хотя в документации указано, что он предназначен для работы с напряжением питания в 5 В. Но, видимо, придется перекалибровать.
Raspberry Pi Pico (RP2040) отличается от обычной Raspberry Pi наличием встроенных АЦП, пусть и всего лишь 12-разрядных: ADC0, ADC1 и ADC2. Они доступны на выводах 31, 32 и 34, соответственно, инициализируются как GP26, 27 и 28. В примере ниже используется ADC2, который инициализируется командой machine.ADC(28) — как GP28. Код — под катом.
Правда, для хранения результатов измерения тока все равно придется использовать 16-разрядные слова, поскольку в коде вызывается метод machine.ADC.read_u16().
import machine
import utimeanalog_val = machine.ADC(28)
led = machine.Pin(25, machine.Pin.OUT)
led.low()
rtc = machine.RTC()while True:
Незамысловатый код для Raspberry Pi /MicroPython
led.toggle()
reading = analog_val.read_u16()
print(«ADC: «, reading, «, Time: «, rtc.datetime())
utime.sleep(0.2)
В следующей публикации расскажу о результате калибровки. Ждите!