Satura rādītājs:
- 1. darbība. Kas jums būs nepieciešams
- 2. solis: izveidojiet ķēdi
- 3. darbība: izveidojiet skriptu, lai kontrolētu un pārbaudītu gaismas diodes
- 4. darbība. Elastības pievienošana, izmantojot parametrus un nosacījumus
Video: Vairāku gaismas diodes vadīšana ar Python un jūsu Raspberry Pi GPIO tapām: 4 soļi (ar attēliem)
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:54
Šī 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
- 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 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
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:
Varavīksnes gaismas diodes jūsu projektiem: 4 soļi (ar attēliem)
Varavīksnes gaismas diodes jūsu projektiem: Sveiki! Es izmantoju šīs gaismas diodes daudziem dekoratīviem projektiem, un rezultāts vienmēr ir pārsteidzošs, tāpēc es vēlos dalīties ar jums savā pieredzē. Es redzēju, ka daudzi cilvēki pērk RGB LED sloksnes kontrolierus un izmanto 3 vai 5 krāsu maiņas režīms tikai uz
Kā padarīt mūziku reaktīvu WS2812B gaismas diodes ar vairāku zīmējumu: 4 soļi
Kā padarīt mūziku reaktīvu WS2812B gaismas diodes ar vairāku zīmējumu: WS2812, WS2812B ir inteliģents kontrolēts LED gaismas avots. tai ir iebūvēta vadības mikroshēma un 4 tapas. V+, V-, Din & Dout. Lai kontrolētu šīs gaismas diodes, mēs vēlamies izmantot MCU, piemēram, Arduino, PIC vai Rasberry pīrāgu. Es šim projektam izmantoju Arduino UNO
Kā vadīt daudz gaismas diodes no dažām mikrokontrollera tapām: 6 soļi (ar attēliem)
Kā vadīt daudz gaismas diodes no dažām mikrokontrolleru tapām: izmantojot faktu, ka daudzām mikrokontrolleru tapām ir trīs stāvokļi (+V, GND vai "augsta pretestība"), jūs varat vadīt N*(N-1) gaismas diodes no N tapām . Tātad mazais 8 kontaktu mikrokontrolleris, piemēram, PIC12Fxxx vai ATtiny11, var vadīt 20 gaismas diodes uz piecām pieejamajām
Lāzera kontrolētas gaismas diodes jūsu atslēgai: 5 soļi
Lāzera kontrolētas gaismas diodes jūsu atslēgas joslai: automātiski iedegas gaismas diodes ar lāzeriem. jā, atvainojos par sliktajiem angļu valodas rādītājiem, es esmu holandietis
Gaismas diodes jūsu jūras asarim: 7 soļi
Gaismas diodes jūsu jūras asariem: vai esat kādreiz pazaudējis jūras asari duļķainajos ūdeņos? Gaismas diodes ir lielisks veids, kā palīdzēt jums atrast jūras asari un orientēties šādos apstākļos un naktī. Šis paplašinājums jūsu sadarbībai pievieno trīs gaismas diodes (sarkanu, zaļu un baltu) un vēl vienu pārslēgšanas slēdzi