Hi there!
I have a bit of a problem. There are 6 LEDs(2xgreen, 2x red, 2xyellow) that light up in a random way. I want to print for what time when a green LED lights up I press the button. Here's the code and thanks in advance !!
int led1 = 2; //red LED
int led2 = 4; //the first green LED
int led3 = 6; //yellow LED
int led4 = 7; //second red LED
int led5 = 9; //the second green LED
int led6 = 11; //second yellow LED
int but = 12;
int piezzo = 10;
int pot = A0;
int sluchaino;
int i;
void setup() {
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
pinMode(led5, OUTPUT);
pinMode(led6, OUTPUT);
pinMode(but, INPUT);
Serial.begin(9600);
}
void loop() {
//random generator
int potVal = analogRead(pot);
potVal = map(potVal, 0, 1023, 25, 250);
for (i = 2; i <= 7; i++) {
randomSeed(analogRead(A5));
sluchaino = random(2, 11);
//Serial.println(sluchaino);
delay(potVal);
}
if (sluchaino == 2) {
digitalWrite(led1, HIGH);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
digitalWrite(led5, LOW);
digitalWrite(led6, LOW);
} else if (sluchaino == 4) {
digitalWrite(led1, LOW);
digitalWrite(led2, HIGH);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
digitalWrite(led5, LOW);
digitalWrite(led6, LOW);
} else if (sluchaino == 6) {
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, HIGH);
digitalWrite(led4, LOW);
digitalWrite(led5, LOW);
digitalWrite(led6, LOW);
} else if (sluchaino == 7) {
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, HIGH);
digitalWrite(led5, LOW);
digitalWrite(led6, LOW);
} else if (sluchaino == 9) {
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
digitalWrite(led5, HIGH);
digitalWrite(led6, LOW);
} else {
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
digitalWrite(led5, LOW);
digitalWrite(led6, HIGH);
}
if (digitalRead(led2) == HIGH || digitalRead(led5) == HIGH) {
unsigned long Start = millis();
if (digitalRead(but) == HIGH) {
unsigned long Stop = millis();
unsigned long Elapsed = Stop - Start;
Serial.println(Elapsed);
}
}
}
Moderator edit:
</mark> <mark>[code]</mark> <mark>
</mark> <mark>[/code]</mark> <mark>
tags added.