3.ino (711B)
1 #define GREEN_LED 7 2 #define YELLOW_LED 12 3 #define RED_LED 13 4 5 #define BUTTONA 4 6 #define BUTTONB 2 7 8 void 9 setLEDs(int g, int y, int r) { 10 digitalWrite(GREEN_LED, g); 11 digitalWrite(YELLOW_LED, y); 12 digitalWrite(RED_LED, r); 13 } 14 15 void 16 waitButton(int pin, int state) { 17 while (digitalRead(pin) == state) ; 18 } 19 20 void 21 debounce(int pin) { 22 waitButton(pin, LOW); 23 delay(20); 24 waitButton(pin, HIGH); 25 delay(20); 26 } 27 28 void setup() { 29 pinMode(GREEN_LED, OUTPUT); 30 pinMode(YELLOW_LED, OUTPUT); 31 pinMode(RED_LED, OUTPUT); 32 pinMode(BUTTONA, INPUT); 33 pinMode(BUTTONB, INPUT); 34 35 waitButton(BUTTONA, HIGH); 36 } 37 38 void loop() { 39 setLEDs(HIGH, HIGH, HIGH); 40 delay(400); 41 waitButton(BUTTONA, HIGH); 42 setLEDs(LOW, LOW, LOW); 43 delay(400); 44 } 45