2 modi per aggiungere un pulsante al tuo progetto Raspberry Pi

2 modi per aggiungere un pulsante al tuo progetto Raspberry Pi

Imparare a usare i pin GPIO sul tuo Raspberry Pi apre un intero mondo di possibilità. I principi di base appresi attraverso i progetti per principianti aprono la strada a una 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 funzionerà, in questo tutorial viene utilizzato il modello 3B)
  • 1 x pulsante
  • 1 x LED
  • 1 x 220 Ohm Resistore (valori più alti vanno bene, il tuo LED sarà solo più fioco)
  • 1 x tagliere
  • Collegare i fili

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

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 farlo sono disponibili in questo video:



Configurazione del circuito

Utilizzerai i pin GPIO del Pi per realizzare il circuito e, se non hai familiarità con loro, il nostro guida ai pin GPIO 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 schema:





  • Il 5v e GND i pin si collegano ai binari di alimentazione della breadboard.
  • Pin 12 (GPIO 18) si collega al polo positivo 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 attacca a un lato del pulsante, l'altro lato si attacca al binario di terra della breadboard.

Una volta impostato, ecco come dovrebbe apparire:

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





Metodo 1: la libreria RPi.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 a Python, è un ottimo linguaggio per principianti e ci sono molti ottimi posti per imparare di più su Python dopo aver finito con questo tutorial!

Inizia importando la libreria RPi.GPIO e impostando la modalità della scheda.

import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BOARD)

Ora dichiarare le variabili per i numeri dei pin del LED e del pulsante.

ledPin = 12
buttonPin = 16

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

Impostazione del pulsante

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

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

Il testo dopo GPIO.IN si riferisce al resistenza di pull-up interna del Raspberry Pi. È necessario abilitarlo per ottenere una lettura pulita dal pulsante. Poiché il pulsante va al pin di massa, abbiamo bisogno di un resistore di pull-up per mantenere il pin di ingresso HIGH fino a quando non lo premi.

Prima di andare avanti, diamo un'occhiata ai resistori di pull-up e pull-down.

Intermezzo: resistori pull up/pull down

Quando configuri un pin GPIO da inserire, legge quel pin per determinarne lo stato. In questo circuito, devi leggere se un pin è ALTO o BASSO per attivare il LED quando viene premuto 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 flottante ha un valore compreso tra alto e basso, il che fa sì che l'input agisca in modo imprevedibile. I resistori pull-up/pull-down risolvono questo problema.

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 su HIGH.

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

I resistori pull-down sono per quando l'interruttore è collegato al pin di alimentazione. Questa volta, il resistore interno collega il pin GPIO a massa, tenendo premuto LOW finché non si preme il pulsante.

La teoria dei resistori pull-up e pull-down è confusa a prima vista, ma è una conoscenza importante da avere quando si lavora con i microcontrollori. Per ora, se non lo capisci bene, non preoccuparti!

Continuiamo da dove ci siamo interrotti.

Il ciclo del programma

Quindi, imposta il ciclo del programma:

while True:
buttonState = GPIO.input(buttonPin)
if buttonState == False:
GPIO.output(ledPin, GPIO.HIGH)
else:
GPIO.output(ledPin, GPIO.LOW)

Il mentre vero loop esegue continuamente il codice al suo interno fino alla fine del programma. Ogni volta che esegue il ciclo aggiorna il pulsanteStato leggendo l'input dal pulsantePin . Mentre il pulsante non viene premuto, rimane ALTO .

Una volta premuto il pulsante, pulsanteStato diventa BASSO . Questo fa scattare il se dichiarazione , da falso equivale a BASSO e il LED si accende. Il altro L'istruzione spegne il LED ogni volta che il buttonPin non è False.

Salva ed esegui il tuo script

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

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

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

Metodo 2: libreria GPIO Zero

La libreria RPi.GPIO è fantastica, ma c'è un nuovo capretto sul blocco. La libreria GPIO Zero 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, apri un nuovo file Thonny e importa la libreria.

from gpiozero import LED, Button
from signal import pause

Noterai che non hai importato l'intera libreria. Poiché stai usando solo un LED e un pulsante, hai bisogno solo di quei moduli nello script. Importiamo anche Pausa dalla libreria dei segnali, che è una libreria Python per la gestione degli eventi.

La configurazione dei pin è molto più semplice con GPIO Zero:

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

Poiché la libreria GPIO Zero dispone di moduli per LED e pulsanti, non è necessario configurare 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 pin GPIO (noti anche come numeri Broadcom o BCM).

porta usb non funzionante windows 10

Il resto dello script è solo di tre righe:

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

Il pausa() call here interrompe semplicemente l'uscita dallo 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

Dei due modi per impostare il pulsante, il metodo GPIO Zero sembra essere il più semplice. Vale comunque la pena conoscere la libreria RPi.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 è lontano da tutto ciò che puoi fare con il Pi. La nostra guida non ufficiale al Raspberry Pi è ricca di idee creative e tutorial che puoi provare tu stesso! Per un altro tutorial come questo, dai un'occhiata come creare un pulsante connesso al Wi-Fi .

Condividere Condividere Tweet E-mail 5 suggerimenti per potenziare le tue macchine Linux VirtualBox

Stanchi delle scarse prestazioni offerte dalle macchine virtuali? Ecco cosa dovresti fare per aumentare le prestazioni di VirtualBox.

Leggi Avanti
Argomenti correlati
  • Fai da te
  • Lampone Pi
  • Pitone
  • GPIO
  • Tutorial progetto fai da te
Circa l'autore Ian Buckley(216 articoli pubblicati)

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

Altro da Ian Buckley

Iscriviti alla nostra Newsletter

Iscriviti alla nostra newsletter per suggerimenti tecnici, recensioni, ebook gratuiti e offerte esclusive!

Clicca qui per iscriverti