Sisukord:
- Samm: mida vajate
- Samm: ehitage oma vooluring
- Samm: looge LED -ide juhtimiseks ja testimiseks skript
- 4. samm: paindlikkuse lisamine parameetrite ja tingimuslausete abil
Video: Mitme LED -i juhtimine Pythoni ja teie Raspberry Pi GPIO -nööpnõeltega: 4 sammu (koos piltidega)
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:47
Selles juhendis näidatakse, kuidas juhtida oma RaspberryPi mitut GPIO -nööpi 4 LED -i toiteks. Samuti tutvustab see teile Pythonis parameetreid ja tingimuslauseid.
Meie eelmine juhend, mis kasutab teie Raspberry Pi GPIO -tihvtide kasutamist LED -i juhtimiseks, näitab, kuidas ühe LED -i sisse ja välja lülitada, kasutades käsku GPIO.output. See juhend juhendab neid teadmisi ja õpetab teile, kuidas oma vooluahelat paremini juhtida.
Samm: mida vajate
- RaspberryPi, millele on juba installitud Raspbian. Samuti peab teil olema juurdepääs Pi -le monitori, hiire ja klaviatuuri või kaugtöölaua kaudu. Võite kasutada mis tahes Raspberry Pi mudelit. Kui teil on üks Pi Zero mudelitest, võiksite GPIO -porti joota mõned päisepoldid.
- punased, sinised, kollased ja rohelised LED -id
- jooteta prototüüpimise leivaplaat
- 4 x 330 oomi takistid
- Mõned isaste ja naiste hüppajate juhtmed
Samm: ehitage oma vooluring
Ehitage ülaltoodud vooluring oma leivaplaadile, veendudes, et ükski komponendi juhe ei puutu kokku ja LED -id on ühendatud õigesti.
Kuidas tuvastada oma LED -ide positiivsed ja negatiivsed juhtmed (polaarsus)? Kui vaatate LED -i tähelepanelikult, näete, et sellel on värvilise korpuse sees kaks väikest metallitükki. Neid nimetatakse anoodiks ja katoodiks. Katood on kahest suurim ja ühendatud ka LED -de negatiivse juhtmega.
Kui olete oma vooluringi kontrollinud, ühendage ülaltoodud skeemi järgides Raspberry Pi GPIO -tihvtide hüppajakaablid.
Samm: looge LED -ide juhtimiseks ja testimiseks skript
Avage oma Raspberry Pi -s IDLE (menüü> Programmeerimine> Python 2 (IDLE)).
Avage uus projekt ja valige Fail> Uus fail. Seejärel tippige (või kopeerige ja kleepige) järgmine kood:
RPi. GPIO importimine GPIO -na
importimise aeg 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.väljund (17, tõsi) time.sleep (3) GPIO.väljund (17, vale) time.sleep (1) GPIO.väljund (18, tõsi) time.sleep (3) GPIO.väljund (18, vale) time.sleep (1) GPIO.putput (22, True) time.sleep (3) GPIO.putput (22, False) time.sleep (1) GPIO.output (23, True) time.sleep (3) GPIO. väljund (23, vale)
Salvestage oma projekt kausta Raspberry Pis Documents multilights.py (Fail> Salvesta nimega).
Avage oma Raspberry Pi -s terminal (Menüü> Tarvikud> Terminal) ja navigeerige oma kausta Dokumendid, tippides järgmise:
cd/home/pi/Dokumendid
Nüüd saate oma uue skripti käivitada, tippides järgmise:
python multilights.py
Tuled lülitavad selle omakorda sisse ja välja. Ülaltoodud skript kasutab käsku time.sleep, et luua paus iga sammu vahele, nii et iga tuli jääb põlema 3 sekundiks ja ootab 1 sekund enne järgmise tule sisselülitamist.
4. samm: paindlikkuse lisamine parameetrite ja tingimuslausete abil
Parameetrite ja tingimuslausete abil saame ülaltoodud skripti palju paindlikumaks muuta.
Parameetri abil saate salvestada väärtuse, mida saate skriptis hiljem kasutada. Kõige tavalisemad väärtustüübid on stringid (tekst), täisarvud (täisarvud) või ujukid (kümnendarvud).
Tingimuslause määrab kindlaks, kas koodisegment tuleks täita või mitte, kontrollides, kas teatud tingimus on täidetud. Tingimus võib hõlmata ka parameetreid.
Avage oma Raspberry Pi -s IDLE ja avage uus projekt (Fail> Uus fail). Seejärel tippige järgmine. Tabeldusklahvi abil veenduge, et kõik taanded (vahelehed) oleksid kaasatud.
RPi. GPIO importimine GPIO -na
impordi aeg süsteemist import 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) kui ledaction == "off": if wholed == "a": GPIO.output (LEDa, False) if wholed == "b": GPIO.output (LEDb, False) if theed == "c": GPIO.väljund (LEDc, vale), kui see on == "d": GPIO.väljund (LEDd, vale), kui see on == "kõik": GPIO.väljund (LEDa, vale) GPIO.väljund (LEDb, vale) GPIO. väljund (LEDc, vale) GPIO.output (LEDd, False) if ledaction == "on": if wholed == "a": GPIO.output (LEDa, True) if theced == "b": GPIO.output (LEDb, tõene) kui märgitud == "c": GPIO.väljund (LEDc, tõene) kui pakutud == "d": GPIO.väljund (LEDd, tõene), kui see on == "kõik": GPIO.väljund (LEDa, True) GPIO.väljund (LEDb, True) GPIO.väljund (LEDc, True) GPIO.väljund (LEDd, True)
Salvestage oma projekt kausta Dokumendid nimega controllight.py (Fail> Salvesta nimega). Nüüd avage Terminal (Menüü> Tarvikud> Terminal) ja tippige järgmine käsk:
python controllight.py b sisse
Teine LED peaks põlema. Nüüd tippige järgmine:
python controllight.py b välja lülitatud
Teine LED peaks välja lülituma.
Ridadel 5, 6, 7 ja 8 loome parameetrid LEDa, LEDb, LEDc ja LEDd, et salvestada, millise GPIO tihvti oleme LED -iga ühendanud. See võimaldab meil kasutada alternatiivseid GPIO tihvte ilma skripti olulisi muudatusi tegemata.
Näiteks kui me ühendaksime esimesed valgusdioodid pistikuga 3 (GPIO 2), peaksime lihtsalt rea 5 muutma järgmiseks:
LEDa = 2
Rida 4 salvestab pärast controllight.py sisestatud väärtusi parameetritesse, mis on esitatud (c) ja ledaction (sees). Seejärel kasutab skript neid parameetreid koos hulga tingimuslike avaldustega, et otsustada, millist LED -i juhtida ja kas see sisse või välja lülitada.
16. rida (kui ledaction == "on":) on tingimuslause. Sellele avaldusele järgnevad taandrida käivitatakse ainult siis, kui avalduse tingimus on täidetud. Selle stsenaariumi puhul on tingimus, et ledaction sisaldab teksti.
Lugedes läbi skripti muid tingimuslauseid, kas saate ennustada, mis juhtub, kui sisestate terminali järgmise käsu?
python controllight.py kõik sisse
Miks mitte proovida ja postitada oma vastus allolevasse kommentaaride sektsiooni.
Soovitan:
Liikumise juhtimine Raspberry Pi ja LIS3DHTR abil, 3-teljeline kiirendusmõõtur, Pythoni kasutamine: 6 sammu
Liikumise juhtimine Raspberry Pi ja LIS3DHTR, 3-teljelise kiirendusmõõturi abil, kasutades Pythoni: Ilu ümbritseb meid, kuid tavaliselt peame selle tundmiseks aias jalutama. - RumiAsame haritud rühmana, kes me näime olevat, investeerime valdava osa oma energiast töötamiseks enne arvutite ja mobiiltelefonide kasutamist. Seetõttu laseme sageli oma heaolul
Mitme taimeriga W/ väline juhtimine: 13 sammu
Mitme taimeriga W/ väline juhtimine: see projekt Instructable on üles ehitatud mitmefunktsioonilisest taimerist. See taimer on võimeline toimima järgmiselt: üldotstarbeline häire, mille valitav aeg on vahemikus 1 sekund kuni +90 tundi. Loendur koos helisignaaliga ja/või välise juhtimisega
MITME ANTURI ÜHENDAMINE RASPBERRY PI -ga: 6 sammu (koos piltidega)
MITME ANTURI ÜHENDAMINE VAARIKA PI -ga: Selles projektis ühendame kolm Atlas Scientificu EZO andurit (pH, lahustunud hapnik ja temperatuur) Raspberry Pi 3B+-ga. Ahelate Raspberry Pi ühendamise asemel kasutame Whitebox Labsi kombitsat T3. T
Lego mitme seadme laadimisdokk, telefonitahvel: 15 sammu (koos piltidega)
Lego mitme seadme laadimisdokk, telefonitahvel: ehitage oma lego laadimisdokk
Salapära kollased täpid: kas teie printer nuhkib teie järele?: 5 sammu (piltidega)
Salapära kollased punktid: kas teie printer nuhkib teie järele?: Kujutage ette, et iga kord, kui printite dokumendi, sisaldab see automaatselt salajast koodi, mida saab kasutada printeri ja potentsiaalselt ka selle isiku tuvastamiseks. Kõlab nagu spioonifilmist, eks? Kahjuks on stsenaarium