wiringPiを使ってC言語でGPIOからLEDを点滅させる
LCDになんか表示させるために、まずはC言語でGPIOの制御をできるようにすることを目的として、LEDの点灯実験を行います。
wiringPiのインストール
参考URL先のをそのままコピペしてます。変える必要もないですしね。
cd /tmp wget http://project-downloads.drogon.net/files/wiringPi.tgz tar xfz wiringPi.tgz cd wiringPi/wiringPi make sudo make install cd ../gpio make sudo make install
wiringPiのテスト
wiringPiがちゃんとインストールされているかどうか確認するために、まずはshellからLEDの点灯を行います。詳細は参考URLを見てください。
gpio -g mode 17 out # GPIO 17をoutputにする gpio -g write 17 1 # GPIO 17のHIGHにする gpio -g write 17 0 # GPIO 17をLOWにする
wiringPiとRaspberry Piのピン番号は違うらしく、GPIO 17は「0」らしいです。Cで書くときはこっちの数字を使います。ちなみに変えることもできるみたいです。
gpio mode 0 out # GPIO 17をoutputにする gpio write 0 1 # GPIO 17のHIGHにする gpio write 0 0 # GPIO 17をLOWにする
どっちでも同じ動作なはずです。
プログラム
これも上の参考URLとかを参考にしてください。
test.c
#include <wiringPi.h> #include <stdio.h> int main (void) { int pin = 0; // GPIO 17 if (wiringPiSetup() == -1) return 1; printf("setupOK\n"); pinMode(pin, OUTPUT); while (1) { printf("loop\n"); digitalWrite(pin, 1); delay(1000); digitalWrite(pin, 0); delay(1000); } return 0; }
実行
sudo gcc test.c -o test -I/usr/local/include -L/usr/local/lib -lwiringPi sudo ./test
でコンパイル&実行。
よし。ちゃんと動いた。