這是小弟的代碼 #include <LiquidCrystal.h> LiquidCrystal lcd(7,8,9,10,11,12); int runTimer = 1; int runFor = 50; // time in seconds int buzzerPin = 13; int relayPin=4; int data = 0; const int switchPin = 5; int hits = 0; int switchState = 0; int prevSwitchState = 0; const int switchPin1 = 6; int hits1 = 0; int switchState1 = 0; int prevSwitchState1 = 0; void setup() { { pinMode(buzzerPin, OUTPUT); pinMode(relayPin,OUTPUT); lcd.begin(16, 0); } { lcd.begin(16, 2); pinMode(switchPin,INPUT); pinMode(switchPin1,INPUT); } } void loop() { switchState = digitalRead(switchPin); if (switchState != prevSwitchState) { if (switchState == LOW) { hits = hits + 1; lcd.clear(); lcd.setCursor(0, 1); lcd.print("Hits:"); lcd.setCursor(7, 1); lcd.print(hits); lcd.setCursor(11, 1); lcd.print(hits1); delay(90); } } prevSwitchState = switchState; switchState1 = digitalRead(switchPin1); if (switchState1 != prevSwitchState1) { if (switchState1 == LOW) { hits1 = hits1 + 1; lcd.clear(); lcd.setCursor(0, 1); lcd.print("Hits:"); lcd.setCursor(11, 1); lcd.print(hits1); lcd.setCursor(7, 1); lcd.print(hits); delay(90); } } prevSwitchState1 = switchState1; if(runTimer == 1){ digitalWrite(relayPin,LOW); // relay is OFF during countdown lcd.clear(); lcd.print("TIMER="); lcd.setCursor(0, 1); lcd.print("Hits:"); lcd.setCursor(7, 1); lcd.print(hits); lcd.setCursor(11, 1); lcd.print(hits1) //Start timer ;timer(); } runTimer = 0; lcd.noDisplay(); delay(250); for(int duration = 0; duration < 100; duration ++){ digitalWrite(buzzerPin, HIGH); delayMicroseconds(500); digitalWrite(buzzerPin, LOW); delayMicroseconds(500); } lcd.display(); delay(250); } void timer() { for(int timer = runFor;timer > 0; --timer){ if(timer >= 10) { lcd.setCursor(6,0); } else { lcd.setCursor(6,0); lcd.print("0"); lcd.setCursor(7,0); } lcd.print(timer); lcd.print(" SECOND!"); delay(1000); } lcd.setCursor(1,1); lcd.clear(); lcd.print(" TIMER OUT!"); lcd.setCursor(0, 1); lcd.print("Hits:"); lcd.setCursor(7, 1); lcd.print(hits); lcd.setCursor(11, 1); lcd.print(hits1); } 當(dāng)我用Arduino UNO 測試時(shí),計(jì)時(shí)器工作但是開關(guān)計(jì)計(jì)數(shù)不工作。。請大神指點(diǎn) |
歡迎光臨 (http://www.torrancerestoration.com/bbs/) | Powered by Discuz! X3.1 |