Impara a usare i pin GPIO con scratch di Pike Pi

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.


Graffiare

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.


Raccogli i componenti

  • Raspberry Pi - Modello B con alimentatore, scheda SD, monitor, tastiera e mouse
  • LED rossi, gialli e verdi
  • Resistore da 3 a 220 Ohm (rosso, rosso, marrone)
  • Resistenza da 2 - 1K Ohm (marrone, nero, rosso)
  • 2 - Momentary On Push Button
  • Breadboard pieno o mezzo
  • 6 - Cavo ponticello maschio-femmina

Assembla il Breadboard

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.

  • Collegare i fili del pulsante dai piedini fisici 3 e 5 ai pulsanti sulla breadboard come mostrato di seguito. Questi pin sono designati come input di default nel software ScratchGPIO.
  • Collegare i LED rosso, giallo e verde sulla breadboard ai pin fisici di Pi 11, 12 e 13 che sono designati come pin di uscita da ScratchGPIO.
  • Assicurarsi che le resistenze appropriate siano sulla breadboard. I resistori da 220 ohm sono per i LED e i resistori da 1K ohm sono per i pulsanti.

Schema di tagliere assemblato

Imposta il Raspberry Pi

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.


Installa ScratchGPIO

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.

  • Doppio clic e avvio LXterminal
  • Esegui i seguenti comandi:
 wget https://raw.github.com/cymplecy/scratch_gpio/master/install_scratchgpio4.sh -O isgh.sh sudo sh isgh.sh
  • Lo script di installazione completerà educatamente Grazie e Finito. Detto Prego è facoltativo ma certamente la cosa educata da fare.
  • Chiudi il LXTerm finestra e notare la nuova icona intitolata: Scratch GPIO4

Ottieni il programma di esempio Scratch

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.

  • Lanciare Midori dal desktop del tuo Raspberry Pi
  • Scarica il file scratch gpiogame.sb
  • Salva il file scaricato in / home / pi / scratch / Documents / Scratch Projects
  • Vicino Midori
  • Lanciare Scratch GPIO4 dal desktop
  • Clic ok nella finestra di dialogo che dice Connessioni del sensore remoto abilitate. Questo messaggio indica che Scratch sta comunicando con il sottosistema GPIO.
  • Selezionare File> Apri
  • Seleziona il file gpiogame per caricare il gioco
  • Clicca sul Bandiera verde nell'angolo in alto a destra della finestra Scratch per iniziare il gioco
  • Premi i pulsanti sulla breadboard per aiutare Cat a evitare Rex. Fare nuovamente clic sulla bandiera verde se si desidera riavviare il gioco.

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.


Routine di gestione della salute dei LED

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.


Routine di gestione dei pulsanti

Il mio punteggio più alto era 34. Vedi se riesci a batterlo!


High Score Brag

Sommario

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.