Измеряем ток потребления с помощью Raspberry Pi Pico и ACS712

Я тут выяснил, что датчик Холла ACS712 прекрасно работает с напряжением питания 3,3 В, хотя в документации указано, что он предназначен для работы с напряжением питания в 5 В. Но, видимо, придется перекалибровать.

Raspberry Pi Pico + ACS712

Raspberry Pi Pico (RP2040) отличается от обычной Raspberry Pi наличием встроенных АЦП, пусть и всего лишь 12-разрядных: ADC0, ADC1 и ADC2. Они доступны на выводах 31, 32 и 34, соответственно, инициализируются как GP26, 27 и 28. В примере ниже используется ADC2, который инициализируется командой machine.ADC(28) — как GP28. Код — под катом.

Распиновка Raspberry Pi Pico

Правда, для хранения результатов измерения тока все равно придется использовать 16-разрядные слова, поскольку в коде вызывается метод machine.ADC.read_u16().

import machine
import utime

analog_val = machine.ADC(28)
led = machine.Pin(25, machine.Pin.OUT)
led.low()
rtc = machine.RTC()

while True:
led.toggle()
reading = analog_val.read_u16()
print(«ADC: «, reading, «, Time: «, rtc.datetime())
utime.sleep(0.2)

Незамысловатый код для Raspberry Pi /MicroPython

В следующей публикации расскажу о результате калибровки. Ждите!