Spedizione gratuita da 74,95 € NL (99,95 € BE/DE)

Consegna veloce con DHL

Ordinato prima delle XNUMX:XNUMX = Spedito oggi

Restituzione entro XNUMX giorni*


Paese

Raspberry Pi progetto: Magic 8 Ball

a questo Raspberry Pi progetto ne useremo uno Raspberry Pi e trasforma Sense HAT in una palla magica da 8!

 Questa guida trattava: 

  • accessori
  • Realizzazione di circuiti
  • Aggiorna e aggiorna
  • Crea nuovo file
  • Programmazione (versione testo)
  • Programmazione (SenseHat)
  • Scuotere
  • Principiante 40% 40%
  • 30 45-min 45% 45%
  • Costa € 146,15 55% 55%

Passaggio 2: creazione di un circuito

Per prima cosa collegheremo il Sense HAT al file Raspberry Pi. Puoi farlo rimuovendo le viti da sotto il Raspberry Pi e stringiamo i distanziatori, quindi colleghiamo l'intestazione GPIO a 40 pin a Raspberry Pi. Ora puoi collegare l'intestazione GPIO a 40 pin di Sense HAT. Quindi fissare il Sense HAT dall'alto avvitando le viti dall'alto attraverso il Sense HAT nei distanziatori. Dovrebbe sembrare come questo:

Immagine di un AstroPi

Passaggio 3: aggiornamento e upgrade

Innanzitutto, aggiorna e potenzia il tuo sistema inserendo i seguenti comandi in una finestra di terminale (mentre sei connesso a Internet):

sudo apt-get update
sudo apt-get upgrade

Ora installa i pacchetti software Sense HAT:

sudo apt-get install sense-hat
sudo pip-3.2 install pillow

Infine, riavvia il Raspberry Pi per completare l'installazione:

sudo reboot

Passaggio 4: crea un nuovo file

In questo progetto costruirai la tua Magic 8 Ball usando il tuo Raspberry Pi, un Sense HAT e del codice Python. Una Magic 8 Ball è un gioco in cui fai una domanda chiusa, la scuoti e ti dà una previsione.

Se non lo fai Raspberry Pi e disponi di Sense HAT, puoi utilizzare l'emulatore Sense HAT qui o utilizzare l'emulatore Sense HAT integrato per Windows in ogni passaggio di questo progetto.

Un ottimo modo per scrivere e testare il codice in modo intermittente è utilizzare IDLE 3, un'applicazione di sviluppo per Python. Scriverai il tuo codice in Python 3. 

Klik op Menu > Programmeren > Python 3 (IDLE)Zodra het Python-shellvenster is geladen,
klik je op Bestand en Nieuw bestand. Dit opent een teksteditorvenster waarin je je code kunt schrijven,
opslaan en testen. Sla het lege bestand op als magic8ball.py door te klikken op Bestand en Opslaan als.

Passaggio 5: programmazione (versione testo)

Un buon modo per avviare il tuo programma Magic 8 Ball è creare prima una versione testuale di un programma Magic 8 Ball. Pensiamo a cosa fa una Magic 8 Ball. Per prima cosa fai una domanda, scuoti la palla, girala e leggi una risposta scelta a caso. Ecco perché hai bisogno di un elenco di risposte e di un modo per sceglierne una a caso e visualizzarla sullo schermo.

Prima di tutto, devi importare la funzione di scelta dalla libreria casuale e la funzione di sonno dalla libreria temporale. Digita quanto segue nel file di testo magic8ball.py:

from random import choice
from time import sleep

Utilizzando la funzione di stampa è possibile stampare il testo sullo schermo per la persona che utilizza il programma. Tipo:

print("Stel een vraag")

Poi ci deve essere una pausa prima che il programma risponda con una risposta, permettendo all'utente di porre una domanda. Puoi utilizzare la libreria temporale per chiedere al programma di attendere un certo periodo di tempo, ad esempio in questo modo:

sleep(3)

Il programma verrà messo in pausa per tre secondi. È possibile regolare questo valore per aumentare o diminuire il tempo. Ora fai un elenco delle risposte che il programma può dare alla domanda. Le liste possono essere denominate allo stesso modo delle variabili; ad esempio, numero = [1, 2, 3, 4]. Questo elenco chiamato "numero" contiene quattro elementi. L'elenco conterrà stringhe di testo che verranno visualizzate sullo schermo. Questi testi saranno piuttosto lunghi. Per creare la tua lista, digita:

replies = ['Tekenen wijzen op ja',      
'Zonder twijfel',
'Je kunt erop vertrouwen',
'Reken er niet op',
'Het ziet er goed uit',
'Kan het nu niet voorspellen',
'Het is beslist zo',
'Outlook is niet zo goed'
]

