.. note:: Ciao, benvenuto nella Community SunFounder Raspberry Pi & Arduino & ESP32 su Facebook! Approfondisci le tue conoscenze su Raspberry Pi, Arduino e ESP32 insieme ad altri appassionati. **Perché unirsi a noi?** - **Supporto esperto**: Risolvi i problemi post-vendita e le sfide tecniche con l'aiuto della nostra community e del nostro team. - **Impara e condividi**: Scambia suggerimenti e tutorial per migliorare le tue competenze. - **Anteprime esclusive**: Accedi in anteprima agli annunci dei nuovi prodotti e alle anticipazioni. - **Sconti speciali**: Approfitta di sconti esclusivi sui nostri prodotti più recenti. - **Promozioni festive e giveaway**: Partecipa a giveaway e promozioni festive. 👉 Sei pronto a esplorare e creare con noi? Clicca su [|link_sf_facebook|] e unisciti oggi stesso! .. _per_reaction_game: 2.13 Gioco di Reazione =========================== In questo progetto, utilizziamo diversi pulsanti, un cicalino e LED per creare un gioco di reazione. Premi il pulsante del giudice per iniziare il gioco, il cicalino suonerà continuamente per indicare che il gioco è in corso; premi rapidamente i due pulsanti dei giocatori rispettivamente; quando il pulsante del giudice viene premuto nuovamente, il gioco termina e il cicalino smette di funzionare. A questo punto, guarda la CONSOLE su Piper Make per vedere chi ha la mano più veloce. **Componenti necessari** In questo progetto, abbiamo bisogno dei seguenti componenti. È sicuramente conveniente acquistare un kit completo, ecco il link: .. list-table:: :widths: 20 20 20 :header-rows: 1 * - Nome - ELEMENTI IN QUESTO KIT - LINK * - Kepler Kit - 450+ - |link_kepler_kit| Puoi anche acquistarli separatamente dai link qui sotto. .. list-table:: :widths: 5 20 5 20 :header-rows: 1 * - SN - COMPONENTE - QUANTITÀ - LINK * - 1 - :ref:`cpn_pico_w` - 1 - |link_picow_buy| * - 2 - Cavo Micro USB - 1 - * - 3 - :ref:`cpn_breadboard` - 1 - |link_breadboard_buy| * - 4 - :ref:`cpn_wire` - Diversi - |link_wires_buy| * - 5 - :ref:`cpn_transistor` - 1(S8050) - |link_transistor_buy| * - 6 - :ref:`cpn_resistor` - 6(2-220Ω, 1-1KΩ, 3-10KΩ) - |link_resistor_buy| * - 7 - Cicalino attivo :ref:`cpn_buzzer` - 1 - * - 8 - :ref:`cpn_button` - 3 - |link_button_buy| * - 9 - :ref:`cpn_led` - 2 - |link_led_buy| **Cablaggio** |button_race0| * Definisci 2 pulsanti come giocatore1 (GP14) e giocatore2 (GP12), entrambi collegati a una resistenza di pull-up. Quando i pulsanti vengono premuti, GP14 e GP12 sono entrambi a livello basso. * Le loro spie sono collegate a GP15 e GP13, e emettono un segnale alto per accenderle. * Definisci un pulsante giudice collegato a GP10, quando il pulsante viene premuto, GP10 va a livello basso. * Il cicalino attivo è collegato a GP11, quando GP11 emette un segnale alto, il cicalino suona. **Codice** .. note:: * Puoi fare riferimento all'immagine sottostante per scrivere il codice trascinando e rilasciando. * Importa ``2.13_reaction_game.png`` dal percorso ``kepler-kit-main\piper``. Per tutorial dettagliati, fai riferimento a :ref:`import_code_piper`. |button_race| * Dopo aver collegato Pico W, fai clic sul pulsante **Start** e il codice inizierà a funzionare. * Premi il pulsante del giudice e il cicalino inizia a suonare (continuamente), indicando l'inizio del gioco. * A questo punto, premi separatamente e rapidamente i pulsanti dei **giocatori** e i LED corrispondenti si accenderanno. * Quando il pulsante del **giudice** viene premuto di nuovo, il cicalino smette di suonare, il che significa che il gioco è terminato. * Clicca su CONSOLE a questo punto per vedere chi ha premuto più volte. **Come funziona?** |button_race1| GP10 è il pulsante del giudice, quando il pulsante del giudice non è premuto è a livello alto, il gioco non è ancora iniziato. Quando GP10 è a livello basso (pulsante del giudice premuto), il gioco inizia; imposta GP11 su livello alto (cicalino), crea variabili e imposta i valori iniziali. |button_race2| Quando il flag è impostato su 1 per l'inizio del gioco, leggi il valore di GP14 (giocatore1); se il pulsante del giocatore1 è premuto, memorizza il numero di pressioni nella variabile [count1] e fai accendere la spia di GP15. |button_race3| Leggi il numero di pressioni di GP12 (giocatore2) nello stesso modo. |button_race4| Stampa il numero di pressioni per giocatore1 e giocatore2 rispettivamente. |button_race5| Quando il pulsante del giudice viene premuto di nuovo, il cicalino smette di funzionare e il gioco termina.