Raspberry Pi でパトランプ制御 (5V/12V/24V)¶
概要¶
Raspberry Pi を使ってパトランプを制御してみました。ハードウェアはド素人なので主にそのあたりを恥を忍んでメモ。
使用したもの¶
- Raspberry Pi (なんでも良い)
- パトランプ
- ポリスライト CLV-502 (5V)
- なないろ館 12/24V 兼用 フラッシュ ストロボ LED 警告灯 回転灯 (レッド) (12/24V)
- NPN シリコントランジスター 2SC1815-GR
- DC-DC ブーストステップアップ 転換モジュール 昇圧型 2V-24V to 5V-28V (12/24V の場合)
1 のパトランプは単三電池3本で回るだけのものなので、電池の代わりに Raspberry Pi から 5V をそのまま通電させて、制御できれば良いです。5V は直接 ON/OFF できないので、トランジスタを使って制御します。12/24V の場合は、この 5V を昇圧型の DC-DC モジュールで 12/24V に変換します。
配線¶
以下のように配線しました。(バイポーラ型)トランジスタは BE (Base-Emitter) 間に電流を流すと CE (Collector-Emitter) 間が通電するというもの。E を GND(0V) に接続し、B に接続した GPIO を ON にして BE 間に電流が流れると CE 間が 5V で通電、OFF にすると通電しなくなります。つまり GPIO がスイッチの役割となります。トランジスタ完全に理解した!
(1) 5V の場合¶
電池ボックス内で雑に実装しました。
(2) 12/24V の場合¶
12/24V の場合は 5V に昇圧型の DC-DC モジュールをはさむだけです。
テスト¶
/sys/class/gpio を通して GPIO を ON/OFF してみます。定期的に点滅すれば完成です。
#!/bin/bash
# 初期化: GPIO 4 に出力するようセットアップ
echo "4" > /sys/class/gpio/export
echo "out" > /sys/class/gpio/gpio4/direction
echo "0" > /sys/class/gpio/gpio4/value
for ((i=0; i<10; i++)); do
# GPIO 4 を ON (点灯)
echo "ON"
echo "1" > /sys/class/gpio/gpio4/value
sleep 3
# GPIO 4 を OFF (消灯)
echo "OFF"
echo "0" > /sys/class/gpio/gpio4/value
sleep 2
done
# 後始末
echo "4" > /sys/class/gpio/unexport
あとは監視ソフトなどと組み合わせて動かしましょう!