Infine, è necessaria un'istruzione per selezionare casualmente un elemento dall'elenco e quindi visualizzarlo sullo schermo. Puoi utilizzare la libreria casuale per questo digitando:

print(choice(replies))

Salva il codice facendo clic su File e Salva. Quindi esegui il programma per verificare se funziona facendo clic su Esegui ed Esegui modulo. Dovresti vedere l'output "Fai una domanda" nella finestra della shell IDLE 3.

Passaggio 6: programmazione di Sense HAT

Ora che hai la stampa del testo nella finestra della shell Python 3 sullo schermo, modifichiamo il codice in modo che il testo scorra sulla matrice LED sul tuo Sense HAT. Per fare questo è necessario utilizzare la libreria Sense HAT e sostituire le funzioni di stampa con la funzione show_message di Sense HAT.

Nella sezione dei moduli importati, aggiungi le seguenti righe:

from sense_hat import SenseHatsense = SenseHat()

Quindi sostituisci "print" con "sense.show_message" nel tuo codice. Ci sono due posti in cui devi farlo. Salva il tuo programma premendo Ctrl + S sulla tastiera. Premi F5 per eseguire e testare il tuo programma. Potresti scoprire che il testo si sposta lentamente sulla matrice LED Raspberry Pi pergamene. Per far scorrere il testo più velocemente, puoi aggiungere "scroll_speed=(0.06)" alle stringhe di testo, in questo modo:

 

 

from sense_hat import SenseHat from random import choice from time import sleep sense = SenseHat() sense.show_message("Fai una domanda", scroll_speed=0.06) sleep(3) risposte = ['I segni indicano sì', 'Senza dubbio' , 'Puoi contarci', 'Non contarci', 'Sembra buono', 'Non posso prevederlo adesso', 'Lo è sicuramente', 'Il potenziale cliente non è così buono'] sense.show_message (scelta (risposte), scroll_speed=0.06)

Passaggio 7: agitare

Le tradizionali Magic 8 Ball richiedono che la persona che fa una domanda la agiti prima che venga data una risposta. Questo può essere simulato con un Sense HAT utilizzando l'accelerometro, che misura vibrazioni e movimento. Nella maggior parte degli smartphone si trovano accelerometri che cambiano l'orientamento dello schermo a seconda di come si tiene il dispositivo.

Usiamo l'accelerometro sul Sense HAT per rilevare eventuali cambiamenti nella quantità di forza g su ciascun asse (x, y e z) prima di eseguire la parte del programma che fornisce una risposta casuale all'utente.

while True:    
x, y, z = sense.get_accelerometer_raw().values()

x = abs(x)

y = abs(y)

z = abs(z)

Nota che le maiuscole e il rientro sono molto importanti in Python. Assicurati di utilizzare 4 spazi per rientrare dopo una riga con due punti. L'utilizzo degli addominali converte ogni numero in un numero positivo, il che significa che ignora la direzione della vibrazione e osserva la quantità di vibrazione! Ora è il momento di impostare una condizione nel nostro codice che controlli se gli assi x, y e z sono cambiati (cioè sono stati spostati) prima di selezionare una risposta casuale. Se non viene rilevato alcun movimento, non verrà data alcuna risposta.

if x > 2 or y > 2 or z > 2 :

sense.show_message(choice(replies))

else:

sense.clear()

Il programma verifica se gli assi x, yez sono maggiori del valore 2. Modificando questo valore è possibile regolare la sensibilità del programma al movimento. Se vuoi che qualcuno abbia il Raspberry Pi e Sense HAT deve essere agitato vigorosamente, utilizzare un valore più alto. Salva il tuo programma premendo Ctrl + S sulla tastiera. Premi F5 per eseguire e testare il tuo programma. Il tuo codice dovrebbe assomigliare a questo:

da sense_hat importa SenseHat da random import choice da time import sleep sense = SenseHat() sense.show_message("fai una domanda", scroll_speed=0.08) sleep(3) risposte = ["SI!", "No", "Forse" , "Certamente!", "Certamente no!", ] while True: x, y, z = sense.get_accelerometer_raw().values() x = abs(x) y = abs(y) z = abs(z) if x > 2 o y > 2 o z > 2 : sense.show_message(choice(replies)) else: sense.clear()


E questo è tutto! Non ha funzionato? Dai un'occhiata ai passaggi precedenti per vedere cosa è andato storto. Ha funzionato? Allora dai un'occhiata ai nostri progetti!

L'apprezzamento di www.electronicsvoorjou.nl at Recensioni WebwinkelKeur è 9.3 / 10 basato su 5040 recensioni.