raspberry Piの課題

C++でタクトスイッチ読み込み

C++でタクトスイッチの押した回数を取得

タクトスイッチのプラス側を18番につないで押したときにLEDをつけます

また、押した回数を表示します

/*
 * g++ taktCount.cpp -o taktCount -lwiringPi
 * ./taktCount
 */
#include <iostream>
#include <wiringPi.h>
using namespace std;

int main() {
	int PNO = 18;
	int LED = 21;
	int checkData = 0;
	int inputData = 0;
	int count = 0;

	if(wiringPiSetupGpio()<0) {
		cout << "wiring error\n";
		return 1;
	}
	pinMode(PNO, INPUT);
	pinMode(LED, OUTPUT);
	pullUpDnControl(PNO,PUD_DOWN);
	digitalWrite(LED,LOW);

	while(true) {
		inputData = digitalRead(PNO);
		delay(120);
		if(inputData==1 && checkData==0) {
			inputData = 0;
			count++;
			cout << count << endl;
			digitalWrite(LED,HIGH);
			while(1) {
				checkData = digitalRead(PNO);
				delay(120);
				if(checkData==0) break;
			}
			digitalWrite(LED,LOW);
		}
	}

	return 0;
}

押されたら、ボタンを離すまでカウントをしません。