Raspberry Pi 4を使用して、私にとって初めてのLチカを試しました。正確には、オシロの波形を見てLチカを頭の中でイメージしました。
用意した物(ソフトウェアはフリー)
Raspberry Pi 4
Raspbian Buster with desktop 2019-09-26
Geany(Raspbianに入っている総合開発環境)
g++(Raspbianに入っているC++コンパイラ)
pigpio(Raspbianに入っているGPIO制御ライブラリ)
Geanyの設定は、テンプレートから新規作成のmain.cxxを選択。その後、ビルドコマンドを設定画面(Set Build Commands)のC++コマンドのラベルとコマンドを変更しました。これはこちらのサイトを参考にさせて頂きました。
Label: GPIO-Build Command: g++ -Wall -pthread -o "%e" "%f" -lpigpio -lrt
↓ コンパイルをコマンドラインでやりたい場合は
$ g++ -Wall -pthread -o test2 test2.cpp -lpigpio -lrt
↓ Lチカ用のソースコードはこれ。これを走らせると500μ秒点灯、500μ秒消灯を繰り返すみたい。このソースコードはどこかの英語で書かれたサイトからコピペしました。
/*
* test2.cpp
*/
/* Libraries */
#include <iostream>
#include <pigpio.h>
/* Variables and Constants */
using namespace std;
#define LED 17
#define HIGH 0x1
#define LOW 0x0
/* Main function */
int main(void)
{
cout << "Raspberry Pi initialized!" << endl;
if (gpioInitialise() < 0) exit(1);
gpioSetMode(LED, PI_OUTPUT); // 3.3V PIN
for (;;)
{
gpioWrite(LED, HIGH);
gpioDelay(500);
gpioWrite(LED, LOW);
gpioDelay(500);
}
gpioTerminate();
}
上記ソースコードをGeanyにコピペして、自分で設定したGPIO-Buildを選択してコンパイル完了(Compilation finished successfully) ↓
プログラムの実行はコマンドラインで
$ sudo ./test2
↓ プログラム実行中の波形。まだLEDを繋げて無いので確認して無いけど、1秒間に約900回点滅する事になるので、多分私の目ではチカチカと点滅するようには見えないかも。
↓ LEDを繋げてみました。赤丸のLEDなんですが、点滅では無く点灯ですね。スマホのカメラで240fps撮影して、ようやく点滅しているように見えます。