今回の回路は、今まで作ったLEDとボタンの回路を組み合わせるだけとなる。
LEDとボタンのどちらもGNDが必要なため、今回はブレッドボードのGNDラインを利用した。
#include <wiringPi.h>
#include <stdio.h>
#define LED 14
#define BUTTON 3
int main(void)
{
wiringPiSetup();
pinMode(BUTTON, INPUT);
pinMode(LED, OUTPUT);
int buttonState = 0;
while (1)
{
buttonState = digitalRead(BUTTON);
if (buttonState == 1)
{
digitalWrite(LED, HIGH);
}
else
{
digitalWrite(LED, LOW);
}
delay(200);
}
return 0;
}
以前作成した、ボタンのみのプログラムでは、単にボタンの情報を表示するのみであったが、今回はその情報を利用して、if文で条件分岐している。
ボタンの状態が「1」であれば、LEDが点灯し、それ以外(つまり「0」)の場合はLEDが消灯する。