Sommario:

Controllo di più LED con Python e i pin GPIO del tuo Raspberry Pi: 4 passaggi (con immagini)
Controllo di più LED con Python e i pin GPIO del tuo Raspberry Pi: 4 passaggi (con immagini)

Video: Controllo di più LED con Python e i pin GPIO del tuo Raspberry Pi: 4 passaggi (con immagini)

Video: Controllo di più LED con Python e i pin GPIO del tuo Raspberry Pi: 4 passaggi (con immagini)
Video: How to Control an LED with Raspberry Pi Pico. 2024, Dicembre
Anonim
Controllo di più LED con Python e i pin GPIO del tuo Raspberry Pi
Controllo di più LED con Python e i pin GPIO del tuo Raspberry Pi

Questo Instructable dimostra come controllare più pin GPIO sul tuo RaspberryPi per alimentare 4 LED. Ti introdurrà anche ai parametri e alle istruzioni condizionali in Python.

Il nostro precedente Instructable Utilizzo dei pin GPIO del Raspberry Pi per controllare un LED dimostra come accendere e spegnere un singolo LED utilizzando il comando GPIO.output. Questo Instructable si basa su quella conoscenza per insegnarti come ottenere un maggiore controllo sul tuo circuito.

Passaggio 1: cosa ti servirà

Cosa ti servirà
Cosa ti servirà
Cosa ti servirà
Cosa ti servirà

- Un RaspberryPi con Raspbian già installato. Dovrai anche essere in grado di accedere al Pi utilizzando un monitor, un mouse e una tastiera o tramite Desktop remoto. Puoi usare qualsiasi modello di Raspberry Pi. Se hai uno dei modelli Pi Zero, potresti voler saldare alcuni pin di intestazione alla porta GPIO.

- LED rosso, blu, giallo e verde

- Un tagliere di prototipazione senza saldatura

- 4 resistenze da 330 ohm

- Alcuni ponticelli maschio-femmina

Passaggio 2: costruisci il tuo circuito

Costruisci il tuo circuito
Costruisci il tuo circuito
Costruisci il tuo circuito
Costruisci il tuo circuito

Costruisci il circuito sopra sulla tua breadboard assicurandoti che nessuno dei cavi dei componenti tocchi e che i LED siano collegati nel modo corretto.

Come identifichi i cavi positivo e negativo (la polarità) sui tuoi LED? Se guardi da vicino un LED, vedrai che ha due piccoli pezzi di metallo all'interno dell'involucro colorato. Questi sono chiamati anodo e catodo. Il catodo è il più grande dei due ed è collegato anche al cavo negativo del LED.

Dopo aver controllato il tuo circuito, collega i cavi jumper ai pin GPIO del tuo Raspberry Pi seguendo lo schema sopra.

Passaggio 3: creare uno script per controllare e testare i LED

Crea uno script per controllare e testare i LED
Crea uno script per controllare e testare i LED

Sul tuo Raspberry Pi, apri IDLE (Menu > Programmazione > Python 2 (IDLE)).

Apri un nuovo progetto vai su File > Nuovo file. Quindi digita (o copia e incolla) il seguente codice:

importa RPi. GPIO come GPIO

ora di importazione GPIO.setmode(GPIO. BCM) GPIO.setup(17, GPIO. OUT) GPIO.setup(18, GPIO. OUT) GPIO.setup(22, GPIO. OUT) GPIO.setup(23, GPIO. OUT) GPIO.output(17, True) time.sleep(3) GPIO.output(17, False) time.sleep(1) GPIO.output(18, True) time.sleep(3) GPIO.output(18, False) time.sleep(1) GPIO.output(22, True) time.sleep(3) GPIO.output(22, False) time.sleep(1) GPIO.output(23, True) time.sleep(3) GPIO. uscita(23, falso)

Salva il tuo progetto come multilights.py (File > Salva con nome) nella cartella Documenti Raspberry Pis.

Sul tuo Raspberry Pi apri Terminale (Menu> Accessori> Terminale) e vai alla cartella Documenti digitando quanto segue:

cd /home/pi/Documenti

Ora puoi eseguire il tuo nuovo script digitando quanto segue:

