1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
| int arr[10];
boolean previous = LOW;
unsigned long time1 = 0;
int debounce = 200;
unsigned long time2 = 0;
int index_state = 0;
int play_button = 13; //define pin # for play button
int button[4] = {2,4,6,8}; //store button pins in an array
int leds[4] = {3,5,7,9}; //store led pins in an array
void setup()
{
for(int n=0;n<10;n++) arr[n] = 0;//initialisition
Serial.begin(9600);
}
void loop(){
boolean mode = digitalRead(2) || digitalRead(4) || digitalRead(6) || digitalRead (8);
while(mode == LOW) mode = digitalRead(2) || digitalRead(4) || digitalRead(6) || digitalRead (8);//wait here till one of the pushbutton goes high;
//Serial.println("value");
if( mode == HIGH && previous == LOW && millis() - time1 > debounce) {
//find out which one is high and store that value in array;
if(digitalRead(2)) arr[index_state] = 2;
else if(digitalRead(4)) arr[index_state] = 4;
else if(digitalRead(6)) arr[index_state] = 6;
else if(digitalRead(8)) arr[index_state] = 8;
else ;
//print the value and the index;
Serial.print(arr[index_state]);
Serial.print(" Stored in index: ");
Serial.println(index_state);
index_state = (index_state + 1) % 10;
//update value of time1 for button debouncing
time1 = millis();
}
//update the value of previous button state
previous = digitalRead(2) || digitalRead(4) || digitalRead(6) || digitalRead(8);
} |
Partager