Sadržaj:

Upravljanje više LED dioda s Pythonom i GPIO pinovima vašeg Raspberry Pi: 4 koraka (sa slikama)
Upravljanje više LED dioda s Pythonom i GPIO pinovima vašeg Raspberry Pi: 4 koraka (sa slikama)

Video: Upravljanje više LED dioda s Pythonom i GPIO pinovima vašeg Raspberry Pi: 4 koraka (sa slikama)

Video: Upravljanje više LED dioda s Pythonom i GPIO pinovima vašeg Raspberry Pi: 4 koraka (sa slikama)
Video: Как проверить светодиод мультиметром ? 2024, Studeni
Anonim
Upravljanje više LED dioda s Pythonom i GPIO pinovima vaše Raspberry Pi
Upravljanje više LED dioda s Pythonom i GPIO pinovima vaše Raspberry Pi

Ovaj Instructable pokazuje kako kontrolirati više GPIO pinova na vašem RaspberryPi za napajanje 4 LED diode. Također će vas upoznati s parametrima i uvjetnim izrazima u Pythonu.

Naši prethodni instruktivi pomoću GPIO pinova vašeg Raspberry Pi -a za upravljanje LED -om pokazuju kako uključiti i isključiti jednu LED -u pomoću naredbe GPIO.output. Ovaj Instructable nadograđuje to znanje kako bi vas naučio kako postići veću kontrolu nad svojim krugom.

Korak 1: Ono što će vam trebati

Ono što će vam trebati
Ono što će vam trebati
Ono što će vam trebati
Ono što će vam trebati

- RaspberryPi s već instaliranim Raspbian -om. Također ćete morati pristupiti Pi -u pomoću monitora, miša i tipkovnice ili putem udaljene radne površine. Možete koristiti bilo koji model Raspberry Pi. Ako imate jedan od modela Pi Zero, možda ćete htjeti lemiti neke igle zaglavlja na GPIO port.

- Crvene, plave, žute i zelene LED diode

- Tlocrt za izradu prototipa bez lemljenja

- 4 x 330 ohm otpornici

- Neke žice kratkospojnika muško - žensko

Korak 2: Izgradite svoj krug

Izgradite svoj krug
Izgradite svoj krug
Izgradite svoj krug
Izgradite svoj krug

Izgradite gornji krug na svojoj ploči pazeći da se niti jedan od dijelova komponenti ne dodiruje i da su LED diode ispravno spojene.

Kako prepoznajete pozitivne i negativne vodiče (polaritet) na LED diodama? Ako pomno pogledate LED diodu, vidjet ćete da ima dva mala komada metala unutar obojenog kućišta. Zovu se anoda i katoda. Katoda je najveća od ove dvije i također je spojena na negativni vod LED -a.

Nakon što provjerite svoj krug, spojite kratkospojne kabele svojih GPIO pinova Raspberry Pi -a slijedeći gornji dijagram.

Korak 3: Izradite skriptu za kontrolu i testiranje LED dioda

Napravite skriptu za kontrolu i testiranje LED dioda
Napravite skriptu za kontrolu i testiranje LED dioda

Na svom Raspberry Pi otvorite IDLE (Izbornik> Programiranje> Python 2 (IDLE)).

Otvorite novi projekt idite na Datoteka> Nova datoteka. Zatim upišite (ili kopirajte i zalijepite) sljedeći kod:

uvezite RPi. GPIO kao GPIO

