Lチカしてみよう ~C言語での実装~

Lチカしてみよう ~by C~

Lチカとは

LチカとはLEDをチカチカと光らすことです。
LEDに電源をいれるだけだと光りっぱなしです。面白味ないですねー。
それをプログラムなどで制御しチカチカと光らせます。

用意するもの
Raspberry PiRaspberry Pi 4
LED3mm赤色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チカの完成です!

タイトルとURLをコピーしました