Интерактивная игра с джойстиком и LED-обратной связью на Arduino
Компоненты и материалы
- Arduino UNO — 1 шт.
- Аналоговый джойстик (generic) — 1 шт.
- Светодиод — 5 шт. (4 направления + кнопка)
- Макетная плата, перемычки, USB-кабель
О проекте
Джойстик выдаёт аналоговые значения по осям X (A0) и Y (A1) в диапазоне 0–1023. Кнопка джойстика подключена к D2 (внутренний подтягивающий резистор). Arduino читает значения и зажигает соответствующий светодиод:
- Влево (X ≈ 0) → LED на D10
- Вправо (X ≈ 1023) → LED на D9
- Вверх (Y ≈ 1023) → LED на D8
- Вниз (Y ≈ 0) → LED на D11
- Кнопка нажата → LED на D7
Код
#define joyX A0
#define joyY A1
#define BTN 2
int ledLeft = 10, ledRight = 9, ledUp = 8, ledDown = 11, ledBtn = 7;
void setup() {
pinMode(BTN, INPUT_PULLUP);
pinMode(ledLeft, OUTPUT);
pinMode(ledRight, OUTPUT);
pinMode(ledUp, OUTPUT);
pinMode(ledDown, OUTPUT);
pinMode(ledBtn, OUTPUT);
Serial.begin(9600);
}
void loop() {
int x = analogRead(joyX);
int y = analogRead(joyY);
int btn = digitalRead(BTN);
Serial.print(x); Serial.print("\t"); Serial.println(y);
digitalWrite(ledLeft, (x <= 10) ? HIGH : LOW);
digitalWrite(ledRight, (x >= 1013) ? HIGH : LOW);
digitalWrite(ledUp, (y >= 1013) ? HIGH : LOW);
digitalWrite(ledDown, (y <= 10) ? HIGH : LOW);
digitalWrite(ledBtn, (btn == LOW) ? HIGH : LOW);
delay(100);
}
Пороговые значения (10 / 1013) дают мёртвую зону у центра. Подстройте под свой джойстик.
Схема
Джойстик: VCC → 5V, GND → GND, VRx → A0, VRy → A1, SW → D2. Светодиоды через резисторы 220–330 Ом на соответствующие пины.
Производственный процесс
- Шахматы: от древних корней к современному производству — экспертный обзор
- Пинбол: история, дизайн и производство классической аркадной игры
- Футбольный мяч: от древних игр к современным инновациям
- Эволюция и мастерство американского футбольного мяча: от древних игр к современным стандартам НФЛ
- Создание игры в реальном времени на Arduino Nano с гироскопом MPU-6050 и OLED-дисплеем
- Игра «UFO Attack» на Arduino UNO и матрице MAX7219 — Собираем аркаду с джойстиком Atari
- Создание рулетки на 37 светодиодов с Arduino Nano
- 3D RGB Arduclock — Bluetooth-часы на адресных LED с RTC
- Мониторинг состояния реки: Arduino-система контроля качества воды
- Строим Iron Man на Arduino: компоненты, сенсоры и пошаговый гайд