Lätt Arduino tryckknapp Scoring för två lag (3 / 4 steg)
Steg 3: Ladda upp programmet
Kopiera och klistra in programmet i Arduino IDE och belasta upp till Arduino
Program:
-----------------------------------------------------------------------------------------------------
/*
Två team upp och ner tryckknapp scoring återställning
Vad det gör:
Sinnen när knapparna ändra tillståndet och lägger till eller drar ifrån
en från lämplig lag totalt
Reset-knappen anger båda lagen poäng tillbaka till noll
Skriver ut resultat i Serial Monitor
Känn dig fri att använda och modifiera detta för något ändamål
Njut!
*/
CONST byte knappen = A0;
CONST byte Knapp1 = A1;
CONST byte Reset = A2;
CONST byte Button2 = A3;
CONST byte Button3 = A4;
byte ButtonState;
byte ButtonState1;
byte ResetState;
byte ButtonState2;
byte ButtonState3;
byte lastState = låg;
antal byte = 0;
byte count1 = 0;
void setup() {
Serial.BEGIN(9600);
pinMode (knapp, indata);
pinMode (Knapp1, indata);
pinMode (Reset, indata);
pinMode (Button2, indata);
pinMode (Button3, indata);
}
void loop() {
Knappar
ButtonState = digitalRead(Button);
ButtonState1 = digitalRead(Button1);
ResetState = digitalRead(Reset);
ButtonState2 = digitalRead(Button2);
ButtonState3 = digitalRead(Button3);
Knappar slutet
Knappen räkna och Display
om (ButtonState & & ButtonState! = lastState) / / knapp latch, ingen debounce behövs.
{
IF(Count < 255) / / Detta kommer att kontrollera för att se om greven är inom ett område 0 - 255, och allt annat över att, det kommer att återställa räkningen till 0. Naturligtvis, kommer att detta ske ändå eftersom räkna är en BYTE, och inte en int eller någon annan typ.
räkna + = 1; samma som antal = antal + 5.
annat
Count = 0;
Delay(250);
Serial.Print ("röda laget poäng:");
Serial.println(Count);
}
om (ButtonState1 & & ButtonState1! = lastState) / / knapp latch, ingen debounce behövs.
{
IF(Count < 255) / / Detta kommer att kontrollera för att se om greven är inom ett område 0 - 255, och allt annat över att, det kommer att återställa räkningen till 0. Naturligtvis, kommer att detta ske ändå eftersom räkna är en BYTE, och inte en int eller någon annan typ.
räkna-= 1; samma som antal = antal + 5.
annat
Count = 0;
Delay(250);
Serial.Print ("röda laget poäng:");
Serial.println(Count);
}
om (ResetState & & ResetState! = lastState) / / knapp latch, ingen debounce behövs.
{
IF(Count < 255) / / Detta kommer att kontrollera för att se om greven är inom ett område 0 - 255, och allt annat över att, det kommer att återställa räkningen till 0. Naturligtvis, kommer att detta ske ändå eftersom räkna är en BYTE, och inte en int eller någon annan typ.
Count = 0;
annat
Count = 0;
count1 = 0;
Delay(250);
Serial.Print ("röda laget poäng:");
Serial.println(Count);
Serial.Print ("blå laget poäng:");
Serial.println(count1);
}
om (ButtonState2 & & ButtonState2! = lastState) / / knapp latch, ingen debounce behövs.
{
IF(count1 < 255) / / Detta kommer att kontrollera för att se om greven är inom ett område 0 - 255, och allt annat över att, det kommer att återställa räkningen till 0. Naturligtvis, kommer att detta ske ändå eftersom räkna är en BYTE, och inte en int eller någon annan typ.
count1 + = 1; samma som antal = antal + 5.
annat
count1 = 0;
Delay(250);
Serial.Print ("blå laget poäng:");
Serial.println(count1);
}
om (ButtonState3 & & ButtonState3! = lastState) / / knapp latch, ingen debounce behövs.
{
IF(count1 < 255) / / Detta kommer att kontrollera för att se om greven är inom ett område 0 - 255, och allt annat över att, det kommer att återställa räkningen till 0. Naturligtvis, kommer att detta ske ändå eftersom räkna är en BYTE, och inte en int eller någon annan typ.
count1-= 1; samma som antal = antal + 5.
annat
count1 = 0;
Delay(250);
Serial.Print ("blå laget poäng:");
Serial.println(count1);
}
lastState = ButtonState;
Knappen räkna och Display slutet
} //Void loop slutet
-------------------------------------------------------------------------------------------------------------------------