Added main file which counts the goals
This commit is contained in:
commit
9b44c84696
76
main.cpp
Normal file
76
main.cpp
Normal file
@ -0,0 +1,76 @@
|
|||||||
|
#include "Homie.h"
|
||||||
|
|
||||||
|
int red = 0;
|
||||||
|
int blue = 0;
|
||||||
|
unsigned long lastThingDone = 0;
|
||||||
|
|
||||||
|
int lastOne = 0; //0 nobody; 1 blue; 2 red;
|
||||||
|
|
||||||
|
HomieNode nodeGoal("goals", "goals");
|
||||||
|
|
||||||
|
void homieLoop(){
|
||||||
|
if(digitalRead(12) == LOW && digitalRead(13) == LOW){
|
||||||
|
digitalWrite(14, LOW);
|
||||||
|
}
|
||||||
|
if(digitalRead(12) == LOW){
|
||||||
|
blue = 0;
|
||||||
|
red = 0;
|
||||||
|
lastOne = 0;
|
||||||
|
Homie.setNodeProperty(nodeGoal, "reset", "true", false);
|
||||||
|
lastThingDone = millis();
|
||||||
|
delay(500);
|
||||||
|
}
|
||||||
|
else if(digitalRead(13) == LOW){
|
||||||
|
if(lastOne == 1){
|
||||||
|
--blue;
|
||||||
|
lastOne = 0;
|
||||||
|
Homie.setNodeProperty(nodeGoal, "blue", String(blue), false);
|
||||||
|
delay(500);
|
||||||
|
}
|
||||||
|
else if(lastOne == 2){
|
||||||
|
--red;
|
||||||
|
lastOne = 0;
|
||||||
|
Homie.setNodeProperty(nodeGoal, "red", String(red), false);
|
||||||
|
delay(500);
|
||||||
|
}
|
||||||
|
lastThingDone = millis();
|
||||||
|
}
|
||||||
|
else if(digitalRead(5) == HIGH){
|
||||||
|
++red;
|
||||||
|
Homie.setNodeProperty(nodeGoal, "red", String(red), false);
|
||||||
|
lastOne = 2;
|
||||||
|
lastThingDone = millis();
|
||||||
|
delay(500);
|
||||||
|
}
|
||||||
|
else if(digitalRead(4) == HIGH){
|
||||||
|
++blue;
|
||||||
|
Homie.setNodeProperty(nodeGoal, "blue", String(blue), false);
|
||||||
|
lastOne = 1;
|
||||||
|
lastThingDone = millis();
|
||||||
|
delay(500);
|
||||||
|
}
|
||||||
|
else if((millis() - lastThingDone) >= 300000){
|
||||||
|
digitalWrite(14, LOW);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void setup(){
|
||||||
|
pinMode(5, INPUT_PULLUP);
|
||||||
|
pinMode(4, INPUT_PULLUP);
|
||||||
|
|
||||||
|
pinMode(14, OUTPUT);
|
||||||
|
pinMode(12, INPUT_PULLUP);
|
||||||
|
pinMode(13, INPUT_PULLUP);
|
||||||
|
|
||||||
|
digitalWrite(14, HIGH);
|
||||||
|
|
||||||
|
Homie.registerNode(nodeGoal);
|
||||||
|
Homie.setFirmware("Table Soccer GoalCounter", "1.0");
|
||||||
|
Homie.setLoopFunction(homieLoop);
|
||||||
|
Homie.setup();
|
||||||
|
}
|
||||||
|
|
||||||
|
void loop() {
|
||||||
|
Homie.loop();
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user