INA219というバッテリーモニターに最適なボードがあるのですが、使い方が分かりにくかったので、備忘録として残しておきます。
接続方法
まずこのユニット、電圧計と電流計の両方の機能が同時に使えます。
従って、接続を間違うと、ショートさせてしまう危険があります。
端子は6つあります。接続先は以下の通り。
・VCC:3.3V〜5Vの駆動電圧。(ラズパイの5Vピンもしくは3.3Vピンへ)
・GND:アース(負極)
・SCL:i2c通信(ラズパイの物理5pin)
・SDA:i2c通信(ラズパイの物理3pin)
・Vin-:電源供給したい負荷回路(ラズパイの5Vなど)の+極へ
・Vin+:電源(バッテリーなど)の+極へ
つまり、INA219はVin+からVin-に流れる電流を測定します。同時に、Vin+とGND間の電圧を測定します。
この電流と電圧から、電力を計算しているようです。
動作確認
ここから、ライブラリをインストールします。
~$ sudo pip3 install pi-ina219
インストール出来たら、動作確認です。
from ina219 import INA219
from ina219 import DeviceRangeError
SHUNT_OHMS = 0.1
def read():
ina = INA219(SHUNT_OHMS)
ina.configure()
print("Bus Voltage: %.3f V" % ina.voltage())
try:
print("Bus Current: %.3f mA" % ina.current())
print("Power: %.3f mW" % ina.power())
print("Shunt voltage: %.3f mV" % ina.shunt_voltage())
except DeviceRangeError as e:
# Current out of device range with specified shunt resistor
print(e)
if __name__ == "__main__":
read()