python multilights.py

Le luci faranno a turno per accendersi e spegnersi. Lo script sopra utilizza il comando time.sleep per creare una pausa tra ogni passaggio, facendo in modo che ogni luce rimanga accesa per 3 secondi e attenda 1 secondo prima di accendere la luce successiva.

Passaggio 4: aggiungere flessibilità utilizzando parametri e istruzioni condizionali

Usando i parametri e le istruzioni condizionali possiamo rendere lo script di cui sopra molto più flessibile.

Un parametro consente di memorizzare un valore che è possibile utilizzare in seguito nello script. I tipi più comuni di valori sono stringhe (testo), interi (numeri interi) o float (numeri decimali).

Un'istruzione condizionale determinerà se un segmento di codice deve essere eseguito o meno controllando se una determinata condizione è soddisfatta. La condizione può anche coinvolgere parametri.

Apri IDLE sul tuo Raspberry Pi e apri un nuovo progetto (File> Nuovo file). Quindi digitare quanto segue. Fare attenzione a garantire che tutti i rientri (tab) siano inclusi utilizzando il tasto tab:

importa RPi. GPIO come GPIO

import time from sys import argv whichled=argv[1] ledaction = argv[2] LEDa=17 LEDb=18 LEDc=22 LEDd=23 GPIO.setmode(GPIO. BCM) GPIO.setup(LEDa, GPIO. OUT) GPIO. setmode(GPIO. BCM) GPIO.setup(LEDb, GPIO. OUT) GPIO.setmode(GPIO. BCM) GPIO.setup(LEDc, GPIO. OUT) GPIO.setmode(GPIO. BCM) GPIO.setup(LEDd, GPIO. OUT) if ledaction=="off": if whatled=="a": GPIO.output(LEDa, False) if whatled=="b": GPIO.output(LEDb, False) if whatled=="c": GPIO.output(LEDc, False) if whatled=="d": GPIO.output(LEDd, False) if whatled=="all": GPIO.output(LEDa, False) GPIO.output(LEDb, False) GPIO. output(LEDc, False) GPIO.output(LEDd, False) if ledaction=="on": if whatled=="a": GPIO.output(LEDa, True) if whatled=="b": GPIO.output(LEDb, True) if whatled=="c": GPIO.output(LEDc, True) if whatled=="d": GPIO.output(LEDd, True) if whatled=="all": GPIO.output(LEDa, Vero) GPIO.output(LEDb, Vero) GPIO.output(LEDc, Vero) GPIO.output(LEDd, Vero)

Salva il tuo progetto come controllight.py (File > Salva con nome) nella cartella Documenti. Ora apri Terminale (Menu > Accessori > Terminale) e digita il seguente comando:

python controllight.py b on

Il secondo LED dovrebbe accendersi. Ora digita quanto segue:

python controllight.py b spento

Il secondo LED dovrebbe spegnersi.

Nelle righe 5, 6, 7 e 8, creiamo i parametri LEDa, LEDb, LEDc e LEDd per memorizzare quale pin GPIO abbiamo collegato a quale LED. Ciò ci consente di utilizzare pin GPIO alternativi senza dover apportare modifiche sostanziali allo script.

Ad esempio, se dovessimo connettere il primo cavo LED al Pin 3 (GPIO 2), dovremmo solo cambiare la linea 5 con la seguente:

LEDa=2

La riga 4 memorizza i valori digitati dopo controllight.py nei parametri whatled (c) e ledaction (on). Lo script utilizza quindi questi parametri, insieme a una serie di istruzioni condizionali per decidere quale LED controllare e se accenderlo o spegnerlo.

La riga 16 (if ledaction=="on":) è un'istruzione condizionale. Le righe rientrate che seguono questa istruzione verranno eseguite solo se la condizione dell'istruzione è soddisfatta. In questo scenario, la condizione è che ledaction contenga il testo su.

Leggendo le altre istruzioni condizionali dello script, puoi prevedere cosa accadrà quando digiti il seguente comando in Terminale?

python controllight.py tutto attivo

Perché non provarci e pubblicare la tua risposta nella sezione commenti qui sotto.

Consigliato: