2015/10/04(日)人工太陽の続き Raspberry Pi編

植物用LEDの照射時間をコントロールする。
Raspberry Pi編

arduino で作り始めてみたけど、Raspberry Pi Model A+で作ってみた。
ネットワーク経由で時刻同期ができるから楽ちん安心かな、と。

回路図って、どう描くんだろう?
BotanicalLEDSwitch.PNG

Raspberry Pi の GPIO4, 17 でもって、LEDのon/offを制御する。

LEDの電源には 12V 1A のDCアダプターを使っている。
(あぁ、図に定電流回路が抜けている)
Raspberry Pi の電源も12Vの電源で賄うことにした。Raspberry Piは2番の5Vピンを電源電力の入力元にできるので、DCDCコンバーターで12Vー>5Vに変換してここに接続している。
DCDCコンバーターは1000円近くするが、1ポートのUSB充電器でも似たような値段なので作る手間だけ損している。おもちゃ遊びとしては得している。

Raspberry Pi の GPIO4, GPIO17 からの信号をデジタルトランジスタのベースに流すことでLEDの回路をon/offする。

回路としてはこんな所。


Raspberry Piの話。
USB WiFi ドングルは elecom の WDC-150SU2MBK。PCIのものが消費電力が少ないらしいんだけど、近所には置いてなかったので、そこそこの評判を得ている elecom を買ってきた。

ntpd は、特に設定しなくても標準で動作しているみたい。
pi@coriander ~ $ ntpdc -p
     remote           local      st poll reach  delay   offset    disp
=======================================================================
*sv2.localdomain 192.168.1.126    2 1024  377 0.00793  0.001239 0.12054
=einzbern.turena 192.168.1.126    2 1024  377 0.00792  0.001479 0.12267
=ntp.kiba.net    192.168.1.126    2  512  376 0.01930  0.001555 0.15672
=v157-7-235-92.z 192.168.1.126    2 1024  377 0.00993  0.000767 0.08698
GPIOを操作する雑なスクリプトをやっつけて...、
gpio-ready.sh
操作対象のGPIOピンを設定する
#! /bin/sh

echo $1 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio$1/direction
gpio-toggle.sh
GPIOのon/offを切り替える
#! /bin/sh

echo $2 > /sys/class/gpio/gpio$1/value
root の crontab に登録。6:00 - 19:00 の間、LEDを照射する。
0 6 * * * sh /home/pi/scripts/toggle-gpio.sh 4 1
0 6 * * * sh /home/pi/scripts/toggle-gpio.sh 17 1

0 19 * * * sh /home/pi/scripts/toggle-gpio.sh 4 0
0 19 * * * sh /home/pi/scripts/toggle-gpio.sh 17 0
Raspberry Pi に WiFi を繋いだので時刻ずれの心配がなくなったんだけど、気軽に電源を落とせなくなってしまった。
arduino で時計合わせのインタフェースを作るか、GPSで自動的に同期を取る方が取り扱いが楽かもしれない。