# 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.