以前の記事
【DIY】ソーラーパネルで交流100Vを作る 2 でのUSB電源供給を使って商用電源なしでraspberry piをスタンドアローンで使用できる様にしてみた。しかしながら
raspberry piを外に設置するのは気がひけるのでパネルを外、バッテリーを室内に入れられるように簡単に工事した。
といってもエアコンの冷媒配管のところへ配線しただけ
12Vバッテリーにてraspberry piへ供給する。
いつのまにかバッテリーが放電してしまうのを防ぐ為に前回記事
raspberry piを常時起動して温度を遠隔監視する の内容を応用させて室内温度とバッテリー電圧をGmailへ送信できるようにしてみた。
といっても前回つかった温度センサーADT7410ではI2Cで温度しか測定できないので、アナログの入力4チャンネルあるADS1015を使用した。
使い方は
こちらのサイトを順にやれば動作した。(英語だけど)
注意してほしいのがADS1015を使用する場合下記の様に#を付け替えなければならないということ
# adc = Adafruit_ADS1x15.ADS1115()adc = Adafruit_ADS1x15.ADS1015()そしてsimpletest.pyをすこし書き換えてGAIN=1のところを2/3にしてレンジを±6.144Vにした
# Choose a gain of 1 for reading voltages from 0 to 4.09V.
# Or pick a different gain to change the range of voltages that are read:
# - 2/3 = +/-6.144V
# - 1 = +/-4.096V
# - 2 = +/-2.048V
# - 4 = +/-1.024V
# - 8 = +/-0.512V
# - 16 = +/-0.256V
# See table 3 in the ADS1015/ADS1115 datasheet for more info on gain.
GAIN = 2/3 それでも12V電圧を測定するのにレンジが不足しているが同じ抵抗を3つつけて分圧すれば測定できる。(電圧は1/3)
そしてADS1015にて表示される数値は6.144Vを2048分割したものなので計算式は
表示値×3倍×6.144V/2048 = 表示値×0.009 (これが係数!!)
となる。これをcronで定期的にメール送信するとこんな感じ。
バッテリー電圧は1326×0.009=11.934Vで算出できる。
pythonをもうすこし勉強すれば計算式を埋め込んで電圧表示にできるんだけど・・・
残念ながらこの表示が精一杯。
ちなみに夜は徐々に電圧が下がっていくだけなので朝までバッテリーが持つかハラハラしますよ!!