Iniziare con GPIO su un Raspberry Pi

Se il tuo Arduino fosse bello, aspetta di mettere le mani su un Raspberry Pi - queste cose sono incredibili. Oltre ad essere un computer perfettamente funzionante, dispongono anche di una selezione di pin di input / output per uso generico.

Se il tuo Arduino fosse bello, aspetta di mettere le mani su un Raspberry Pi - queste cose sono incredibili.  Oltre ad essere un computer perfettamente funzionante, dispongono anche di una selezione di pin di input / output per uso generico.
Annuncio pubblicitario

In primo piano-RPI-GPIO Se il tuo Arduino fosse bello, aspetta di mettere le mani su un Raspberry Pi - queste cose sono incredibili. Oltre ad essere un computer perfettamente funzionante, dispongono anche di una selezione di pin di input / output per uso generico . Proprio come un Arduino, possiamo usarli per creare progetti di elettronica - ed è sorprendentemente facile iniziare.

Oggi collegheremo un relè e lo useremo per accendere un LED, ma potreste anche accendere facilmente una lampada.

Questa introduzione serve come prima parte di un più ampio progetto di automazione domestica. Christian ha già posto le basi per iniziare con un Pi, quindi non ripeterò i passaggi iniziali qui per scaricare un sistema operativo o collegare la scheda SD - presumo che tu abbia già un sistema Raspian funzionante .

Attenzione : sebbene un Raspberry Pi possa essere usato in modo simile ad un Arduino, è necessario un po 'più di attenzione. I pin del Pi funzionano a 3.3v, mentre Arduino usa 5v . Mentre è possibile rompere un Arduino, è molto più facile rompere un Pi mentre i pin si collegano direttamente al chip di bordo - inviando 5v giù potrebbe friggerlo.

Pertanto, stai molto attento a provare a replicare i progetti Arduino sul tuo Pi - segui un tutorial specifico per Pi o assicurati di avere una buona conoscenza dell'elettronica di base.

Requisiti:

  • Transistor NPN, come P2N2222A
  • Resistenza da 1k
  • relè; Sto usando un modulo 5v a 4 relè che ha un circuito di protezione aggiuntivo integrato (quindi non c'è bisogno di diodi extra
  • LED e resistenza da 220 ohm per il test
  • Cavo breakout

Cavo breakout ("Kit Cobbler")

I pin GPIO sono situati sul lato del Pi, accanto alla presa di uscita video RCA.

breakout cavo

Sebbene sia possibile collegare tecnicamente alcuni cavi jumper femmina direttamente a questi, non sono etichettati in alcun modo utile e quindi è più probabile che si rompa qualcosa. Invece, prendi un cavo breakout come quello di Adafruit o uno dei tanti cloni più economici su eBay. Potrebbe essere necessario saldare questo come verrà fornito in kit.

breakout-board

Sebbene il lato del cartone abbia una tacca per indicare il corretto posizionamento del cavo, il lato Pi no. Assicurarsi che i piedini 3v e 5v nell'angolo più lontano del Pi siano allineati con i relativi pin sulla scheda. Ovviamente, se hai acquistato un caso che non espone l'intestazione GPIO, dovrai eseguire il Pi nudo o fare un buco.

chiaro-case-GPIO

In alternativa, puoi ottenere una scheda completa che si apposta sopra il tuo Pi e di solito viene fornita con una selezione di componenti utili.

Circuito di base

Impostare il circuito come descritto di seguito. Ho lasciato fuori i circuiti del relè in quanto questo potrebbe variare. Utilizzare i terminali NO (normalmente chiusi) e COM del proprio relè per il proprio LED o altro dispositivo.

circuito

Usa il pin 4 dal Raspberry Pi. Nella mia scheda interattiva, è etichettato + GPCLK0; a prescindere, è il quarto conteggio da 3V3.

pin4

Test della linea di comando

Nei seguenti esempi, presumo che tu abbia effettuato l'accesso su SSH o altrimenti come utente root. In caso contrario, è necessario preimpostare alcuni dei comandi con sudo per i privilegi elevati.

Per prima cosa, dobbiamo installare WiringPi .

git clone git://git.drogon.net/wiringPi cd wiringPi ./build 

Supponendo che tutto sia andato bene, ora dovremmo essere in grado di controllare direttamente il GPIO dalla riga di comando in questo modo:

 gpio -g mode 4 out gpio -g write 4 1 

Il primo comando è simile alla funzione di setup di Arduino, dove stiamo dicendo al Pi di usare il pin 4 come output. Il comando successivo scrive un valore di 1 sul pin, che dovrebbe attivare il transistor, attivare il relè, chiudere il circuito per il LED e accenderlo.

Eccezionale. In caso contrario, torna indietro e controlla il cablaggio. Il relè clicca?

Pitone

Sebbene Python non sia l'unico modo per comunicare con i pin GPIO, è generalmente considerato il più semplice ed è il più comune nei progetti esistenti. A differenza di C, Python è relativamente facile da imparare (ecco 5 siti per imparare Python I 5 migliori siti web per imparare la programmazione Python I 5 migliori siti web per imparare la programmazione Python Negli ultimi dieci anni, il linguaggio di programmazione Python è esploso in popolarità tra i programmatori in tutto aree di codifica: dagli sviluppatori Web ai progettisti di videogiochi ai creatori di strumenti interni, molte persone sono cadute in ... Leggi di più).

Inizia installando le seguenti estensioni Python:

 apt-get install python-dev apt-get install python-rpi.gpio 

Ora crea un nuovo file chiamato test.py. se usi una riga di comando, digita

 nano test.py 

Incolla o digita quanto segue (anche su questo pastebin):

 import RPi.GPIO as GPIO import time GPIO.setmode(GPIO.BCM) GPIO.setup(4, GPIO.OUT) for x in range(0, 10): time.sleep(5) GPIO.output(4, 1) time.sleep(5) GPIO.output(4, 0) 

Questo è uno script Python molto semplice che sta per accendere il LED (o qualunque cosa tu abbia collegato al tuo relay) per 5 secondi, quindi spento per 5 secondi, 10 volte . Dovresti essere in grado di capire la maggior parte del codice. La linea GPIO.setmode viene semplicemente utilizzata per indicare lo schema di numerazione dei pin che useremo.

Questo è tutto! Per eseguire il codice, digitare:

 python test.py 

finito

La prossima settimana elaboreremo un po 'il setup e faremo cose interessanti come aggiungere il controllo vocale. Se vuoi aggiungere elementi elettrici ad alta tensione nel circuito del relè, devi essere sicuro di utilizzare un relè di dimensioni adeguate sul cavo in tensione e assicurarti di racchiudere tutto in modo che sia lontano dalle dita indiscrete di bambini o mamma. Seriamente, sii sicuro.

Si prega di inviare le vostre domande, commenti, feedback e haikus nella casella qui sotto - ma tenete a mente che voterò sull'uso della grammatica.

In this article