Annuncio pubblicitario

Imparare a usare i pin GPIO sul tuo Raspberry Pi apre un intero mondo di possibilità. I principi di base appresi attraverso progetti per principianti aprono la strada alla conoscenza utile sia dell'elettronica fai-da-te che della programmazione.

Questo tutorial ti mostrerà due modi per aggiungere un pulsante al tuo progetto Raspberry Pi. Il pulsante verrà utilizzato per controllare un LED. Le istruzioni scritte sono disponibili sotto il video.

Avrai bisogno

Per iniziare, assicurati di avere i seguenti componenti:

  • 1 x Raspberry Pi (qualsiasi cosa, in questo tutorial viene utilizzato il modello 3B)
  • 1 x pulsante
  • 1 x LED
  • 1 resistenza da 220 Ohm (valori più alti vanno bene, il tuo LED sarà solo più scuro)
  • 1 x tagliere
  • Agganciare i fili

Una volta raccolti, dovresti avere componenti che assomigliano a questo:

Parti necessarie per l'esercitazione sul pulsante Pi

Avrai anche bisogno di una scheda SD con il sistema operativo Raspbian installato. Il modo più rapido per farlo è con l'immagine NOOBS (New Out Of the Box Software). Le istruzioni su come eseguire questa operazione sono disponibili in questo video:

instagram viewer

Impostazione del circuito

Utilizzerai i pin GPIO del Pi per rendere il circuito, e se non hai familiarità con loro il nostro guida ai pin GPIO di Raspberry Pi aiuterà. Il circuito qui è quasi lo stesso del nostro precedente Progetto LED Raspberry Pi, con l'aggiunta del pulsante che utilizzerai oggi.

Imposta il tuo circuito secondo questo diagramma:

Diagramma fritzing per Tutorial pulsante Pi
  • Il 5v e GND i pin si collegano alle guide di alimentazione della breadboard.
  • Pin 12 (GPIO 18) si collega alla gamba positiva del LED.
  • Una gamba del resistore si attacca alla gamba negativa del LED e l'altra gamba si attacca alla guida di terra della breadboard.
  • Pin 16 (GPIO 23) si collega a un lato del pulsante, l'altro lato si attacca alla guida di terra della breadboard.

Una volta impostato, ecco come dovrebbe apparire:

Raspberry Pi collegato a un pulsante e LED su una breadboard.

Controlla il tuo circuito per assicurarti che sia corretto, quindi accendi Raspberry Pi.

Metodo 1: RPi. Libreria GPIO

Una volta avviato il Pi, vai al menu e seleziona Programmazione> Thonny Python IDE. Si aprirà un nuovo script Python. Se sei totalmente nuovo in Python, è un linguaggio fantastico per i principianti e ci sono molti ottimi posti per saperne di più su Python dopo aver finito con questo tutorial!

Thonny Python IDE

Inizia importando l'RPi. Libreria GPIO e impostazione della modalità scheda.

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

Dichiarare ora le variabili per i LED e i numeri dei pin dei pulsanti.

ledPin = 12. buttonPin = 16. 

Si noti che poiché la modalità scheda è impostata su TAVOLA stiamo usando i numeri pin anziché i numeri GPIO. Se questo ti confonde, un grafico di pinout di Raspberry Pi può aiutarti a chiarirlo.

My Pi Pinout

Impostazione del pulsante

È tempo di configurare i pin GPIO. Impostare il pin LED su output e il pin pulsante su input con un resistore pull-up

GPIO.setup (ledPin, GPIO.OUT) GPIO.setup (buttonPin, GPIO.IN, pull_up_down = GPIO.PUD_UP)

Il testo dopo GPIO.IN fa riferimento a resistenza di pull-up interna del Raspberry Pi. È necessario abilitare questo per ottenere una lettura chiara dal pulsante. Dato che il pulsante va al pin di terra, abbiamo bisogno di un resistore pull-up per mantenere il pin di ingresso ALTO fino a quando lo premi.

Prima di continuare, diamo un'occhiata alle resistenze pull-up e pull-down.

Intervallo: pull up / pull down resistori

Quando si configura un pin GPIO per l'input, legge quel pin per determinarne lo stato. In questo circuito, è necessario leggere se un pin è ALTA o BASSO per attivare il LED quando si preme il pulsante. Questo sarebbe semplice se quelli fossero gli unici stati che un pin può avere, ma sfortunatamente esiste un terzo stato: GALLEGGIANTE.

Un pin mobile ha un valore tra alto e basso, causando un imprevedibile input. I resistori pull-up / pull-down risolvono questo problema.

Diagramma di esempio della resistenza di pull-up

L'immagine sopra è un diagramma semplificato di un pulsante e un Raspberry Pi. Il pin GPIO si collega a terra tramite il pulsante. La resistenza di pull-up interna collega il pin GPIO all'alimentatore Pi interno. Questa corrente scorre e il pin viene tirato in sicurezza fino a HIGH.

