Iniziare con GPIO su un Raspberry Pi

Iniziare con GPIO su un Raspberry Pi / Fai da te

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, hanno anche una selezione di Ingresso / uscita per uso generico perni. 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 un sistema Raspian funzionante già impostato.

avvertimento: Sebbene sia un Raspberry Pi può essere usato in modo simile ad un Arduino, è necessario un po 'più di attenzione. I birilli del Pi operano a 3.3v, mentre l'Arduino usa 5v. Mentre è possibile rompere un Arduino, è molto più facile rompere un Pi mentre i pin si collegano direttamente al chip di bordo - mandando 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.

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.

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 tagliare un buco.

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 il NO (normalmente chiuso) e COM terminali del relè per il tuo LED o altro dispositivo.

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

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 Vuoi imparare la programmazione Python? Ecco i modi migliori per imparare Python online, molti dei quali sono completamente gratuiti..

Inizia installando le seguenti estensioni Python:

apt-get install python-dev apt-get installa 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):

importare RPi.GPIO come tempo di importazione GPIO GPIO.setmode (GPIO.BCM) GPIO.setup (4, GPIO.OUT) per x nell'intervallo (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, poi spento per 5 secondi, 10 volte. Dovresti essere in grado di capire la maggior parte del codice. Il GPIO.setmode la linea è semplicemente usata per indicare lo schema di numerazione dei pin che useremo.

Questo è tutto! Per eseguire il codice, digitare:

python test.py

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è con valore nominale appropriato sul filo in tensione, e assicurati di racchiudere tutto in modo che sia lontano dalle dita indiscendenti dei bambini o della mamma. Ma seriamente, stai attento.

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

Scopri di più su: Raspberry Pi.