Satura rādītājs:

Vairāku gaismas diodes vadīšana ar Python un jūsu Raspberry Pi GPIO tapām: 4 soļi (ar attēliem)
Vairāku gaismas diodes vadīšana ar Python un jūsu Raspberry Pi GPIO tapām: 4 soļi (ar attēliem)

Video: Vairāku gaismas diodes vadīšana ar Python un jūsu Raspberry Pi GPIO tapām: 4 soļi (ar attēliem)

Video: Vairāku gaismas diodes vadīšana ar Python un jūsu Raspberry Pi GPIO tapām: 4 soļi (ar attēliem)
Video: LED ĀRA PROŽEKTROS AR KUSTĪBAS SENSORU 20W | ŪDENSDROŠS IP66 | 1600lm | NEITRĀLI BALTA GAISMA 4500K 2024, Novembris
Anonim
Vairāku gaismas diodes vadīšana ar Python un jūsu Raspberry Pi GPIO tapām
Vairāku gaismas diodes vadīšana ar Python un jūsu Raspberry Pi GPIO tapām

Šī pamācība parāda, kā savā RaspberryPi kontrolēt vairākas GPIO tapas, lai darbinātu 4 gaismas diodes. Tas arī iepazīstinās jūs ar parametriem un nosacījuma paziņojumiem Python.

Mūsu iepriekšējā instrukcija, izmantojot Raspberry Pi GPIO tapas, lai kontrolētu LED, parāda, kā ieslēgt un izslēgt vienu gaismas diodi, izmantojot komandu GPIO.output. Šī pamācība balstās uz šīm zināšanām, lai iemācītu jums iegūt lielāku kontroli pār ķēdi.

1. darbība. Kas jums būs nepieciešams

Kas jums būs nepieciešams
Kas jums būs nepieciešams
Kas jums būs nepieciešams
Kas jums būs nepieciešams

- RaspberryPi ar jau instalētu Raspbian. Jums būs arī jāspēj piekļūt Pi, izmantojot monitoru, peli un tastatūru vai izmantojot attālo darbvirsmu. Jūs varat izmantot jebkuru Raspberry Pi modeli. Ja jums ir viens no Pi Zero modeļiem, iespējams, vēlēsities lodēt dažas galvenes tapas GPIO portā.

- Sarkanas, zilas, dzeltenas un zaļas gaismas diodes

- bez lodēšanas prototipu maizes dēlis

- 4 x 330 omi rezistori

- Daži džemperi no vīriešiem līdz sievietēm

2. solis: izveidojiet ķēdi

Izveidojiet savu ķēdi
Izveidojiet savu ķēdi
Izveidojiet savu ķēdi
Izveidojiet savu ķēdi

Izveidojiet iepriekš minēto shēmu uz maizes dēļa, pārliecinoties, ka neviens no komponentu vadiem nepieskaras un vai gaismas diodes ir savienotas pareizi.

Kā noteikt gaismas diodes pozitīvos un negatīvos vadus (polaritāti)? Ja paskatās uz gaismas diodi, jūs redzēsit, ka krāsainajā korpusā ir divi mazi metāla gabali. Tos sauc par anodiem un katodiem. Katods ir lielākais no diviem, un tas ir savienots arī ar gaismas diodes negatīvo vadu.

Kad esat pārbaudījis ķēdi, pievienojiet Raspberry Pi GPIO tapas savienojuma kabeļus, ievērojot iepriekš redzamo diagrammu.

3. darbība: izveidojiet skriptu, lai kontrolētu un pārbaudītu gaismas diodes

Izveidojiet skriptu, lai kontrolētu un pārbaudītu gaismas diodes
Izveidojiet skriptu, lai kontrolētu un pārbaudītu gaismas diodes

Savā Raspberry Pi atveriet IDLE (Izvēlne> Programmēšana> Python 2 (IDLE)).

Atveriet jaunu projektu, dodieties uz Fails> Jauns fails. Pēc tam ierakstiet (vai kopējiet un ielīmējiet) šādu kodu:

importēt RPi. GPIO kā GPIO

importēšanas laiks 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. izvade (23, nepatiesa)

Saglabājiet savu projektu mapē Raspberry Pis Documents kā multilights.py (Fails> Saglabāt kā).

Raspberry Pi atveriet termināli (Izvēlne> Aksesuāri> Terminālis) un dodieties uz mapi Dokumenti, ierakstot šo:

cd/home/pi/Dokumenti

Tagad varat palaist savu jauno skriptu, ierakstot šo:

python multilights.py

Lukturi to ieslēgs un ieslēgs pēc kārtas. Iepriekš minētais skripts izmanto komandu time.sleep, lai izveidotu pauzi starp katru soli, liekot katrai gaismai iedegties 3 sekundes un pagaidīt 1 sekundi pirms nākamās gaismas ieslēgšanas.

4. darbība. Elastības pievienošana, izmantojot parametrus un nosacījumus

Izmantojot parametrus un nosacījumus, mēs varam padarīt iepriekš minēto skriptu daudz elastīgāku.

Parametrs ļauj saglabāt vērtību, kuru varat izmantot vēlāk skriptā. Visizplatītākie vērtību veidi ir virknes (teksts), veseli skaitļi (veseli skaitļi) vai pludiņi (decimālskaitļi).

Nosacījuma paziņojums noteiks, vai koda segments ir jāizpilda, pārbaudot, vai ir izpildīts kāds nosacījums. Nosacījums var ietvert arī parametrus.

Atveriet IDLE savā Raspberry Pi un atveriet jaunu projektu (Fails> Jauns fails). Pēc tam ierakstiet šādu. Izmantojot tabulēšanas taustiņu, uzmanieties, lai nodrošinātu visu ievilkumu (cilņu) iekļaušanu.

importēt RPi. GPIO kā GPIO

importēšanas laiks no sistēmas importēt 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 wholed == "a": GPIO.output (LEDa, False) if wholed == "b": GPIO.output (LEDb, False), ja norādīts == "c": GPIO.output (LEDc, False) if wholed == "d": GPIO.output (LEDd, False), ja norādīts == "all": GPIO.output (LEDa, False) GPIO.output (LEDb, False) GPIO. izeja (LEDc, nepatiesa) GPIO.output (LEDd, False), ja ledaction == "on": if wholed == "a": GPIO.output (LEDa, True), ja norādīts == "b": GPIO.output (LEDb, True), ja norādīts == "c": GPIO.output (LEDc, True), ja norādīts == "d": GPIO.output (LEDd, True), ja tas ir norādīts == "all": GPIO.output (LEDa, True) GPIO.izvade (LEDb, True) GPIO.izvade (LEDc, True) GPIO.izvade (LEDd, True)

Saglabājiet projektu mapē Dokumenti kā controllight.py (Fails> Saglabāt kā). Tagad atveriet termināli (Izvēlne> Piederumi> Terminālis) un ierakstiet šādu komandu:

python controllight.py b ieslēgts

Otrajai gaismas diodei vajadzētu iedegties. Tagad ierakstiet šādu:

python controllight.py b izslēgts

Otrajai gaismas diodei vajadzētu izslēgties.

5., 6., 7. un 8. rindā mēs izveidojam parametrus LEDa, LEDb, LEDc un LEDd, lai saglabātu, kuram GPIO tapai mēs esam pievienojušies. Tas ļauj mums izmantot alternatīvas GPIO tapas, neveicot būtiskas izmaiņas skriptā.

Piemēram, ja mēs savienotu pirmās gaismas diodes ar 3. tapu (GPIO 2), mums vienkārši jāmaina 5. līnija uz šādu:

LEDa = 2

4. rindā parametros cold un ledaction (ieslēgts) tiek saglabātas pēc controllight.py ievadītās vērtības. Pēc tam skripts izmanto šos parametrus kopā ar vairākiem nosacījumiem, lai izlemtu, kuru gaismas diodi vadīt un vai to ieslēgt vai izslēgt.

16. rinda (ja ledaction == "on":) ir nosacījuma paziņojums. Atkāpes, kas seko šim apgalvojumam, darbosies tikai tad, ja būs izpildīts paziņojuma nosacījums. Šādā gadījumā nosacījums ir tāds, ka ledaction satur tekstu.

Izlasot citus skripta nosacītos paziņojumus, vai varat paredzēt, kas notiks, kad terminālī ierakstīsit šādu komandu?

python controllight.py viss ieslēgts

Kāpēc ne izmēģināt un publicēt savu atbildi zemāk esošajā komentāru sadaļā.

Ieteicams: