I´m trying to make a sequential tail light to my mustang.
My tought is to make the 6 bulbs (3 left and 3 right) "running" when braking. Thats about how far I´ve come.
But when turning on turnsignal to left or right I want that input to override the brakeinput and start the turn signal.
So on my breadboard I have 6 leds connected to I/O 3-5 (right side) and I/O 10-12 (left side) Button for "left turn" on I/O 8 "brake" on I/O 7 and "right turn" on I/O 6
I get running lights when "braking" but then I´m stuck. I know I can use arrays and other fancy stuff for the leds but I´m a total beginner so I try to keep it simple.
int switchstate = 0;
void setup() {
// declare the LED pins as outputs
// pinMode(2, OUTPUT); //not in use right now
pinMode(3, OUTPUT); //Right led 3
pinMode(4, OUTPUT); //Right led 2
pinMode(5, OUTPUT); //Right led 1
pinMode(10, OUTPUT); //Left led 1
pinMode(11, OUTPUT); //Left led 2
pinMode(12, OUTPUT); //Left led 3
// pinMode(12, OUTPUT); //not in use right now
pinMode(6, INPUT); //right turn
pinMode(7, INPUT); //brake
pinMode(8, INPUT); //left turn
}
void loop() {
switchstate = digitalRead(7);
// if no button is pressed
// just tail lights
if (switchstate == LOW) {
digitalWrite(3, HIGH);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(10, LOW);
digitalWrite(11, LOW);
digitalWrite(12, HIGH);
}
else {
digitalWrite(3, HIGH);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(10, LOW);
digitalWrite(11, LOW);
digitalWrite(12, HIGH);
delay(200);
digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
digitalWrite(5, LOW);
digitalWrite(10, LOW);
digitalWrite(11, HIGH);
digitalWrite(12, HIGH);
delay(200);
digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
digitalWrite(5, HIGH);
digitalWrite(10, HIGH);
digitalWrite(11, HIGH);
digitalWrite(12, HIGH);
delay(200);
digitalWrite(3, LOW);
digitalWrite(4, HIGH);
digitalWrite(5, HIGH);
digitalWrite(10, HIGH);
digitalWrite(11, HIGH);
digitalWrite(12, LOW);
delay(200);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
digitalWrite(5, HIGH);
digitalWrite(10, HIGH);
digitalWrite(11, LOW);
digitalWrite(12, LOW);
delay(200);
}
}