Nota

Ciao, benvenuto nella community SunFounder per appassionati di Raspberry Pi, Arduino ed ESP32 su Facebook! Approfondisci le tue conoscenze su Raspberry Pi, Arduino ed ESP32 insieme ad altri appassionati.

Perché unirti a noi?

  • Supporto Esperto: Risolvi problemi post-vendita e sfide tecniche con l’aiuto della nostra comunità e del nostro team.

  • Impara e Condividi: Scambia suggerimenti e tutorial per migliorare le tue competenze.

  • Anteprime Esclusive: Ottieni accesso anticipato agli annunci di nuovi prodotti e anteprime.

  • Sconti Esclusivi: Approfitta di sconti esclusivi sui nostri prodotti più recenti.

  • Promozioni Festive e Omaggi: Partecipa a omaggi e promozioni durante le festività.

👉 Sei pronto a esplorare e creare con noi? Clicca su [qui] e unisciti oggi stesso!

2.18 GIOCO - Non Toccare la Piastrella Bianca

Sono sicuro che molti di voi abbiano già giocato a questo gioco sui vostri telefoni. Si gioca toccando le piastrelle nere che appaiono casualmente per aggiungere punti; la velocità aumenterà sempre di più e, se si toccano le piastrelle bianche o si mancano quelle nere, il gioco termina.

Ora utilizziamo PictoBlox per replicarlo.

Inserisci due moduli di evitamento ostacoli IR verticalmente sulla breadboard. Quando la tua mano viene posizionata sopra uno dei moduli IR, apparirà un punto lampeggiante sul palco, che rappresenta un tocco effettuato.

Se il tocco avviene sulla piastrella nera, il punteggio aumenta di 1, se tocca la piastrella bianca, il punteggio diminuisce di 1.

Devi decidere se posizionare la mano sopra il modulo IR a sinistra o sopra quello a destra, a seconda della posizione della piastrella nera sul palco.

../_images/21_tile.png

Componenti Necessari

In questo progetto, avremo bisogno dei seguenti componenti.

È sicuramente conveniente acquistare un kit completo, ecco il link:

Nome

ELEMENTI IN QUESTO KIT

LINK

ESP32 Starter Kit

320+

ESP32 Starter Kit

Puoi anche acquistare i componenti separatamente dai link qui sotto.

INTRODUZIONE AI COMPONENTI

LINK PER L’ACQUISTO

ESP32 Scheda

ACQUISTA

Estensione Fotocamera ESP32

ACQUISTA

Breadboard

ACQUISTA

Cavi Jumper

ACQUISTA

Modulo di Evitamento Ostacoli

ACQUISTA

Costruire il Circuito

Il modulo di evitamento ostacoli è un sensore di prossimità a infrarossi con distanza regolabile, il cui output è normalmente alto e basso quando viene rilevato un ostacolo.

Ora costruisci il circuito secondo lo schema seguente.

../_images/19_tap_tile_bb.png

Programmazione

Qui abbiamo bisogno di 3 sprite, Tile , Left IR e Right IR.

  • Sprite Tile: utilizzato per ottenere l’effetto di piastrelle nere e bianche che scendono alternativamente, su un cellulare questo gioco ha generalmente 4 colonne, qui ne facciamo solo due.

  • Sprite Left IR: utilizzato per ottenere l’effetto di clic, quando il modulo IR sinistro rileva la tua mano, invia un messaggio - left allo sprite Left IR, che inizia a funzionare. Se tocca la piastrella nera sul palco, il punteggio aumenta di 1, altrimenti diminuisce di 1.

  • Sprite Right IR: la funzione è sostanzialmente la stessa di Left IR, tranne per il fatto che riceve informazioni Right.

1. Disegna uno sprite Tile.

Elimina lo sprite predefinito, passa con il mouse sopra l’icona Aggiungi Sprite, seleziona Disegna e apparirà uno sprite vuoto chiamato Tile.

../_images/21_tile1.png

Vai alla pagina Costumi e utilizza lo strumento Rettangolo per disegnare un rettangolo.

../_images/21_tile2.png

