Tutto quello che devi sapere sui pin GPIO del Raspberry Pi
Dal gioco all’esecuzione di un sistema di intrattenimento Kodi , c’è molto che potresti fare con un Raspberry Pi. Ma puoi fare ancora più cose se conosci il suo input-output per scopi generali (GPIO). Ecco una guida per iniziare a lavorare con i pin GPIO del Raspberry Pi!
Cosa sono i pin GPIO del Raspberry Pi?
I pin GPIO del Raspberry Pi sono quei pin metallici che sporgono da un lato, proprio all’opposto di dove si trovano i connettori HDMI e di alimentazione.
Tuttavia, non tutti questi pin contano come “GPIO”. Tra questi, 26 possono essere impostati come pin logici di ingresso e uscita. Quelli sono i pin GPIO. Il resto sono pin di alimentazione.
Programmandoli in pin di input o di output, puoi trasformarli in un computer logico in grado di leggere input e mostrare output. Ad esempio, puoi collegare un pin di ingresso a un circuito a pulsante e un pin di uscita a un LED in modo che si accenda ogni volta che viene premuto il pulsante.
Pinout del Raspberry Pi
Prima di poter programmare ciascun pin in ingressi e uscite, devi prima sapere quali pin sono quali.
Ogni pin del Raspberry Pi è numerato da 1 a 40. Se guardi il Raspberry Pi in modo tale che le porte USB puntino verso il pavimento, il pin in alto a sinistra dovrebbe essere il pin 1. Il pin alla sua destra è pin 2 e il conteggio continua fino a raggiungere il pin 40 in basso a destra.
Ora i seguenti pin non sono GPIO: sono pin di alimentazione che si caricano costantemente per produrre una tensione (3v3 e 5 V) o destinati a ricevere tensione (massa).
- 1 e 17 (3v3)
- 2 e 4 (5 V)
- 6, 9, 14, 20, 25, 30, 34, 39 (Terra)
Normalmente è possibile chiamare questi pin con il loro nome. Quindi, se ti riferisci al pin 7 come GPIO, puoi semplicemente chiamarlo pin 7. Questa è chiamata numerazione BOARD .
D’altra parte, potete anche chiamarli con la loro numerazione individuale basata sul chip del processore delle periferiche. Questa viene definita numerazione BCM ed è chiamata in questo modo perché il chip che esegue questi pin appartiene alla famiglia di processori BCM.
Imposta i pin di ingresso e uscita
Puoi programmare i pin GPIO del Raspberry Pi con Thonny, che è l’editor Python predefinito fornito con il sistema operativo Raspberry Pi.
Il codice seguente imposta il pin 7 (GPIO 4) come pin di uscita e il pin 8 (GPIO 14) come pin di ingresso utilizzando la numerazione BOARD.
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BOARD) // Set BOARD numbering.
GPIO.setup(7, GPIO.OUT) // Set pin 7 as an output pin.
GPIO.setup(14, GPIO.IN) // Set pin 14 as an input pin.
GPIO.output(7, GPIO.HIGH) // Make pin 7 output 3 volts.
GPIO.input(8) // Reads whether there's electricity passing through pin 8. Returns either a True or False that you can use in an if statement.
GPIO.output(7, GPIO.LOW) // Make pin 7 stop outputting 3 volts.
Spiegazione del codice
Per lavorare con i pin GPIO, dovrai importare la libreria GPIO del Raspberry Pi. Questo viene fatto inserendo import RPi.GPIO as GPIO
.
Successivamente, dovrai impostare la modalità. Utilizzare GPIO.setmode(GPIO.BOARD)
per dire all’interprete MicroPython di leggere in modalità BOARD. Oppure utilizzare GPIO.setmode(GPIO.BCM)
per leggere in modalità BCM.
Per impostare i pin, dovrai utilizzare la GPIO.setup(<pin>, <GPIO.OUT or GPIO.IN>)
funzione. Sono necessari due argomenti. Il primo è il numero pin in base alla modalità di numerazione selezionata in precedenza. Il secondo è lo stato, se vuoi impostarlo come pin di output con GPIO.OUT
o pin di input con GPIO.IN
.
Successivamente, con i pin di output, puoi impostarli su alto o basso utilizzando GPIO.output(<pin>, <GPIO.LOW or GPIO.HIGH>)
. L’impostazione di un pin di uscita su ALTO lo carica fino a 3 volt. Questo conta come un “sì” o “1” nella logica del computer. LOW fa il contrario, caricandolo fino a quasi 0 volt.
D’altra parte, puoi leggere i valori dei pin di input. Se ricevono 3 volt, si registreranno come ALTO e restituiranno un valore booleano con GPIO.input(<pin>)
. I booleani sono valori che possono essere Vero o Falso. Puoi utilizzare questi valori nei cicli while e nelle istruzioni if per creare elementi logici ancora più profondi con essi.
Collegamento di GPIO e pin di alimentazione ai componenti periferici
I pin GPIO sul Raspberry Pi sono noti come pin maschi. Questo perché hanno punte di metallo sporgenti invece di un vassoio per spilli come l’Arduino Uno.
La maggior parte dei componenti di prototipazione sono dotati di perni maschi per facilitarne il posizionamento su una breadboard. È possibile utilizzare un ponticello maschio-femmina per collegarli su una breadboard o ponticelli femmina-femmina per collegarli direttamente ai componenti stessi.
Inoltre, nella maggior parte dei componenti, a volte troverai un contrassegno “S”, “IN” o “OUT” direttamente sui pin. Ciò significa che il pin direttamente accanto a loro dovrebbe connettersi ai pin GPIO. I contrassegni dipendono dal componente: molti componenti non li chiamano nemmeno così perché hanno da 3 a 9 pin di segnale, ingresso o uscita sulla scheda.
Per sapere quale pin dovrebbe essere messo e dove, puoi consultare la loro “scheda tecnica”, che è il consiglio del produttore su come utilizzare il componente e i comportamenti attesi. Questi sono specifici per un modello o una marca, soprattutto quando si tratta di moduli che contengono moltissimi altri componenti al loro interno.
Prendersi cura dei pin GPIO del Raspberry Pi
I pin GPIO sono cose sensibili. È facile romperli se non stai attento.
Per prima cosa, devi assicurarti che solo le fonti elettriche che funzionano con la logica a 3 volt si colleghino a queste cose. Applicare 5 volt a qualsiasi pin GPIO è un modo per romperli.
Un’altra cosa che potrebbe romperli è collegare un pin di uscita direttamente a un pin di ingresso senza alcun resistore o componente in mezzo. Mentre la tensione rimane la stessa, la corrente che fluisce dal pin di uscita può potenzialmente danneggiare il pin di ingresso.
Non appena impari a usarli correttamente, puoi fare molte cose con un Raspberry Pi. Per prima cosa, potresti collegare un motore CC a uno e farlo funzionare su ruote o fungere da piccolo ventilatore elettrico. E se aggiungi le ruote, potresti persino controllare un robot Raspberry Pi in modalità wireless tramite SSH su un power bank ! Questi pin GPIO estendono le capacità del Raspberry Pi a cose molto più grandi di quanto potrebbero fare senza di essi.
Credito immagine: Unsplash
Lascia un commento