Quando si preme il pulsante, il pin GPIO si collega direttamente al pin di terra e il pulsante legge in basso.

Diagramma di esempio della resistenza di pull-down

Le resistenze pull-down servono per quando l'interruttore è collegato al pin di alimentazione. Questa volta, il resistore interno collega il pin GPIO a terra, mantenendolo in BASSO fino a quando non si preme il pulsante.

La teoria dei resistori pull-up e pull-down è confusa a prima vista, ma è importante avere conoscenze importanti quando si lavora con i microcontrollori. Per ora, se non lo capisci del tutto, non ti preoccupare!

Continuiamo da dove eravamo rimasti.

Il ciclo del programma

Quindi, imposta il loop del programma:

mentre True: buttonState = GPIO.input (buttonPin) se buttonState == False: GPIO.output (ledPin, GPIO.HIGH) altro: GPIO.output (ledPin, GPIO.LOW)

Il mentre vero loop esegue continuamente il codice al suo interno fino alla fine del programma. Ogni volta che lo fa, aggiorna il file buttonState leggendo l'input dal buttonPin. Mentre il pulsante non viene premuto, rimane ALTA.

Una volta premuto il pulsante, buttonState diventa BASSO. Questo innesca il if statement, da falso equivale a BASSOe il LED si accende. Il altro L'istruzione spegne il LED ogni volta che buttonPin non è False.

Salva ed esegui il tuo script

Salva il tuo script facendo clic File> Salva con nome e scegliendo un nome file. È possibile eseguire lo schizzo facendo clic sul verde Giocare nella barra degli strumenti di Thonny.

Pannello di controllo Thonny

Ora premi il pulsante e il tuo LED dovrebbe accendersi! Premi il rosso Fermare pulsante in qualsiasi momento per interrompere il programma

Test del pulsante Gif

In caso di difficoltà, controllare accuratamente il codice e la configurazione del circuito per errori e riprovare.

Metodo 2: GPIO Zero Library

The RPi. La libreria GPIO è fantastica, ma c'è un nuovo bambino sul blocco. La GPIO Zero Library era creato dal community manager di Raspberry Pi Ben Nuttall con l'intenzione di rendere il codice più semplice e più facile da leggere e scrivere.

Per testare la nuova libreria, aprire un nuovo file Thonny e importare la libreria.

da gpiozero import LED, Button. dalla pausa di importazione del segnale. 

Noterai che non hai importato l'intera libreria. Dato che stai utilizzando solo un LED e un pulsante, sono necessari solo quei moduli nello script. Importiamo anche Pausa dalla libreria dei segnali, che è una libreria Python per la gestione degli eventi.

L'impostazione dei pin è molto più semplice con GPIO Zero:

led = LED (18) button = Button (23)

Poiché la libreria GPIO Zero ha moduli per LED e pulsante, non è necessario impostare ingressi e uscite come prima. Noterai che sebbene i pin non siano cambiati, i numeri qui sono diversi da quelli sopra. Questo perché GPIO Zero utilizza solo i numeri di pin GPIO (noti anche come numeri Broadcom o BCM).

Il resto dello script è composto solo da tre righe:

button.when_pressed = led.on. button.when_released = led.off pause ()

Il pausa() chiama qui semplicemente interrompe la chiusura dello script quando raggiunge il fondo. Gli eventi a due pulsanti vengono attivati ​​ogni volta che il pulsante viene premuto e rilasciato. Salva ed esegui il tuo script e vedrai lo stesso risultato di prima!

Due modi per aggiungere un pulsante a Raspberry Pi

Tra i due modi per impostare il pulsante, il metodo GPIO Zero sembra essere il più semplice. Vale ancora la pena di conoscere l'RPi. Libreria GPIO come la maggior parte dei progetti Raspberry Pi per principianti usalo. Per quanto semplice sia questo progetto, la conoscenza può essere utilizzata per una serie di cose.

L'uso dei pin GPIO è un ottimo modo per imparare e inventare i tuoi dispositivi, ma è tutt'altro che tutto ciò che puoi fare con il Pi. Nostro guida non ufficiale al Raspberry Pi Raspberry Pi: The Unofficial TutorialChe tu sia un attuale proprietario Pi che desideri saperne di più o un potenziale proprietario di questo dispositivo di dimensioni di una carta di credito, questa non è una guida che vuoi perdere. Leggi di più è pieno di idee creative e tutorial che puoi provare tu stesso! Per un altro tutorial come questo, dai un'occhiata come creare un pulsante di connessione Wi-Fi Come creare il proprio pulsante di connessione Wi-Fi con ESP8266In questo tutorial imparerai come creare un pulsante abilitato Wi-Fi utilizzando NodeMCU e IFTTT. Leggi di più .

Ian Buckley è un giornalista freelance, musicista, performer e produttore video che vive a Berlino, in Germania. Quando non sta scrivendo o sul palco, armeggia con l'elettronica fai-da-te o il codice nella speranza di diventare uno scienziato pazzo.