Lチカしてみよう ~by C~
Lチカとは
LチカとはLEDをチカチカと光らすことです。
LEDに電源をいれるだけだと光りっぱなしです。面白味ないですねー。
それをプログラムなどで制御しチカチカと光らせます。
用意するもの
Raspberry Pi | Raspberry Pi 4 |
LED | 3mm赤色LED 70° OSR5JA3Z74A |
抵抗 | カーボン抵抗 1/4W 100Ω (100本入) |
ジャンパーケーブル | ジャンパーケーブル |
ブレッドボード | ブレッドボード |
LEDを点灯させるときと必要なものは変わりません。
RaspberryPiに関してはどのバージョンを使っても大丈夫です。
Raspberry Pi とLEDを接続
LEDを点灯させるときとぱっと見変わってないように見えると思いますが、5.0Vに刺さっていたケーブルがGPIO15に変わっています。
接続の確認
接続があっているか確認してみましょう。
次のコマンドを入力してください。
gpio readall
各ピンの現在の状態が表示されます。
Lチカを手動で実行
LEDを点灯させるプログラムを作成します。
まず、手動でできるかを確認してみましょう。
次のコマンドを入力すると、LEDが点灯・消灯するはずです。
gpio mode 18 out #GPIO18を出力モードに変更
gpio write 18 1 #GPIO18の出力を1(3.3V)にする→LEDを点灯させる。
gpio write 18 0 #GPIO18の出力を0(0V)にする→LEDを消灯させる。
LEDの点灯・消灯しない場合は接続を確認してください。
結構、プラスマイナスを間違えてる場合が多いです。
点灯・消灯が確認出来たら、動作をプログラム化して自動で繰り返すことができればLチカの完成です。
Lチカプログラムの作成
C言語で作っていきます。
#include <stdio.h>
#include <wiringPi.h>
int main()
{
//START
while(1){
//無限ループ
wiringPiSetupGpio(); //ピンの番号指定をGPIOで表現
pinMode(18 , OUTPUT); //GPIO18のモードをOUTに設定
printf("ON\n");
digitalWrite(18 , HIGH); //GPIO18の出力をHIGH(1)にする
delay(3000); //3000ms待つ
printf("OFF\n");
digitalWrite(18 , LOW); //GPIO18の出力をLOW(0)にする。
delay(3000); //3000ms待つ
}
return 0;
}
3秒ごとにONとOFFを繰り返すプログラムです。
コンパイルして実行します。
gcc lchica.c -o lchika -lwiringPi
./lchika
こんな感じでプログラムを止めない限りチカチカ点滅し続けるはずです。
これでLチカの完成です!