Cuprins:

Controlul mai multor LED-uri cu Python și pinii GPIO ai Raspberry Pi: 4 pași (cu imagini)
Controlul mai multor LED-uri cu Python și pinii GPIO ai Raspberry Pi: 4 pași (cu imagini)

Video: Controlul mai multor LED-uri cu Python și pinii GPIO ai Raspberry Pi: 4 pași (cu imagini)

Video: Controlul mai multor LED-uri cu Python și pinii GPIO ai Raspberry Pi: 4 pași (cu imagini)
Video: Programam butoane si LED-uri cu Arduino | LIVE#37 2024, Noiembrie
Anonim
Controlul mai multor LED-uri cu Python și pinii GPIO ai Raspberry Pi
Controlul mai multor LED-uri cu Python și pinii GPIO ai Raspberry Pi

Acest Instructable demonstrează cum să controlați mai mulți pini GPIO pe RaspberryPi pentru a alimenta 4 LED-uri. De asemenea, vă va introduce parametrii și declarațiile condiționale în Python.

Instrucțiunile noastre anterioare folosind pinii GPIO ai Raspberry Pi pentru a controla un LED demonstrează cum să porniți și să opriți un singur LED utilizând comanda GPIO.output. Acest instructable se bazează pe aceste cunoștințe pentru a vă învăța cum să obțineți mai mult control asupra circuitului dvs.

Pasul 1: De ce veți avea nevoie

Ce vei avea nevoie
Ce vei avea nevoie
Ce vei avea nevoie
Ce vei avea nevoie

- Un RaspberryPi cu Raspbian deja instalat. De asemenea, va trebui să puteți accesa Pi utilizând un monitor, mouse și tastatură sau prin Desktop la distanță. Puteți utiliza orice model de Raspberry Pi. Dacă aveți unul dintre modelele Pi Zero, poate doriți să lipiți niște pini de antet pe portul GPIO.

- LED-uri roșii, albastre, galbene și verzi

- O placă de pâine fără sudură

- Rezistențe de 4 x 330 ohmi

- Unele fire jumper de la bărbat la femeie

Pasul 2: Construiește-ți circuitul

Construiește-ți circuitul
Construiește-ți circuitul
Construiește-ți circuitul
Construiește-ți circuitul

Construiți circuitul de mai sus pe placa dvs., asigurându-vă că niciunul dintre cablurile componentelor nu se atinge și că LED-urile sunt conectate corect.

Cum identificați cablurile pozitive și negative (polaritatea) de pe LED-urile dvs.? Dacă vă uitați atent la un LED, veți vedea că are două bucăți mici de metal în interiorul carcasei colorate. Acestea se numesc Anod și Catod. Catodul este cel mai mare dintre cele două și este, de asemenea, conectat la LED-ul negativ.

După ce ați verificat circuitul, conectați cablurile jumper pinilor GPIO ai Raspberry Pi urmând diagrama de mai sus.

Pasul 3: Creați un script pentru a controla și testa LED-urile

Creați un script pentru a controla și testa LED-urile
Creați un script pentru a controla și testa LED-urile

Pe Raspberry Pi, deschideți IDLE (Meniu> Programare> Python 2 (IDLE)).

Deschideți un proiect nou accesați Fișier> Fișier nou. Apoi tastați (sau copiați și lipiți) următorul cod:

importați RPi. GPIO ca GPIO

timp de import 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. ieșire (23, fals)

Salvați-vă proiectul ca multilights.py (Fișier> Salvare ca) în folderul Raspberry Pis Documents.

Pe Raspberry Pi deschideți Terminal (Meniu> Accesorii> Terminal) și navigați la folderul Documente tastând următoarele:

cd / home / pi / Documents

Acum puteți rula noul dvs. script tastând următoarele:

python multilights.py

Luminile îl vor lua pe rând pentru a porni și opri. Scriptul de mai sus folosește comanda time.sleep pentru a crea o pauză între fiecare pas, făcând fiecare lumină să rămână aprinsă 3 secunde și să aștepte 1 secundă înainte de a aprinde următoarea lumină.

Pasul 4: Adăugarea flexibilității utilizând parametri și instrucțiuni condiționate

Prin utilizarea parametrilor și declarațiilor condiționale, putem face scriptul de mai sus mult mai flexibil.

Un parametru vă permite să stocați o valoare pe care o puteți utiliza ulterior în script. Cele mai frecvente tipuri de valori sunt șiruri (text), numere întregi (numere întregi) sau flotante (numere zecimale).

O declarație condițională va determina dacă un segment de cod trebuie executat sau nu, verificând dacă este îndeplinită o anumită condiție. Condiția poate implica și parametri.

Deschideți IDLE pe Raspberry Pi și deschideți un proiect nou (Fișier> Fișier nou). Apoi tastați următoarele. Aveți grijă să vă asigurați că toate indentările (filele) sunt incluse utilizând tasta tab:

importați RPi. GPIO ca GPIO

timp de import din 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 whichled == "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 whichled == "b": GPIO.output (LEDb, True) if whichled == "c": GPIO.output (LEDc, True) if whichled == "d": GPIO.output (LEDd, True) if whatled == "all": GPIO.output (LEDa, True) GPIO.output (LEDb, True) GPIO.output (LEDc, True) GPIO.output (LEDd, True)

Salvați proiectul ca controlight.py (Fișier> Salvare ca) în folderul Documente. Acum deschideți Terminal (Meniu> Accesorii> Terminal) și tastați următoarea comandă:

python controllight.py b on

Al doilea LED ar trebui să se aprindă. Acum introduceți următoarele:

python controllight.py b off

Al doilea LED ar trebui să se stingă.

În liniile 5, 6, 7 și 8, creăm parametrii LEDa, LEDb, LEDc și LEDd pentru a stoca ce pin GPIO am conectat la care LED. Acest lucru ne permite să folosim pini GPIO alternativi fără a fi nevoie să facem modificări substanțiale la script.

De exemplu, dacă ar fi să conectăm primele LED-uri la pinul 3 (GPIO 2), ar trebui doar să schimbăm linia 5 la următoarea:

LEDa = 2

Linia 4 stochează valorile pe care le-ați tastat după controlight.py în parametrii care au stârnit (c) și ledaction (pornit). Scriptul folosește apoi acești parametri, alături de o serie de declarații condiționale pentru a decide ce LED să controleze și dacă îl pornește sau se oprește.

Linia 16 (dacă ledaction == "on":) este o afirmație condițională. Liniile indentate care urmează acestei instrucțiuni vor rula numai dacă este îndeplinită condiția instrucțiunii. În acest scenariu, condiția este ca ledaction să conțină textul pe.

Citind alte declarații condiționale ale scriptului, puteți prezice ce se va întâmpla când tastați următoarea comandă în Terminal?

python controllight.py totul pornit

De ce să nu încerci și postează răspunsul tău în secțiunea de comentarii de mai jos.

Recomandat: