INHOUDSOPGAWE:
- Stap 1: wat u benodig
- Stap 2: Bou u stroombaan
- Stap 3: Skep 'n script om die LED's te beheer en te toets
- Stap 4: Voeg buigsaamheid by deur parameters en voorwaardelike stellings te gebruik
Video: Die beheer van verskeie LED's met Python en die GPIO -penne van u Framboos Pi: 4 stappe (met foto's)
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:25
Hierdie instruksie demonstreer hoe u verskeie GPIO -penne op u RaspberryPi kan beheer om 4 LED's aan te dryf. Dit sal u ook bekendstel aan parameters en voorwaardelike stellings in Python.
Ons vorige instruksies met behulp van die GPIO -penne van u Raspberry Pi om 'n LED te beheer, demonstreer hoe u 'n enkele LED kan aan- en uitskakel met behulp van die GPIO.output -opdrag. Hierdie instruksie bou voort op die kennis om u te leer hoe u meer beheer oor u kring kan kry.
Stap 1: wat u benodig
- 'n RaspberryPi met Raspbian reeds geïnstalleer. U moet ook toegang hê tot die Pi met behulp van 'n monitor, muis en sleutelbord of via afstandsbediening. U kan enige Raspberry Pi -model gebruik. As u een van die Pi Zero -modelle het, kan u 'n paar kopknoppies aan die GPIO -poort soldeer.
- Rooi, blou, geel en groen LED's
- 'n Soldeerlose prototipe broodpan
- 4 x 330 ohm weerstande
- 'n Paar truie van manlik tot vroulik
Stap 2: Bou u stroombaan
Bou die bogenoemde stroombaan op u broodbord en maak seker dat nie een van die komponente se leidings aan mekaar raak nie en dat die LED's korrek gekoppel is.
Hoe identifiseer u die positiewe en negatiewe leidrade (die polariteit) op u LED's? As u 'n LED noukeurig bekyk, sal u sien dat dit twee klein stukke metaal in die gekleurde omhulsel het. Dit word die anode en katode genoem. Die katode is die grootste van die twee en is ook gekoppel aan die LED's se negatiewe lood.
Nadat u u stroombaan nagegaan het, sluit u die jumperkabels aan op die GPIO -penne van u Raspberry Pi deur die diagram hierbo te volg.
Stap 3: Skep 'n script om die LED's te beheer en te toets
Open IDLE op u Raspberry Pi (Kieslys> Programmering> Python 2 (IDLE)).
Maak 'n nuwe projek oop, gaan na File> New File. Tik dan (of kopieer en plak) die volgende kode:
voer RPi. GPIO in as GPIO
invoertyd 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. uitset (23, vals)
Stoor u projek as multilights.py (File> Save As) in u Raspberry Pis Documents -lêergids.
Open Terminal op u Raspberry Pi (Menu> Accessories> Terminal) en navigeer na u Documents -lêergids deur die volgende in te tik:
cd/home/pi/dokumente
U kan u nuwe script nou uitvoer deur die volgende in te tik:
python multilights.py
Die ligte sal om die beurt weer aan- en afskakel. Bogenoemde skrif gebruik die time.sleep -opdrag om 'n pouse tussen elke stap te skep, sodat elke lig vir 3 sekondes aanhou en 1 sekonde wag voordat die volgende lig aangeskakel word.
Stap 4: Voeg buigsaamheid by deur parameters en voorwaardelike stellings te gebruik
Deur parameters en voorwaardelike stellings te gebruik, kan ons die bogenoemde skrif baie meer buigsaam maak.
Met 'n parameter kan u 'n waarde stoor wat u later in die script kan gebruik. Die mees algemene tipes waardes is snare (teks), heelgetalle (heelgetalle) of vlotte (desimale getalle).
'N Voorwaardelike verklaring bepaal of 'n kodesegment uitgevoer moet word of nie, deur te kontroleer of aan 'n sekere voorwaarde voldoen word. Die toestand kan ook parameters behels.
Maak IDLE oop op u Raspberry Pi en maak 'n nuwe projek oop (File> New File). Tik dan die volgende. Wees versigtig om seker te maak dat al die strepies (oortjies) ingesluit is deur die tabsleutel te gebruik:
voer RPi. GPIO in as GPIO
invoer tyd van sys invoer argv wat = 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 whled == "b": GPIO.output (LEDb, False) if whled == "c": GPIO.output (LEDc, False) if whichled == "d": GPIO.output (LEDd, False) if whled == "all": GPIO.output (LEDa, False) GPIO.output (LEDb, False) GPIO. uitvoer (LEDc, Vals) GPIO.output (LEDd, Onwaar) as ledaction == "aan": as watled == "a": GPIO.output (LEDa, True) as kronkel == "b": GPIO.output (LEDb, True) as whled == "c": GPIO.output (LEDc, True) as whichled == "d": GPIO.output (LEDd, True) as whled == "all": GPIO.output (LEDa, True) GPIO.output (LEDb, True) GPIO.output (LEDc, True) GPIO.output (LEDd, True)
Stoor u projek as controllight.py (File> Save As) in u Documents -lêergids, maak Terminal (Menu> Accessories> Terminal) oop en tik die volgende opdrag:
python controllight.py b op
Die tweede LED moet aanskakel. Tik nou die volgende:
python controllight.py b af
Die tweede LED moet afskakel.
In reëls 5, 6, 7 en 8 skep ons die parameters LEDa, LEDb, LEDc en LEDd om op te slaan watter GPIO -pen ons aan watter LED gekoppel het. Dit stel ons in staat om alternatiewe GPIO -penne te gebruik sonder om wesenlike veranderinge aan die script aan te bring.
Byvoorbeeld, as ons die eerste LED's aan die Pin 3 (GPIO 2) koppel, moet ons net lyn 5 na die volgende verander:
LEDa = 2
Reël 4 stoor die waardes wat u na controllight.py getik het in die parameters wat (c) en ledaction (aan). Die script gebruik dan hierdie parameters, saam met 'n aantal voorwaardelike verklarings om te besluit watter LED om te beheer en of dit aan of uit moet word.
Reël 16 (as ledaction == "aan":) is 'n voorwaardelike verklaring. Die ingekeepte lyne wat op hierdie stelling volg, sal slegs loop as daar aan die voorwaarde van die verklaring voldoen word. In hierdie scenario is die voorwaarde dat ledaction die teks bevat.
Deur die ander voorwaardelike verklarings van die script deur te lees, kan u voorspel wat sal gebeur as u die volgende opdrag in Terminal tik?
python controllight.py alles aan
Waarom probeer u nie en plaas u antwoord in die kommentaarafdeling hieronder?
Aanbeveel:
Arduino -beheer van verskeie P.I.R -sensor op dieselfde bord: 3 stappe
Arduino -beheer van veelvuldige PIR -sensor op dieselfde bord: vandag sal ek u vertel hoe u verskeie PIR -sensors met 'n enkele Arduino Bord kan koppel, hier het ek ook 'n 4 -kanaals relaismodule gebruik vir ekstra funksionaliteit. (OF jy kan soveel as wat jy jou arduin gebruik, gebruik
Die beheer van DC -motors met die L298N met behulp van CloudX -mikrobeheerder: 3 stappe
Die beheer van DC-motors met die L298N met behulp van CloudX-mikrobeheerder: In hierdie projek sal ons verduidelik hoe ons ons L298N H-brug kan gebruik om die spoed van die DC-motor te verhoog en te verlaag. Die L298N H-brugmodule kan gebruik word met motors met 'n spanning tussen 5 en 35V DC. Daar is ook 'n ingeboude 5V-reguleerder, so as u
Outonome beheer van die toerusting van die motor met terugvoerstelsel vanaf 'n IR -toerenteller: 5 stappe (met foto's)
Outonome beheer van die toerusting van die motor met terugvoerstelsel vanaf 'n IR -toerenteller: daar is altyd 'n behoefte om 'n proses te outomatiseer, of dit nou eenvoudig/monsteragtig is. metodes om ons klein stukkie grond te water/besproei. Die probleem van geen huidige toevoerlyn nie
Hoe om die temperatuur van die bierfermentasie en die swaartekrag van u slimfoon te beheer: 4 stappe (met foto's)
Hoe om die temperatuur van die bierfermentasie en -gravitasie vanaf u slimfoon te beheer: as bier fermenteer, moet u die erns en temperatuur daarvan daagliks monitor. Dit is maklik om te vergeet om dit te doen, en as u weg is, is dit onmoontlik. Na 'n bietjie gegoogle het ek verskeie oplossings gevind vir outomatiese swaartekragmonitering (een, twee, drie). Een van die
Instruksies vir die voltooiing van die opmaak van die baanskyfontwerp vir die opheffing/verlaging van die middelste voetsteun op motorwielstoele: 9 stappe (met foto's)
Instruksies vir die voltooiing van die opmaak van die baanskyfontwerp vir die opheffing/verlaging van die middelste voetsteun op motorwielstoele: die middelste voetsteunhysers moet goed onder die sitplek geberg word en laer om te ontplooi. 'N Meganisme vir die onafhanklike werking van die opberging en ontplooiing van voetsteun is nie ingesluit by rolstoele op die mark nie, en PWC -gebruikers het die behoefte uitgespreek