Hey legends. Noob coder here. Appreciate your input.
I have 7 LEDs. The code below turns the LEDs HIGH and LOW in set patterns. (It's like a countdown digital clock looping from 9 to 0)
I want to add an input (Either Sound or Temperature) that changes the LED output. A +/- in variables will then speed up or slow down the LED sequence.
I then want to add another change that when the input reaches a certain threshold +/- (ie. loud sound or high temperature), the LED sequence changes from a set pattern to a random sequence. Where all HIGH and LOW combinations and patterns on each pin is randomised. It will stay random until the input threshold resets to the baseline.
I hope that makes sense. Appreciate your thoughts on how I can get to my goal.
Here's the current code:
int redLED1=13;
int redLED2=12;
int redLED3=11;
int redLED4=10;
int redLED5=8;
int redLED6=4;
int redLED7=2;
int shortW=1000;
void setup() {
// put your setup code here, to run once:
pinMode (redLED1,OUTPUT);
pinMode (redLED2,OUTPUT);
pinMode (redLED3,OUTPUT);
pinMode (redLED4,OUTPUT);
pinMode (redLED5,OUTPUT);
pinMode (redLED6,OUTPUT);
pinMode (redLED7,OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
// LED formation 1:
digitalWrite(redLED1,LOW);
digitalWrite(redLED2,LOW);
digitalWrite(redLED3,HIGH);
digitalWrite(redLED4,LOW);
digitalWrite(redLED5,LOW);
digitalWrite(redLED6,HIGH);
digitalWrite(redLED7,LOW);
delay (shortW);
// LED formation 2:
digitalWrite(redLED1,HIGH);
digitalWrite(redLED2,LOW);
digitalWrite(redLED3,HIGH);
digitalWrite(redLED4,HIGH);
digitalWrite(redLED5,HIGH);
digitalWrite(redLED6,LOW);
digitalWrite(redLED7,HIGH);
delay (shortW);
// LED formation 3:
digitalWrite(redLED1,HIGH);
digitalWrite(redLED2,LOW);
digitalWrite(redLED3,HIGH);
digitalWrite(redLED4,HIGH);
digitalWrite(redLED5,LOW);
digitalWrite(redLED6,HIGH);
digitalWrite(redLED7,HIGH);
delay (shortW);
// LED formation 4:
digitalWrite(redLED1,LOW);
digitalWrite(redLED2,HIGH);
digitalWrite(redLED3,HIGH);
digitalWrite(redLED4,HIGH);
digitalWrite(redLED5,LOW);
digitalWrite(redLED6,LOW);
digitalWrite(redLED7,HIGH);
delay (shortW);
// LED formation 5:
digitalWrite(redLED1,HIGH);
digitalWrite(redLED2,HIGH);
digitalWrite(redLED3,LOW);
digitalWrite(redLED4,HIGH);
digitalWrite(redLED5,LOW);
digitalWrite(redLED6,HIGH);
digitalWrite(redLED7,HIGH);
delay (shortW);
// LED formation 6:
digitalWrite(redLED1,HIGH);
digitalWrite(redLED2,HIGH);
digitalWrite(redLED3,LOW);
digitalWrite(redLED4,HIGH);
digitalWrite(redLED5,HIGH);
digitalWrite(redLED6,HIGH);
digitalWrite(redLED7,HIGH);
delay (shortW);
// LED formation 7:
digitalWrite(redLED1,HIGH);
digitalWrite(redLED2,LOW);
digitalWrite(redLED3,HIGH);
digitalWrite(redLED4,LOW);
digitalWrite(redLED5,HIGH);
digitalWrite(redLED6,HIGH);
digitalWrite(redLED7,LOW);
delay (shortW);
// LED formation 8:
digitalWrite(redLED1,HIGH);
digitalWrite(redLED2,HIGH);
digitalWrite(redLED3,HIGH);
digitalWrite(redLED4,HIGH);
digitalWrite(redLED5,HIGH);
digitalWrite(redLED6,HIGH);
digitalWrite(redLED7,HIGH);
delay (shortW);
// LED formation 9:
digitalWrite(redLED1,HIGH);
digitalWrite(redLED2,HIGH);
digitalWrite(redLED3,HIGH);
digitalWrite(redLED4,HIGH);
digitalWrite(redLED5,LOW);
digitalWrite(redLED6,HIGH);
digitalWrite(redLED7,LOW);
delay (shortW);
}