// Define the pin numbers for the LEDs
int frontLightPin = 2;
int rightBlinkerPin = 3;
int leftBlinkerPin = 4;
int brakeLightPin = 5;
int frontFogLightPin = 10;
int rearFogLightPin = 11;
int drlLightPin = 12; // Daylight Running Lights (DRL) pin
// Define the pin numbers for the toggle switches
int frontLightSwitchPin = 6;
int rightBlinkerSwitchPin = 7;
int leftBlinkerSwitchPin = 8;
int brakeLightSwitchPin = 9;
int frontFogLightSwitchPin = A0; // A0 is used for the front fog light switch
int rearFogLightSwitchPin = A1; // A1 is used for the rear fog light switch
int brighterBrakeLightSwitchPin = A2; // A2 is used for the brighter brake light switch
int drlLightSwitchPin = A3; // A3 is used for the DRL toggle switch
bool frontLightOn = false;
bool rightBlinkerOn = false;
bool leftBlinkerOn = false;
bool brakeLightOn = false;
bool brighterBrakeLightOn = false;
bool frontFogLightOn = false;
bool rearFogLightOn = false;
bool drlLightOn = false; // DRL state
unsigned long previousMillis = 0;
const long interval = 350; // Blink interval in milliseconds
void setup() {
// Initialize the LED pins as outputs
pinMode(frontLightPin, OUTPUT);
pinMode(rightBlinkerPin, OUTPUT);
pinMode(leftBlinkerPin, OUTPUT);
pinMode(brakeLightPin, OUTPUT);
pinMode(frontFogLightPin, OUTPUT);
pinMode(rearFogLightPin, OUTPUT);
pinMode(drlLightPin, OUTPUT); // DRL pin as output
// Initialize the switch pins as inputs with pull-up resistors
pinMode(frontLightSwitchPin, INPUT_PULLUP);
pinMode(rightBlinkerSwitchPin, INPUT_PULLUP);
pinMode(leftBlinkerSwitchPin, INPUT_PULLUP);
pinMode(brakeLightSwitchPin, INPUT_PULLUP);
pinMode(frontFogLightSwitchPin, INPUT_PULLUP);
pinMode(rearFogLightSwitchPin, INPUT_PULLUP);
pinMode(brighterBrakeLightSwitchPin, INPUT_PULLUP);
pinMode(drlLightSwitchPin, INPUT_PULLUP); // DRL switch as input
}
void loop() {
// Read the state of the front light switch
if (digitalRead(frontLightSwitchPin) == LOW) {
frontLightOn = !frontLightOn;
digitalWrite(frontLightPin, frontLightOn ? HIGH : LOW);
delay(100);
}
// Read the state of the right blinker switch
if (digitalRead(rightBlinkerSwitchPin) == LOW) {
rightBlinkerOn = !rightBlinkerOn;
digitalWrite(rightBlinkerPin, rightBlinkerOn ? HIGH : LOW);
delay(100);
}
// Read the state of the left blinker switch
if (digitalRead(leftBlinkerSwitchPin) == LOW) {
leftBlinkerOn = !leftBlinkerOn;
digitalWrite(leftBlinkerPin, leftBlinkerOn ? HIGH : LOW);
delay(100);
}
// Read the state of the brake light switch
if (digitalRead(brakeLightSwitchPin) == LOW) {
brakeLightOn = !brakeLightOn;
digitalWrite(brakeLightPin, brakeLightOn ? HIGH : LOW);
delay(100);
}
// Read the state of the front fog light switch
if (digitalRead(frontFogLightSwitchPin) == LOW) {
frontFogLightOn = !frontFogLightOn;
digitalWrite(frontFogLightPin, frontFogLightOn ? HIGH : LOW);
delay(100);
}
// Read the state of the rear fog light switch
if (digitalRead(rearFogLightSwitchPin) == LOW) {
rearFogLightOn = !rearFogLightOn;
digitalWrite(rearFogLightPin, rearFogLightOn ? HIGH : LOW);
delay(100);
}
// Read the state of the brighter brake light switch
if (digitalRead(brighterBrakeLightSwitchPin) == LOW) {
brighterBrakeLightOn = true;
}
// Read the state of the DRL switch
if (digitalRead(drlLightSwitchPin) == LOW) {
drlLightOn = !drlLightOn;
digitalWrite(drlLightPin, drlLightOn ? HIGH : LOW);
delay(100);
}
// Control the brake light brightness
if (brighterBrakeLightOn && brakeLightOn) {
analogWrite(brakeLightPin, 200); // Adjust the brightness level as needed
} else {
digitalWrite(brakeLightPin, brakeLightOn ? HIGH : LOW);
}
// Implement blinkers
unsigned long currentMillis = millis();
if ((leftBlinkerOn || rightBlinkerOn) && (currentMillis - previousMillis >= interval)) {
previousMillis = currentMillis;
digitalWrite(leftBlinkerPin, leftBlinkerOn ? !digitalRead(leftBlinkerPin) : LOW);
digitalWrite(rightBlinkerPin, rightBlinkerOn ? !digitalRead(rightBlinkerPin) : LOW);
}
}
nano:12
nano:11
nano:10
nano:9
nano:8
nano:7
nano:6
nano:5
nano:4
nano:3
nano:2
nano:GND.2
nano:RESET.2
nano:0
nano:1
nano:13
nano:3.3V
nano:AREF
nano:A0
nano:A1
nano:A2
nano:A3
nano:A4
nano:A5
nano:A6
nano:A7
nano:5V
nano:RESET
nano:GND.1
nano:VIN
nano:12.2
nano:5V.2
nano:13.2
nano:11.2
nano:RESET.3
nano:GND.3
vcc1:VCC
r1:1
r1:2
r2:1
r2:2
r3:1
r3:2
r4:1
r4:2
r5:1
r5:2
r6:1
r6:2
r7:1
r7:2
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
led11:A
led11:C
led12:A
led12:C
led13:A
led13:C
led14:A
led14:C
led15:A
led15:C
led16:A
led16:C
r8:1
r8:2
r9:1
r9:2
r10:1
r10:2
r11:1
r11:2
r12:1
r12:2
r13:1
r13:2
r14:1
r14:2
r15:1
r15:2
r16:1
r16:2
btn1:1.l
btn1:2.l
btn1:1.r
btn1:2.r
btn2:1.l
btn2:2.l
btn2:1.r
btn2:2.r
btn3:1.l
btn3:2.l
btn3:1.r
btn3:2.r
btn4:1.l
btn4:2.l
btn4:1.r
btn4:2.r
btn5:1.l
btn5:2.l
btn5:1.r
btn5:2.r
btn6:1.l
btn6:2.l
btn6:1.r
btn6:2.r
btn7:1.l
btn7:2.l
btn7:1.r
btn7:2.r
btn8:1.l
btn8:2.l
btn8:1.r
btn8:2.r