前回はLEDを点けるところまで出来ましたね。

今回はチカチカさせるところをやります。

といっても、配線はとっても簡単。

前回P1-01(3.3V電源)に繋いでいた線をP1-07(GPIO4)に変えるだけです。

つまりこう。

あとは、プログラム側から制御するだけです。

今回はシェルスクリプトで制御してみます。

たとえば、こんなスクリプトを書いて /var/tmp/ltika.sh として保存。

#!/bin/bash
echo 4   > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio4/direction

gpio4=/sys/class/gpio/gpio4/value
val=0

while :
do
    val=`expr \( $val + 1 \) % 2`
    echo $val > $gpio4
    sleep 1
done

$ chmod +x /var/tmp/ltika.sh

$ /var/tmp/ltika.sh

実行権限をつけて実行すると、1秒間隔でLEDがチカチカしましたよ!!

(このスクリプトは無限ループなので、終了するにはctrl+cなどでSIGINTを送ってください)

ポイントは、以下の三点。

/sys/class/gpio/export
使用の開始("4"をリダイレクトすることで、GPIO4を使えるようにする。停止する場合は同様にunexportに出力する)
/sys/class/gpio/gpio4/direction
入出力設定("out"をリダイレクトすることで、出力に設定。入力にする場合は"in"をリダイレクトする)
/sys/class/gpio/gpio4/value
出力値(入出力設定が"出力"の場合は、1をリダイレクトすると電気が流れ、0をリダイレクトすると電気が止まる)

終了後、

$ echo 4 > /sys/class/gpio/unexport

を実行してGPIO4の使用を終了するのを忘れないでくださいね。

今回、手っ取り早くGPIOの制御を試してみましたが、

実際に使っていくにはこのスクリプトではイマイチですね。

(フォアグランド実行で無限ループなので制御が戻ってこないし、使用後のunexportも手動だし。)

そこらへんは、また今度。