// Объявляем переменные для управления цветными светодиодами
int green = 5;
int yellow = 6;
int blue = 7;
int white = 8;
void setup() {
// Инициализируем последовательный порт для вывода отладочной информации
Serial.begin(9600);
// Настраиваем выводы светодиодов как выходные
pinMode(green, OUTPUT);
pinMode(yellow, OUTPUT);
pinMode(blue, OUTPUT);
pinMode(white, OUTPUT);
// Выключаем все светодиоды
digitalWrite(green, LOW);
digitalWrite(yellow, LOW);
digitalWrite(blue, LOW);
digitalWrite(white, LOW);
}
void loop() {
// Проверяем состояние аналогового входа A0 (ось Y)
if (analogRead(A0) > 1000) // Верхнее положение
{
Serial.println("TOP");
// Включаем зеленый светодиод, остальные выключены
digitalWrite(green, HIGH);
digitalWrite(yellow, LOW);
digitalWrite(blue, LOW);
digitalWrite(white, LOW);
}
if (analogRead(A0) == 0) // Нижнее положение
{
Serial.println("BOTTOM");
// Включаем желтый светодиод, остальные выключены
digitalWrite(green, LOW);
digitalWrite(yellow, HIGH);
digitalWrite(blue, LOW);
digitalWrite(white, LOW);
}
// Проверяем состояние аналогового входа A1 (ось X)
if (analogRead(A1) > 1000) // Левое положение
{
Serial.println("LEFT");
// Включаем синий светодиод, остальные выключены
digitalWrite(green, LOW);
digitalWrite(yellow, LOW);
digitalWrite(blue, HIGH);
digitalWrite(white, LOW);
}
if (analogRead(A1) == 0) // Правое положение
{
Serial.println("RIGHT");
// Включаем белый светодиод, остальные выключены
digitalWrite(green, LOW);
digitalWrite(yellow, LOW);
digitalWrite(blue, LOW);
digitalWrite(white, HIGH);
}
// Проверяем состояние аналогового входа A2 (кнопка)
if (analogRead(A2) == 0) // Кнопка нажата
{
Serial.println("BUTTON PRESSED");
// Включаем все светодиоды
digitalWrite(green, HIGH);
digitalWrite(yellow, HIGH);
digitalWrite(blue, HIGH);
digitalWrite(white, HIGH);
}
else // Кнопка не нажата
{
Serial.println("-------------");
// Выключаем все светодиоды
digitalWrite(green, LOW);
digitalWrite(yellow, LOW);
digitalWrite(blue, LOW);
digitalWrite(white, LOW);
}
// Небольшая задержка, чтобы не перегружать процессор
delay(10);
}