|
RasPi3_LED †ラズパイでLチカ(LEDチカチカ)しよう 回路 †ブレッドボード †IO2,3はCPU外部で1.8Kプルアップされています。 まずは電源直結で点灯試験 †点灯することを確認する。点灯しない場合はLEDの向きを確かめる。足の長い方(アノード)を3.3V側にする。 「赤(AK)いLED」と覚える。緑でも青でも「赤(AK)いLED」と覚える。A(アノード) -> K(カソード)の向き。Aがプラス側。 GPIOへ接続 †点灯が確かめられたら抵抗の先をIO6に接続する。IO6はCPU内部でプルアップされ3.3Vになっている。LEDの両端が3.3Vのため電流は流れず、点灯しない。 GPIOの操作 †ラズパイでrootユーザでログインする root@raspberrypi:~# IO6を使えるようにする # echo 6 > /sys/class/gpio/export 入出力方向(direction)の確認 # cat /sys/class/gpio/gpio6/direction in 出力にする # echo out > /sys/class/gpio/gpio6/direction # cat /sys/class/gpio/gpio6/direction out この時点でLEDが点灯する 電圧をHigh (3.3V)にする 消灯する # echo 1 > /sys/class/gpio/gpio6/value 電圧をLow (0V)にする 点灯する # echo 0 > /sys/class/gpio/gpio6/value スイッチの読み込み †スイッチの片側をGND, 真ん中をIO5に接続する ラズパイでrootユーザでログインする root@raspberrypi:~# IO5を使えるようにする # echo 5 > /sys/class/gpio/export 入出力方向(direction)の確認 # cat /sys/class/gpio/gpio6/direction in 入力になっているので value を読む # cat /sys/class/gpio/gpio5/value 1 スイッチを倒す # cat /sys/class/gpio/gpio5/value 0 Lチカプログラム †パスが長すぎてタイプが面倒なのでシンボリックリンクを作る # ln -s /sys/class/gpio/gpio6/value /dev/led0 # ls -l /dev/led0 lrwxrwxrwx 1 root root 27 Oct 26 11:28 /dev/led0 -> /sys/class/gpio/gpio6/value シェルによるLチカ †# while true (C言語でいうところの while(1)) > do (C言語でいうところの { 中カッコはじめ) > echo 0 > /dev/led0 > sleep 0.1 > echo 1 > /dev/led0 > sleep 0.1 > done (C言語でいうところの } 中カッコ閉じ) C言語によるLチカ †$ gcc -O2 -g -Wall led_control.c -o led_control $ ./led_control 関連 †自動リンク 外部リンク |