vrijeme uvoza 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.izlaz (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. izlaz (23, lažno)

Spremite svoj projekt kao multilights.py (Datoteka> Spremi kao) u mapu Raspberry Pis Documents.

Na vašem Raspberry Pi otvorite Terminal (Izbornik> Pribor> Terminal) i idite do mape Dokumenti upisivanjem sljedećeg:

cd/home/pi/Dokumenti

Sada možete pokrenuti novu skriptu upisivanjem sljedećeg:

python multilights.py

Svjetla će se redom uključivati i isključivati. Gornja skripta koristi naredbu time.sleep za stvaranje pauze između svakog koraka, pri čemu svako svjetlo ostaje uključeno 3 sekunde i čeka 1 sekundu prije nego uključi sljedeće svjetlo.

Korak 4: Dodavanje fleksibilnosti pomoću parametara i uvjetnih izjava

Korištenjem parametara i uvjetnih izjava možemo učiniti gornju skriptu mnogo fleksibilnijom.

Parametar vam omogućuje spremanje vrijednosti koju kasnije možete koristiti u skripti. Najčešći tipovi vrijednosti su nizovi (tekst), cijeli brojevi (cijeli brojevi) ili float (decimalni brojevi).

Uvjetna izjava će odrediti treba li segment koda biti izveden provjerom je li ispunjen određeni uvjet. Uvjet također može uključivati parametre.

Otvorite IDLE na svom Raspberry Pi i otvorite novi projekt (Datoteka> Nova datoteka). Zatim upišite sljedeće. Budite sigurni da ste uključili sve uvlake (kartice) pomoću tipke tab:

uvezite RPi. GPIO kao GPIO

vrijeme uvoza iz 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 whichled == "a": GPIO.output (LEDa, False) if whichled == "b": GPIO.output (LEDb, False) ifledled == "c": GPIO.izlaz (LEDc, Netačno) ako je = = "d": GPIO.izlaz (LEDd, Netačno) ako je bio == "sve": GPIO.izlaz (LEDa, Netačno) GPIO.izlaz (LEDb, Netačno) GPIO. izlaz (LEDc, False) GPIO.output (LEDd, False) if ledaction == "on": if whichled == "a": GPIO.output (LEDa, True) ifledled == "b": GPIO.output (LEDb, Tačno) ako je ispisano == "c": GPIO.izlaz (LEDc, Tačno) ako je ispisano == "d": Izlaz GPIO (LEDd, Istina) ako je ispisano == "sve": GPIO.izlaz (LEDa, Tačno) GPIO.izlaz (LEDb, Tačno) GPIO.izlaz (LEDc, Tačno) GPIO.izlaz (LEDd, Tačno)

Spremite svoj projekt kao controllight.py (Datoteka> Spremi kao) u mapu Dokumenti. Sada otvorite Terminal (Izbornik> Pribor> Terminal) i upišite sljedeću naredbu:

python controllight.py b uključeno

Druga LED dioda bi se trebala uključiti. Sada upišite sljedeće:

python controllight.py b isključeno

Druga LED dioda bi se trebala isključiti.

U retcima 5, 6, 7 i 8 stvaramo parametre LEDa, LEDb, LEDc i LEDd za spremanje GPIO pina na koji smo spojili LED. To nam omogućuje korištenje alternativnih GPIO pinova bez potrebe za značajnim promjenama u skripti.

Na primjer, ako bismo umjesto toga prvi LED diode priključili na Pin 3 (GPIO 2), samo bismo trebali promijeniti redak 5 na sljedeće:

LEDa = 2

Redak 4 sprema vrijednosti koje ste unijeli nakon controllight.py u parametreledled (c) i ledaction (on). Skripta zatim koristi ove parametre, zajedno s brojnim uvjetnim izjavama, kako bi odlučila koju LED diodu kontrolirati i hoće li je uključiti ili isključiti.

Redak 16 (ako je ledaction == "on":) uvjetna je naredba. Uvučeni redovi koji slijede ovu naredbu izvodit će se samo ako je uvjet izraza ispunjen. U ovom scenariju uvjet je da lekcija sadrži tekst na.

Čitajući ostale uvjetne izjave skripte, možete li predvidjeti što će se dogoditi kada u Terminal unesete sljedeću naredbu?

python controllight.py sve uključeno

Zašto ne biste pokušali i objavili svoj odgovor u donjem odjeljku komentara.

Preporučeni: