Raspberry PiのGPIOを制御してLEDを点滅

Raspberry PiのGPIOを制御してLEDを点滅する方法。
※本サイトを参考にして被った損害、怪我、事故、障害、不都合、不利益等に関して責任は一切負いません。

抵抗は、GPIOが3.3VでLEDの順方向電圧が2.7Vとして、(3.3V-2.7V)/5mA=120Ωというような計算。
※120Ωの抵抗持っていないので、100Ωを使った。多少電流増えるがまぁー大丈夫だろう。

GPIO17(ピン番号11)--抵抗100Ω--(アノード)LED(カソード)--GND(ピン番号25)となるように接続する。

1. rootになって

$ sudo su

2. GPIO17(ピン番号11)を使います

# echo "17" > /sys/class/gpio/export

3. GPIO17のディレクトリが作成されて

# ls /sys/class/gpio/
export  gpio17  gpiochip0  unexport
# ls /sys/class/gpio/gpio17/
active_low  direction  edge  power  subsystem  uevent  value

4. GPIO17を出力として使います

# echo "out" > /sys/class/gpio/gpio17/direction

5. GPIO17の出力をONして、LEDが点灯

# echo "1" > /sys/class/gpio/gpio17/value

6. GPIO17の出力をOFFして、LEDが消灯

# echo "0" > /sys/class/gpio/gpio17/value

7. GPIO17を使うのをやめます

# echo "17" > /sys/class/gpio/unexport

8. GPIO17のディレクトリが削除される

# ls /sys/class/gpio/
export  gpiochip0  unexport

例えば、下記スクリプトを作成して実行すれば、LEDが10回点滅して終了する。

#!/bin/bash

echo "17" > /sys/class/gpio/export
echo "out" > /sys/class/gpio/gpio17/direction

for i in `seq 1 10`
do
  echo "1" > /sys/class/gpio/gpio17/value
  echo "0" > /sys/class/gpio/gpio17/value
done

echo "17" > /sys/class/gpio/unexport

次は制御するGPIOの数を増やして数個のLEDをピカピカさせるか、PWM制御で明るさ調整してみる。