int receiverSignal = 2; // Digital pin for pwm signal
int strobeWhiteLedTail = 3; // Digital pin for strobe wing lights
int redLedWingLeft = 4; // Digital pin for red position light
int greenLedWingRight = 5; // Digital pin for green position light
int redBeaconMiddleLed = 6; // Digital pin for tail lights (blink)
int whiteLandingLeds = 7; // Digital pin for landing lights (continuous)
int potPin = A0; // for potentiometer
void setup() {
Serial.begin(9600);
pinMode(receiverSignal, INPUT);
pinMode(redBeaconMiddleLed, OUTPUT);
pinMode(strobeWhiteLedTail, OUTPUT);
pinMode(redLedWingLeft, OUTPUT);
pinMode(greenLedWingRight, OUTPUT);
pinMode(whiteLandingLeds, OUTPUT);
pinMode(potPin, INPUT);
}
void loop() {
//int pwm = pulseIn(receiverSignal, HIGH, 25000); // Read PWM signal with a timeout of 25ms
int pwm = analogRead(potPin); // Read PWM signal from potentiometer
pwm = map(pwm, 0, 1023, 0, 1900); // Map potentiometer value to desired range
Serial.println(pwm);
// Lights ON mode
if (pwm > 1100 && pwm < 1700) {
digitalWrite(whiteLandingLeds, LOW);
digitalWrite(redLedWingLeft, HIGH);
digitalWrite(greenLedWingRight, HIGH);
digitalWrite(redBeaconMiddleLed, HIGH);
delay(100);
digitalWrite(redBeaconMiddleLed, LOW);
delay(150);
digitalWrite(strobeWhiteLedTail, HIGH);
delay(100);
digitalWrite(strobeWhiteLedTail, LOW);
// delay(100);
// digitalWrite(strobeWhiteLedTail, HIGH);
// delay(100);
// digitalWrite(strobeWhiteLedTail, LOW);
delay(1000);
} else if (pwm >= 1700) {
// Landing Lights mode
digitalWrite(whiteLandingLeds, HIGH);
digitalWrite(redLedWingLeft, HIGH);
digitalWrite(greenLedWingRight, HIGH);
digitalWrite(redBeaconMiddleLed, HIGH);
delay(100);
digitalWrite(redBeaconMiddleLed, LOW);
delay(150);
digitalWrite(strobeWhiteLedTail, HIGH);
delay(100);
digitalWrite(strobeWhiteLedTail, LOW);
// delay(100);
// digitalWrite(strobeWhiteLedTail, HIGH);
// delay(100);
// digitalWrite(strobeWhiteLedTail, LOW);
delay(1000);
} else {
// Lights OFF mode
digitalWrite(redBeaconMiddleLed, LOW);
digitalWrite(strobeWhiteLedTail, LOW);
digitalWrite(redLedWingLeft, LOW);
digitalWrite(greenLedWingRight, LOW);;
digitalWrite(whiteLandingLeds, LOW);
}
}