// Піни для світлодіодів
const int redPin = 12;
const int yellowPin = 11;
const int greenPin = 10;
// Піни для датчиків
const int sensorPin1 = A0;
const int sensorPin2 = A1;
const int sensorPin3 = A2;
const int sensorPin4 = A3;
const int sensorPin5 = A4;
// Пін для датчика руху
const int pirPin = 2;
void setup() {
Serial.begin(115200);
pinMode(redPin, OUTPUT);
pinMode(yellowPin, OUTPUT);
pinMode(greenPin, OUTPUT);
pinMode(sensorPin1, INPUT);
pinMode(sensorPin2, INPUT);
pinMode(sensorPin3, INPUT);
pinMode(sensorPin4, INPUT);
pinMode(sensorPin5, INPUT);
pinMode(pirPin, INPUT);
}
void loop() {
// Перевірка стану датчика руху
if (digitalRead(pirPin) == HIGH) {
// Червоний світлодіод
digitalWrite(redPin, HIGH);
digitalWrite(yellowPin, LOW);
digitalWrite(greenPin, LOW);
} else {
// Перевірка стану інших датчиків
if (digitalRead(sensorPin1) == HIGH) {
// Жовтий світлодіод
digitalWrite(redPin, LOW);
digitalWrite(yellowPin, HIGH);
digitalWrite(greenPin, LOW);
} else if (digitalRead(sensorPin2) == HIGH) {
// Зелений світлодіод
digitalWrite(redPin, LOW);
digitalWrite(yellowPin, LOW);
digitalWrite(greenPin, HIGH);
} else if (digitalRead(sensorPin3) == HIGH) {
// Жовтий світлодіод (мигання перед переходом до червоного)
digitalWrite(redPin, LOW);
digitalWrite(yellowPin, HIGH);
digitalWrite(greenPin, LOW);
delay(1000);
digitalWrite(yellowPin, LOW);
delay(1000);
} else if (digitalRead(sensorPin4) == HIGH) {
// Вимкнення світлодіодів
digitalWrite(redPin, LOW);
digitalWrite(yellowPin, LOW);
digitalWrite(greenPin, LOW);
} else if (digitalRead(sensorPin5) == HIGH) {
// Вимкнення світлодіодів
digitalWrite(redPin, LOW);
digitalWrite(yellowPin, LOW);
digitalWrite(greenPin, LOW);
}
}
int sensorValue = analogRead(A1);
Serial.println(sensorValue);
delay(100);
}