#define trk1Sensor1 A0 //Track 1 West end detection sensor on pin A0
#define trk1Sensor2 A1 //Track 1 Centre of track dectection Sensor on pin A1
#define trk1Sensor3 A2 //Track 1 East end detection sensor on pin A2
#define trk1RedLed1 2 //Track 1 West Red LED on D2
#define trk1RedLed2 3 //Track 1 Centre Red LED on D3
#define trk1RedLed3 4 //Track 1 East Red LED on D4
#define trk1CommTx 5 //Track 1 COMM signal on D5
#define trk2Sensor1 A3 //Track 2 West end detection sensor on pin A3
#define trk2Sensor2 A4 //Track 2 Centre of track dectection Sensor on pin A4
#define trk2Sensor3 A5 //Track 2 East end detection sensor on pin A5
#define trk2RedLed1 8 //Track 2 West Red LED on D8
#define trk2RedLed2 7 //Track 2 Centre Red LED on D7
#define trk2RedLed3 6 //Track 2 East Red LED on D6
#define trk2CommTx 9 //Track 2 COMM signal on D9
void senVal1();
void senVal2();
void senVal3();
void senVal4();
void senVal5();
void senVal6();
void setup() {
Serial.begin(9600);
pinMode(trk1Sensor1, INPUT);
pinMode(trk1Sensor2, INPUT);
pinMode(trk1Sensor3, INPUT);
pinMode(trk1RedLed1, OUTPUT);
pinMode(trk1RedLed2, OUTPUT);
pinMode(trk1RedLed3, OUTPUT);
pinMode(trk1CommTx, OUTPUT);
pinMode(trk2Sensor1, INPUT);
pinMode(trk2Sensor2, INPUT);
pinMode(trk2Sensor3, INPUT);
pinMode(trk2RedLed1, OUTPUT);
pinMode(trk2RedLed2, OUTPUT);
pinMode(trk2RedLed3, OUTPUT);
pinMode(trk2CommTx, OUTPUT);
digitalWrite(trk1RedLed1, LOW);
digitalWrite(trk1RedLed2, LOW);
digitalWrite(trk1RedLed3, LOW);
digitalWrite(trk1CommTx, LOW);
digitalWrite(trk2RedLed1, LOW);
digitalWrite(trk2RedLed2, LOW);
digitalWrite(trk2RedLed3, LOW);
digitalWrite(trk2CommTx, LOW);
}
void loop() {
senVal1();
senVal2();
senVal3();
senVal4();
senVal5();
senVal6();
}
void senVal1() {
if (analogRead(trk1Sensor1) > 500){
digitalWrite(trk1RedLed1, HIGH);
digitalWrite(trk1CommTx, HIGH);
} else {
digitalWrite(trk1RedLed1, LOW);
digitalWrite(trk1CommTx, LOW);
}
}
void senVal2() {
if (analogRead(trk1Sensor2) > 500){
digitalWrite(trk1RedLed2, HIGH);
digitalWrite(trk1CommTx, HIGH);
} else {
digitalWrite(trk1RedLed2, LOW);
digitalWrite(trk1CommTx, LOW);
}
}
void senVal3() {
if (analogRead(trk1Sensor3) > 500){
digitalWrite(trk1RedLed3, HIGH);
digitalWrite(trk1CommTx, HIGH);
} else {
digitalWrite(trk1RedLed3, LOW);
digitalWrite(trk1CommTx, LOW);
}
}
void senVal4() {
if (analogRead(trk2Sensor1) > 500){
digitalWrite(trk2RedLed1, HIGH);
digitalWrite(trk2CommTx, HIGH);
} else {
digitalWrite(trk2RedLed1, LOW);
digitalWrite(trk2CommTx, LOW);
}
}
void senVal5() {
if (analogRead(trk2Sensor2) > 500){
digitalWrite(trk2RedLed2, HIGH);
digitalWrite(trk2CommTx, HIGH);
} else {
digitalWrite(trk2RedLed2, LOW);
digitalWrite(trk2CommTx, LOW);
}
}
void senVal6() {
if (analogRead(trk2Sensor3) > 500){
digitalWrite(trk2RedLed3, HIGH);
digitalWrite(trk2CommTx, HIGH);
} else {
digitalWrite(trk2RedLed3, LOW);
digitalWrite(trk2CommTx, LOW);
}
}