Nota

Ciao, benvenuto nella SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasts Community su Facebook! Approfondisci 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 speciali: Approfitta di sconti esclusivi sui nostri prodotti più recenti.

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

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

2.15 GIOCO - Flappy Parrot

In questo progetto, utilizzeremo il modulo a ultrasuoni per giocare a Flappy Parrot.

Dopo l’avvio dello script, il bambù verde si muoverà lentamente da destra a sinistra ad un’altezza casuale. Ora posiziona la mano sopra il modulo a ultrasuoni; se la distanza tra la mano e il modulo è inferiore a 10 cm, il pappagallo volerà verso l’alto, altrimenti cadrà verso il basso. Devi controllare la distanza tra la tua mano e il modulo a ultrasuoni in modo che il pappagallo possa evitare il bambù verde (Paddle); se lo tocca, il gioco finisce.

../_images/15_parrot.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

Cavi Jumper

ACQUISTA

Modulo Ultrasonico

ACQUISTA

Costruire il Circuito

Un modulo sensore a ultrasuoni è uno strumento che misura la distanza da un oggetto utilizzando onde sonore ultrasoniche. Ha due sonde: una per inviare le onde ultrasoniche e l’altra per riceverle e trasformare il tempo di invio e ricezione in una distanza, rilevando così la distanza tra il dispositivo e un ostacolo.

Ora costruisci il circuito secondo il diagramma seguente.

../_images/16_flappy_parrot_bb.png

Programmazione

L’effetto che vogliamo ottenere è utilizzare il modulo a ultrasuoni per controllare l’altezza di volo della sprite Parrot, evitando allo stesso tempo la sprite Paddle.

1. Aggiungere una sprite

Elimina la sprite predefinita e usa il pulsante Scegli una Sprite per aggiungere la sprite Parrot. Imposta la sua dimensione al 50% e spostala nella posizione in basso a sinistra.

../_images/15_sprite.png

Ora aggiungi la sprite Paddle, imposta la sua dimensione al 150%, imposta l’angolo a 180 e sposta la sua posizione iniziale nell’angolo in alto a destra.

../_images/15_sprite1.png

Vai alla pagina Costumi della sprite Paddle e rimuovi il contorno.

../_images/15_sprite2.png

2. Script per la Sprite Parrot

Ora crea lo script per la sprite Parrot, che sarà in volo e l’altitudine di volo sarà determinata dalla distanza rilevata dal modulo a ultrasuoni.

  • Quando si clicca sulla bandiera verde, cambia costume ogni 0,2 secondi in modo che sia sempre in volo.

../_images/15_parr1.png
  • Leggi il valore del modulo a ultrasuoni e memorizzalo nella variabile distance dopo averlo arrotondato con il blocco [round].

../_images/15_parr2.png
  • Se la distanza di rilevamento degli ultrasuoni è inferiore a 10 cm, aumenta la coordinata y di 50; la sprite Parrot volerà verso l’alto. Altrimenti, il valore della coordinata y verrà diminuito di 40, e Parrot cadrà verso il basso.

../_images/15_parr3.png
  • Se la sprite Parrot tocca la sprite Paddle, il gioco finisce e lo script smette di funzionare.

../_images/15_parr4.png

3. Script per la sprite Paddle

Ora scrivi lo script per la sprite Paddle, che deve apparire casualmente sul palco.

  • Nascondi la sprite Paddle quando si clicca sulla bandiera verde e clona se stessa allo stesso tempo. Il blocco [create clone of] è un blocco di controllo e un blocco stack. Crea un clone della sprite nell’argomento. Può anche clonare la sprite in cui è in esecuzione, creando cloni di cloni, ricorsivamente.

../_images/15_padd.png
  • Quando Paddle è presentata come clone, la sua posizione è 220 (massima a destra) per la coordinata x e la sua coordinata y è casuale tra (-125 e 125) (altezza casuale).

../_images/15_padd1.png
  • Usa il blocco [ripeti] per far sì che il valore della sua coordinata x diminuisca lentamente, così potrai vedere il clone della sprite Paddle muoversi lentamente da destra a sinistra fino a scomparire.

../_images/15_padd2.png
  • Clona nuovamente una nuova sprite Paddle ed elimina il clone precedente.

../_images/15_padd3.png