In questo tutorial, ti mostrerò come installare il pacchetto di espansione ScratchGPIO, come assemblare una breadboard con LED e pulsanti ed eseguire un semplice gioco Scratch che utilizza i LED ei pulsanti breadboard per giocare.
Con l'enfasi del Raspberry Pi sull'educazione, è perfettamente logico che Scratch sia preinstallato nella build di default di Raspbian e sia disponibile come icona sul desktop.
Simon Walters, @cymplecy su Twitter, ha creato un'espansione per Scratch che consente al programma di leggere e scrivere lo stato dei pin GPIO di Raspberry Pi. Simon fa un blog sulla sua creazione, ScratchGPIO su Cymplecy e continua a mantenerlo sul suo repository github.
La breadboard ospiterà i LED e i pulsanti con cui ScratchGPIO interagirà. I LED necessitano di un resistore di limitazione di corrente di 220 OHM e i pulsanti necessitano dei resistori da 1K OHM per garantire che i pin non passino troppa corrente.
Utilizzando l'immagine in basso, impostare la breadboard ei ponticelli sui pin GPIO mostrati nel diagramma. I numeri di pin utilizzati dal modulo GPIO e dal codice Scratch sono i numeri di pin fisici non GPIO o numeri logici. Fare riferimento alle immagini sulla pagina delle periferiche a basso livello di RPi per identificare i numeri dei pin.
Esistono diverse guide all'acquisto e all'installazione di un sistema operativo sul tuo Raspberry Pi. Installa il più recente sistema operativo Raspbian. Una volta configurato Raspberry Pi e avviato al desktop grafico, passare al passaggio successivo.
Il software ScratchGPIO non cambia o sostituisce zero, aggiunge una serie di script python che si integrano con Scratch e aggiungono la possibilità di controllare e leggere i pin GPIO a livello hardware. Scratch continuerà a funzionare normalmente dopo l'installazione.
Ci sarà, tuttavia, una nuova icona sul desktop grafico del Raspberry Pi che lancerà insieme gli script di supporto GPIO e Scratch. L'installer è semplice e facile da usare. Seguire le istruzioni di seguito per scaricare e installare il pacchetto ScratchGPIO.
wget https://raw.github.com/cymplecy/scratch_gpio/master/install_scratchgpio4.sh -O isgh.sh sudo sh isgh.sh
L'argomento di scrivere i programmi Scratch è profondo e ampio. Questo tutorial non tratta i dettagli della programmazione di Scratch, ma il sito Web di Scratch fa un ottimo lavoro con l'introduzione e l'insegnamento di Scratch se vuoi saperne di più.
Nei passaggi sottostanti potrai scaricare ed eseguire un gioco scratch che sfrutta le estensioni GPIO e la configurazione breadboard che hai creato. Il gioco imposta i pin di uscita 11, 12 e 13 alti per accendere i LED e mostrare la salute dell'eroe del gioco, Cat.
Man mano che Cat perde la salute, i LED vengono spenti uno alla volta finché non sono tutti bui e il gioco è finito. Durante il gioco, il programma controlla lo stato dei pin di ingresso 3 e 5 e quando i pin sono bassi, o messi a terra, Cat si muove su e giù per cercare di evitare l'avversario in carica, Rex.
Mentre giochi, vedrai come i tre LED sulla breadboard riflettono il livello di salute di Cat e che i pulsanti spostano effettivamente Cat su e giù. Indicheremo i bit di codice che interagiscono con i pin Pi GPIO, di seguito. Per riferimento è possibile trovare la documentazione completa sul pacchetto ScratchGPIO sul blog degli autori.
I LED sono alimentati quando i pin a cui sono collegati sono alti o accesi. Il LED si illuminerà e il resistore impedirà il passaggio di troppa corrente. Clicca sul Palcoscenico icona nel pannello in basso a sinistra della finestra Scratch. Questo porterà lo script per l'oggetto stage nell'editor al centro della finestra.
Il frammento di codice seguente è il LED e la procedura di gestione della salute. Quando il blocco di codice riceve il UpdateHealth messaggio di trasmissione, valuta la variabile di salute e imposta i pin bassi quando la salute è persa.
I pulsanti temporanei collegano i pin 3 e 5 alla messa a terra attraverso il resistore limitatore di corrente quando vengono premuti. Il Raspberry Pi quindi riconosce il pin come basso o 0 in Scratch. Clicca sul gatto icona nel riquadro in basso a destra della finestra per portare il codice nel riquadro centrale.
Nel blocco di codice superiore, dopo alcune operazioni di configurazione, i loop di codice controllano lo stato dei pin 3 e 5. Quando uno dei due viene rilevato come basso o 0, il messaggio su o giù è inviato. Più in basso nel gatto gli script sono blocchi di codice che ricevono i messaggi direzionali e spostano lo sprite stesso.
Il mio punteggio più alto era 34. Vedi se riesci a batterlo!
Scratch è una struttura di programmazione molto accessibile e facile da apprendere sia per i bambini piccoli che per gli adulti. La sua stretta associazione con il Raspberry Pi e la sua enfasi educativa è stata una partita perfetta. Il progetto ScratchGPIO porta a Scratch il controllo e la rilevazione dei pin GPIO di basso livello di Pi in un modo molto potente. L'autore continua a migliorare il pacchetto per supportare schermi LCD, motori, componenti bussola, sensori di distanza e altri componenti elettronici e robotici.
Il livello di controllo hardware offerto dal pacchetto ScratchGPIO consente anche ai programmatori principianti di interagire con il mondo fisico con un framework di programmazione semplice e familiare.
Seguendo questo tutorial hai imparato come installare il pacchetto ScratchGPIO, dove cercare ulteriori informazioni su di esso e Scratch. Inoltre, hai assemblato un circuito breadboard facile da usare che ti permetterà di sperimentare in sicurezza con i controlli Scratch e GPIO sia per l'input che per l'output.
Infine, hai installato un gioco che può essere utilizzato come esempio e una base da modificare per apprendere e sperimentare. Mentre il progetto ScratchGPIO continua a maturare ed espandersi, puoi guardare a una nuova generazione di robotica Raspberry Pi controllata da Scratch.