#include <IRremote.h>
String myCom;
const byte IR_RECEIVE_PIN = 8;
int turnR = 4;
int leftT = 5;
int turnL = 7;
int rightT = 9;
int highB = 10;
int lights = 11;
int power = 12;
int d =1000;
int PowerIsOn = 0;
int HeadLightOn = 0;
int HighOn = 0;
int TurnLeft = 0;
int TurnRight = 0;
int Flashing = 0;
int flash = 0;
int timer = 300;
int ldelay = 1000;
void setup() {
Serial.begin(9600);
Serial.println("IR Receive test");
IrReceiver.begin(IR_RECEIVE_PIN, ENABLE_LED_FEEDBACK);
pinMode(turnR, OUTPUT);
pinMode(leftT, OUTPUT);
pinMode(turnL, OUTPUT);
pinMode(rightT, OUTPUT);
pinMode(highB, OUTPUT);
pinMode(lights, OUTPUT);
pinMode(power, OUTPUT);
}
void loop() {
// Power
Serial.println("power Is On");
digitalWrite(power, HIGH);
PowerIsOn = 1;
delay(ldelay);
delay(ldelay);
// Headlights
Serial.println("Headlights are on");
digitalWrite(lights, HIGH);
HeadLightOn = 1;
delay(ldelay);
delay(ldelay);
// High Beams
Serial.println("High Beams are on");
digitalWrite(highB, HIGH);
HighOn = 1;
delay(ldelay);
delay(ldelay);
delay(ldelay);
delay(ldelay);
delay(ldelay);
Serial.println("High Beams are off");
digitalWrite(highB, LOW);
HighOn = 0;
delay(ldelay);
delay(ldelay);
delay(ldelay);
delay(ldelay);
delay(ldelay);
delay(ldelay);
Serial.println("Left Turn Is On");
while(TurnLeft < 10){
digitalWrite(leftT, HIGH);
digitalWrite(turnL, HIGH);
delay(timer);
digitalWrite(leftT, LOW);
digitalWrite(turnL, LOW);
TurnLeft = TurnLeft + 1;
delay(timer);
}
TurnLeft = 0;
delay(ldelay);
delay(ldelay);
delay(ldelay);
delay(ldelay);
delay(ldelay);
// Right Turn
Serial.println("Right Turn Is On");
while(TurnRight < 10){
digitalWrite(rightT, HIGH);
digitalWrite(turnR, HIGH);
delay(timer);
digitalWrite(rightT, LOW);
digitalWrite(turnR, LOW);
TurnRight = TurnRight + 1;
delay(timer);
}
TurnRight = 0;
delay(ldelay);
delay(ldelay);
delay(ldelay);
delay(ldelay);
delay(ldelay);
// Flashers
Serial.println("Flashers Are On");
while(Flashing < 10){
digitalWrite(rightT, HIGH);
digitalWrite(turnR, HIGH);
digitalWrite(leftT, HIGH);
digitalWrite(turnL, HIGH);
delay(timer);
digitalWrite(rightT, LOW);
digitalWrite(turnR, LOW);
digitalWrite(leftT, LOW);
digitalWrite(turnL, LOW);
Flashing = Flashing + 1;
delay(timer);
}
Flashing = 0;
delay(ldelay);
delay(ldelay);
delay(ldelay);
delay(ldelay);
delay(ldelay);
// Breaks
Serial.println("Breaks are on");
digitalWrite(rightT, HIGH);
digitalWrite(leftT, HIGH);
delay(2500);
digitalWrite(rightT, LOW);
digitalWrite(leftT, LOW);
delay(ldelay);
Serial.println("Headlights are off");
digitalWrite(lights, LOW);
digitalWrite(highB, LOW);
HeadLightOn = 0;
HighOn = 0;
delay(ldelay);
delay(ldelay);
delay(ldelay);
delay(ldelay);
// Flash To Pass
Serial.println("Flash To Pass");
while(flash < 2){
digitalWrite(highB, HIGH);
delay(250);
digitalWrite(highB, LOW);
delay(150);
flash = flash +1;
}
flash = 0;
delay(ldelay);
// Flash To Pass
Serial.println("Flash To Pass");
while(flash < 2){
digitalWrite(highB, HIGH);
delay(250);
digitalWrite(highB, LOW);
delay(150);
flash = flash +1;
}
flash = 0;
delay(ldelay);
// Flash To Pass
Serial.println("Flash To Pass");
while(flash < 2){
digitalWrite(highB, HIGH);
delay(250);
digitalWrite(highB, LOW);
delay(150);
flash = flash +1;
}
flash = 0;
delay(ldelay);
delay(ldelay);
delay(ldelay);
delay(ldelay);
delay(ldelay);
// Power is off
Serial.println("power Is Off");
digitalWrite(power, LOW);
digitalWrite(lights, LOW);
digitalWrite(highB, LOW);
PowerIsOn = 0;
HeadLightOn = 0;
HighOn = 0;
delay(ldelay);
delay(ldelay);
delay(ldelay);
}