Seleziona il rettangolo e fai clic su Copia -> Incolla per creare un rettangolo identico, quindi sposta i due rettangoli in posizione allineata.

../_images/21_tile01.png

Seleziona uno dei rettangoli e scegli un colore di riempimento nero.

../_images/21_tile02.png

Ora seleziona entrambi i rettangoli e spostali in modo che i loro punti centrali corrispondano al centro del canvas.

../_images/21_tile0.png

Duplica il costume1, alternando i colori di riempimento dei due rettangoli. Ad esempio, il colore di riempimento del costume1 è bianco a sinistra e nero a destra, e il colore di riempimento del costume2 è nero a sinistra e bianco a destra.

../_images/21_tile3.png

2. Scrivere lo script per lo sprite Tile

Ora torna alla pagina Blocchi e imposta la posizione iniziale dello sprite Tile in modo che si trovi nella parte superiore del palco.

../_images/21_tile4.png

Crea una variabile - blocks e assegnagli un valore iniziale per determinare il numero di volte in cui lo sprite Tile apparirà. Utilizza il blocco [ripeti fino a] per far diminuire gradualmente la variabile blocks fino a che blocks è 0. Durante questo tempo, fai in modo che lo sprite Tile cambi costume in modo casuale.

Dopo aver cliccato sulla bandiera verde, vedrai lo sprite Tile sul palco cambiare costume rapidamente.

../_images/21_tile5.png

Crea cloni dello sprite Tile mentre la variabile blocks diminuisce, e interrompi l’esecuzione dello script quando blocks è 0. Qui vengono utilizzati due blocchi [attendi () secondi], il primo per limitare l’intervallo tra i cloni di Tile e il secondo per far diminuire la variabile blocks fino a 0 senza interrompere immediatamente il programma, dando all’ultimo sprite tile abbastanza tempo per muoversi.

../_images/21_tile6.png

Ora script il clone dello sprite Tile per farlo muovere lentamente verso il basso e cancellarlo quando raggiunge il fondo del palco. La variazione della coordinata y influenza la velocità di caduta, maggiore è il valore, più veloce sarà la velocità di caduta.

../_images/21_tile7.png

Nascondi il corpo e mostra il clone.

../_images/21_tile8.png

3. Leggere i valori dei 2 moduli IR

Nello sfondo, leggi i valori dei 2 moduli IR e esegui le azioni corrispondenti.

  • Se il modulo IR sinistro rileva la tua mano, trasmetti un messaggio - left.

  • Se il modulo IR destro rileva la tua mano, trasmetti un messaggio - right.

../_images/21_tile9.png

4. Sprite Left IR

Ancora una volta, passa con il mouse sopra l’icona Aggiungi sprite e seleziona Disegna per creare un nuovo sprite chiamato Left IR.

../_images/21_tile10.png

Vai alla pagina Costumi dello sprite Left IR, seleziona il colore di riempimento (qualsiasi colore diverso dal nero e dal bianco) e disegna un cerchio.

../_images/21_tile11.png

Ora inizia a scrivere lo script per lo sprite Left IR. Quando viene ricevuto il messaggio - left (il modulo IR ricevitore sinistro rileva un ostacolo), determina se il blocco nero dello sprite Tile viene toccato, e se lo è, lascia che la variabile count aumenti di 1, altrimenti diminuisce di 1.

../_images/21_tile12.png

Nota

Devi fare in modo che lo sprite Tile appaia sul palco e poi assorba il colore del blocco nero nello sprite Tile.

../_images/21_tile13.png

Ora realizziamo l’effetto di rilevamento (zoom in e out) per Left IR.

../_images/21_tile14.png

Fai nascondere lo sprite Left IR quando viene cliccata la bandiera verde, mostralo quando viene ricevuto il messaggio - left e infine nascondilo di nuovo.

../_images/21_tile15.png

5. Sprite Right IR

Copia lo sprite Left IR e rinominalo in Right IR.

../_images/21_tile16.png

Poi cambia il messaggio ricevuto in - right.

../_images/21_tile17.png

Ora tutto lo scripting è terminato e puoi cliccare sulla bandiera verde per eseguire lo script.