const int pins[] = { 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 };
const int joystickPin = 28; // Пін, на якому підключений джойстик
int counter = 0;
void setup() {
for (int i = 0; i < 10; i++) {
pinMode(pins[i], OUTPUT);
}
}
void loop() {
// Отримуємо значення з джойстика
int joystickValue = analogRead(joystickPin);
// Вираховуємо горизонтальну компоненту значення джойстика та масштабуємо її до діапазону 0-1023
int horizontalValue = map(joystickValue % 1024, 0, 1023, 0, 1023);
// Встановлюємо лічильник на основі горизонтальної компоненти значення джойстика
counter = horizontalValue;
// Виводимо значення counter на стовпчиковий індикатор
for (int i = 0; i < 10; i++) {
digitalWrite(pins[i], i < (counter / 102) ? HIGH : LOW);
}
// Затримка залежить від положення джойстика
int delayTime = map(horizontalValue, 0, 1023, 200, 20); // Чим менше значення, тим швидше відображення
delay(delayTime);
}