#include <timeObj.h>
#include <mechButton.h>
#define NUM_TIMES 10
float times[NUM_TIMES];
timeObj timer(0,false);
int LEDs[] = {2,3,4,5,6,7,8,9,10,11};
int timeIndex;
mechButton startButton(12);
void setup() {
for (int i=0;i<NUM_TIMES;i++) {
pinMode(LEDs[i],OUTPUT);
}
times[0] = 100;
times[1] = 200;
times[2] = 300;
times[3] = 400;
times[4] = 500;
times[5] = 400;
times[6] = 300;
times[7] = 200;
times[8] = 100;
times[9] = 500;
startButton.setCallback(btnClk);
}
void LEDsOff(void) {
for (int i=0;i<NUM_TIMES;i++) {
digitalWrite(LEDs[i],LOW);
}
}
void btnClk(void) {
if (!startButton.getState()) {
LEDsOff();
timeIndex = 0;
digitalWrite(LEDs[timeIndex],HIGH);
timer.setTime(times[timeIndex]);
}
}
void loop() {
idle();
if (timer.ding()) {
digitalWrite(LEDs[timeIndex],LOW);
timeIndex++;
if (timeIndex<NUM_TIMES) {
digitalWrite(LEDs[timeIndex],HIGH);
timer.setTime(times[timeIndex]);
} else {
timer.reset();
}
}
}
uno:A5.2
uno:A4.2
uno:AREF
uno:GND.1
uno:13
uno:12
uno:11
uno:10
uno:9
uno:8
uno:7
uno:6
uno:5
uno:4
uno:3
uno:2
uno:1
uno:0
uno:IOREF
uno:RESET
uno:3.3V
uno:5V
uno:GND.2
uno:GND.3
uno:VIN
uno:A0
uno:A1
uno:A2
uno:A3
uno:A4
uno:A5
led1:A
led1:C
led2:A
led2:C
led3:A
led3:C
led4:A
led4:C
led5:A
led5:C
led6:A
led6:C
led7:A
led7:C
led8:A
led8:C
led9:A
led9:C
led10:A
led10:C
btn1:1.l
btn1:2.l
btn1:1.r
btn1:2.r