#include int RedLED = 2; // AUX indicator int GreenLED = 3; // BTL indicator int YellowLED = 4; // Radio indicator int AUX = 5; // AUX selector switch int BTL = 6; // BTL selector switch int RADIO = 7; // Radio selector switch int CHAT = 50; // Audio source control lines int CTL_AUX = 8; int CTL_BTL = 9; int CTL_RADIO = 10; void setup() { Serial.begin(9600); Serial.println("Audio selectro started....."); // Audio source selector indicator pinMode(RedLED, OUTPUT); pinMode(GreenLED, OUTPUT); pinMode(YellowLED, OUTPUT); // Tact switch pinMode(AUX, INPUT); pinMode(BTL, INPUT); pinMode(RADIO, INPUT); // Control line setting pinMode(CTL_AUX, OUTPUT); pinMode(CTL_BTL, OUTPUT); pinMode(CTL_RADIO, OUTPUT); for(int i=0;i<5;i++) { digitalWrite(RedLED, HIGH); delay(100); digitalWrite(RedLED, LOW); digitalWrite(GreenLED, HIGH); delay(100); digitalWrite(GreenLED, LOW); digitalWrite(YellowLED, HIGH); delay(100); digitalWrite(YellowLED, LOW); } // Initial status turn on all LEDs digitalWrite(RedLED, HIGH); digitalWrite(GreenLED, HIGH); digitalWrite(YellowLED, HIGH); // Initial control lines are low digitalWrite(CTL_AUX, LOW); digitalWrite(CTL_BTL, LOW); digitalWrite(CTL_RADIO, LOW); } void loop() { do { if (digitalRead(AUX) == HIGH) { delay(CHAT); if (digitalRead(AUX) == HIGH) { // Indicator LED control digitalWrite(RedLED, HIGH); digitalWrite(GreenLED, LOW); digitalWrite(YellowLED, LOW); // Aux channel selected digitalWrite(CTL_BTL, LOW); digitalWrite(CTL_RADIO, LOW); delay(1000); digitalWrite(CTL_AUX, HIGH); } } if (digitalRead(BTL) == HIGH) { delay(CHAT); if (digitalRead(BTL) == HIGH) { digitalWrite(RedLED, LOW); digitalWrite(GreenLED, HIGH); digitalWrite(YellowLED, LOW); } // Aux channel selected digitalWrite(CTL_AUX, LOW); delay(1000); digitalWrite(CTL_RADIO, LOW); delay(1000); digitalWrite(CTL_BTL, HIGH); } if (digitalRead(RADIO) == HIGH) { delay(CHAT); if (digitalRead(RADIO) == HIGH) { digitalWrite(RedLED, LOW); digitalWrite(GreenLED, LOW); digitalWrite(YellowLED, HIGH); } // Aux channel selected digitalWrite(CTL_AUX, LOW); delay(1000); digitalWrite(CTL_BTL, LOW); delay(1000); digitalWrite(CTL_RADIO, HIGH); } } while(1); }