# include <ezButton.h>
const unsigned long holdTime = 1777; // milliseconds to assumption of complete move
ezButton redButton(4);
ezButton greenButton(A4);
const byte redLED = 2;
const byte greenLED = A2;
const byte yellowLED = 7;
# define ON HIGH
# define OFF LOW
const bool PRESSED = false; // ezButton pulled high
void setup() {
Serial.begin(115200);
Serial.println("\nopen loop tarp \"monitor\"");
pinMode(redLED, OUTPUT);
pinMode(greenLED, OUTPUT);
pinMode(yellowLED, OUTPUT);
redButton.setDebounceTime(50);
greenButton.setDebounceTime(50);
}
unsigned long eggTimeStart;
void loop() {
unsigned long now = millis();
redButton.loop();
if (redButton.isPressed()) {
Serial.print("\npressing the red button...");
digitalWrite(redLED, OFF);
digitalWrite(yellowLED, ON);
eggTimeStart = now;
}
unsigned long elapsedTime = now - eggTimeStart;
if (redButton.getState() == PRESSED && elapsedTime > holdTime) {
if (digitalRead(redLED) == OFF)
Serial.print(" long enough, so\n");
digitalWrite(redLED, ON);
digitalWrite(yellowLED, OFF);
}
if (redButton.isReleased())
digitalWrite(yellowLED, OFF);
}
/*
void loop() {
unsigned long now = millis();
// check the red button has been pressed for long enough
redButton.loop();
if (redButton.isPressed()) {
Serial.println("you pressed the red button");
digitalWrite(redLED, OFF);
digitalWrite(greenLED, OFF);
digitalWrite(yellowLED, ON);
eggTimeStart = now;
}
unsigned long elapsedTime = now - eggTimeStart;
if (redButton.getState() == PRESSED && elapsedTime > holdTime) {
if (digitalRead(redLED) == OFF) {
Serial.println(" red long enough, so");
digitalWrite(redLED, ON);
}
digitalWrite(yellowLED, OFF);
}
// second verse, same as the first:
greenButton.loop();
if (greenButton.isPressed()) {
digitalWrite(redLED, OFF);
digitalWrite(greenLED, OFF);
digitalWrite(yellowLED, ON);
eggTimeStart = now;
}
if (greenButton.getState() == PRESSED && now - eggTimeStart > holdTime) {
digitalWrite(greenLED, ON);
digitalWrite(yellowLED, OFF);
}
if (redButton.getState() != PRESSED && greenButton.getState() != PRESSED)
digitalWrite(yellowLED, OFF);
}
*/
nano:12
nano:11
nano:10
nano:9
nano:8
nano:7
nano:6
nano:5
nano:4
nano:3
nano:2
nano:GND.2
nano:RESET.2
nano:0
nano:1
nano:13
nano:3.3V
nano:AREF
nano:A0
nano:A1
nano:A2
nano:A3
nano:A4
nano:A5
nano:A6
nano:A7
nano:5V
nano:RESET
nano:GND.1
nano:VIN
nano:12.2
nano:5V.2
nano:13.2
nano:11.2
nano:RESET.3
nano:GND.3
led1:A
led1:C
r1:1
r1:2
btn1:1.l
btn1:2.l
btn1:1.r
btn1:2.r
led3:A
led3:C
r3:1
r3:2
btn2:1.l
btn2:2.l
btn2:1.r
btn2:2.r
led4:A
led4:C
r4:1
r4:2