TwangLEDGAME/docs/HARDWARE.md

33 lines
1.4 KiB
Markdown

# Hardware e collegamenti
- Alimenta la strip WS2812B **con 5V dedicati** (non dal solo 5V USB se > 60 LED). Unisci i GND.
- Inserisci **resistenza 330-470 Ω** in serie sul DATA verso la strip e **condensatore 1000 µF/6.3V** tra 5V e GND vicino alla strip.
- Il progetto usa `NeoPixelBus` per il controllo LED sull'ESP32. Vedi `src/hardware/LedController.h` per le impostazioni (pin, ordine colori).
- Bottoni verso GND, pin configurati con `INPUT_PULLUP`.
- Buzzer passivo sul GPIO 18 (PWM via `ledc`).
## Mappatura pin (fonte: `src/config.h`)
Usa `src/config.h` come fonte di verità per i pin. La mappatura corrente nel codice è:
- `NUM_LEDS` = 144 — numero di LED della striscia
- `DATA_PIN` = GPIO 23 — pin dati per la ledstrip WS2812B (NeoPixel)
Bottoni (collegati a GND, usati con INPUT_PULLUP):
- `BUTTON_LEFT` = GPIO 15 — pulsante Sinistra
- `BUTTON_RIGHT` = GPIO 2 — pulsante Destra (attenzione: GPIO2 può influire sul boot su alcune board)
- `BUTTON_ATTACK` = GPIO 4 — pulsante Attacco (wobble)
- `BUTTON_START` = GPIO 5 — pulsante Start (genera `startPressedEdge`)
Audio / buzzer:
- `BUZZER_PIN` = GPIO 18 — buzzer passivo (gestito via ledc PWM)
LED Vita (opzionali, definiti ma non obbligatori):
- `LIFE_LED_1` = GPIO 19
- `LIFE_LED_2` = GPIO 21
- `LIFE_LED_3` = GPIO 22
Se vuoi cambiare i pin, modifica `src/config.h` e aggiorna eventuale cablaggio hardware; la documentazione qui deve rimanere sincronizzata con quel file.