Skip to main content

Raspberry Pi GPIO

Raspberry Pi 3 Progetto con GPIO come Arduino - Raspberry Tutorial ITA #4 (Giugno 2026)

Raspberry Pi 3 Progetto con GPIO come Arduino - Raspberry Tutorial ITA #4 (Giugno 2026)
Anonim
01 del 09

Un'introduzione ai perni di Raspberry Pi

Il termine 'GPIO' (General Purpose Input Output) non è esclusivo del Raspberry Pi. I pin di input e output possono essere trovati sulla maggior parte dei microcontrollori come Arduino, Beaglebone e altri.

Quando parliamo di GPIO con Raspberry Pi, ci riferiamo al lungo blocco di spilli nell'angolo in alto a sinistra della scheda. I modelli precedenti avevano 26 pin, tuttavia la maggior parte di noi userà un modello attuale con 40.

È possibile collegare componenti e altri dispositivi hardware a questi pin e utilizzare il codice per controllare ciò che fanno. È una parte importante del Raspberry Pi e un modo eccellente per conoscere l'elettronica.

Dopo alcuni progetti software, probabilmente ti ritroverai a sperimentare con questi pin, desiderosi di mischiare il tuo codice con l'hardware per far accadere le cose nella "vita reale".

Questo processo può intimidire se sei nuovo nella scena, e considerando che una sola mossa falsa può danneggiare il tuo Raspberry Pi, è comprensibile che sia un'area nervosa da esplorare per i principianti.

Questo articolo spiega quali sono i tipi di pin GPIO e i loro limiti.

02 del 09

Il GPIO

Innanzitutto, diamo un'occhiata al GPIO nel suo insieme. I pin potrebbero sembrare uguali ma hanno tutti funzioni diverse. L'immagine sopra mostra queste funzioni in diversi colori che spiegheremo nei seguenti passaggi.

Ogni spillo è numerato da 1 a 40 partendo in basso a sinistra. Questi sono i numeri di pin fisici, tuttavia esistono anche convenzioni di numerazione / etichettatura come "BCM" che vengono utilizzate durante la scrittura del codice.

03 di 09

Alimentazione e messa a terra

Rosso evidenziato, i pin di alimentazione etichettati "3" o "5" per 3,3 V o 5 V.

Questi pin consentono di inviare direttamente energia a un dispositivo senza la necessità di alcun codice. Non c'è modo di spegnerli entrambi.

Ci sono 2 binari di alimentazione - 3,3 volt e 5 volt. Secondo questo articolo, il binario a 3,3 V è limitato a un assorbimento di corrente di 50 mA, mentre il binario a 5 V è in grado di fornire tutta la capacità corrente residua dalla rete elettrica dopo che il Pi ha preso ciò di cui ha bisogno.

Evidenziato marronesono i pin di terra (GND). Questi pin sono esattamente ciò che dicono - pin di messa a terra - che sono una parte vitale di qualsiasi progetto di elettronica.

(I pin GPIO 5V sono numeri fisici 2 e 4. I pin GPIO 3.3V sono numeri fisici 1 e 17. I pin GPIO di terra sono numeri fisici 6, 9, 14, 20, 25, 30, 34 e 39)

04 di 09

Pin di input / output

I pin verdi sono quelli che io chiamo pin "input / output" generici. Questi possono essere facilmente utilizzati come input o output senza alcuna preoccupazione per lo scontro con altre funzioni come I2C, SPI o UART.

Questi sono i pin che possono inviare energia a un LED, un cicalino o altri componenti o essere utilizzati come ingresso per leggere sensori, interruttori o altri dispositivi di input.

La potenza di uscita di questi pin è 3.3V. Ogni pin non deve superare i 16 mA di corrente, né l'affondamento o l'acquisizione, e l'intero set di pin GPIO non deve superare più di 50 mA in qualsiasi momento. Questo può essere restrittivo, quindi potresti dover essere creativo in determinati progetti.

(I pin generici GPIO sono numeri fisici 7, 11, 12, 13, 15, 16, 18, 22, 29, 31, 32, 33, 35, 36, 37, 38 e 40)

05 di 09

Perni I2C

In giallo, abbiamo i pin I2C. I2C è un protocollo di comunicazione che in termini semplici consente ai dispositivi di comunicare con il Raspberry Pi. Questi pin possono anche essere utilizzati come pin GPIO "generici".

Un buon esempio di utilizzo di I2C è il molto popolare chip di espansione porta MCP23017, che può fornire più pin di input / output attraverso questo protocollo I2C.

(I pin GPIO I2C sono numeri pin fisici 3 e 5)

06 di 09

Perni UART (seriali)

In grigio, sono i pin UART. Questi pin sono un altro protocollo di comunicazione che offre connessioni seriali e possono anche essere utilizzati come ingressi / uscite GPIO generici.

Il mio utilizzo preferito per UART è di abilitare una connessione seriale dal mio Pi al mio portatile tramite USB. Questo può essere ottenuto utilizzando schede aggiuntive o cavi semplici e rimuove la necessità di uno schermo o di una connessione Internet per accedere al Pi.

(I pin UART GPIO sono numeri pin fisici 8 e 10)

07 di 09

Pins SPI

In rosa, abbiamo i pin SPI. SPI è un bus di interfaccia che invia dati tra Pi e altri hardware / periferiche. È comunemente usato per il collegamento di dispositivi come una matrice LED o display.

Come altri, questi pin possono essere utilizzati anche come ingressi / uscite GPIO generici.

(I pin SPI GPIO sono numeri pin fisici 19, 21, 23, 24 e 26)

08 di 09

Pin DNC

Infine ci sono due pin in blu che, attualmente, sono etichettati come DNC che sta per "Do Not Connect". Questo potrebbe cambiare in futuro se la Fondazione Raspberry Pi alterasse le schede / il software.

(I pin DNC GPIO sono numeri pin fisici 27 e 28)

09 di 09

Convenzioni di numerazione GPIO

Quando si codifica con GPIO, si ha la possibilità di importare la libreria GPIO in due modi: BCM o BOARD.

L'opzione che preferisco è GPIO BCM. Questa è la convenzione di numerazione di Broadcom e trovo che sia usata più comunemente tra progetti e componenti aggiuntivi hardware.

La seconda opzione è GPIO BOARD. Questo metodo utilizza invece i numeri pin fisici, il che è utile quando si contano i pin, ma si scoprirà che è utilizzato meno negli esempi di progetto.

La modalità GPIO viene impostata quando si importa la libreria GPIO:

Per importare come BCM:

importare RPi.GPIO come GPIO GPIO.setmode (GPIO.BCM)

Per importare come BOARD:

importare RPi.GPIO come GPIO GPIO.setmode (GPIO.BOARD)

Entrambi questi metodi fanno esattamente lo stesso lavoro, è solo una questione di preferenza di numerazione.

Utilizzo regolarmente delle schede di etichette GPIO comode come RasPiO Portsplus (nella foto) per verificare quali pin sono collegati anche ai fili. Un lato mostra la convenzione di numerazione BCM, l'altro mostra BOARD - quindi sei coperto per qualsiasi progetto che trovi.