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, Novembar
Anonim
Upravljanje više LED dioda s Pythonom i GPIO pinovima vašeg Raspberry Pi
Upravljanje više LED dioda s Pythonom i GPIO pinovima vašeg Raspberry Pi

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

Naši prethodni instruktivi pomoću GPIO pinova vašeg Raspberry Pi -a za kontrolu LED -a pokazuju kako uključiti i isključiti jednu LED 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: Šta će vam trebati

Šta će vam trebati
Šta će vam trebati
Šta će vam trebati
Šta će vam trebati

- RaspberryPi sa već instaliranim Raspbian -om. Takođe ćete morati imati pristup Pi -u pomoću monitora, miša i tastature 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 pinove zaglavlja na GPIO port.

- Crvene, plave, žute i zelene LED diode

- Matična ploča za izradu prototipa bez lemljenja

- 4 x 330 ohm otpornici

- Neke muške do ženske kratkospojnice

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 nijedan od dijelova komponenti ne dodiruje i da su LED diode pravilno spojene.

Kako prepoznajete pozitivne i negativne vodiče (polaritet) na LED diodama? Ako pažljivo 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 vodič LED dioda.

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

Korak 3: Kreirajte skriptu za kontrolu i testiranje LED dioda

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

Na vašem Raspberry Pi otvorite IDLE (Meni> 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.output (17, Tačno) 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)

Sačuvajte svoj projekat kao multilights.py (Datoteka> Sačuvaj kao) u fascikli Raspberry Pis Documents.

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

cd/home/pi/Documents

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, čineći da svako svjetlo ostane uključeno 3 sekunde i da čeka 1 sekundu prije nego što 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).

Uslovni iskaz će odrediti treba li segment koda izvršiti provjerom da li je određeni uvjet ispunjen. Uslov može uključivati i 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 uvoz 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 isključeno == "d": Izlaz GPIO (LEDd, Netačno) ako je isključeno == "sve": GPIO.izlaz (LEDa, Netačno) GPIO.izlaz (LEDb, Netačno) GPIO. izlaz (LEDc, Netačno) GPIO.output (LEDd, False) ako je ledaction == "on": if whichled == "a": GPIO.output (LEDa, True) if whichled == "b": GPIO.output (LEDb, Tačno) ako je isključeno == "c": GPIO.izlaz (LEDc, Tačno) ako je ispisano == "d": Izlaz GPIO (LEDd, Tačno) 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 (Meni> 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 redovima 5, 6, 7 i 8 stvaramo parametre LEDa, LEDb, LEDc i LEDd za spremanje GPIO pina na koji smo povezali 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

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

Red 16 (ako je ledaction == "on":) uvjetna je naredba. Uvučene linije koje 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čuje se: