INHOUDSOPGAWE:

Die beheer van verskeie LED's met Python en die GPIO -penne van u Framboos Pi: 4 stappe (met foto's)
Die beheer van verskeie LED's met Python en die GPIO -penne van u Framboos Pi: 4 stappe (met foto's)

Video: Die beheer van verskeie LED's met Python en die GPIO -penne van u Framboos Pi: 4 stappe (met foto's)

Video: Die beheer van verskeie LED's met Python en die GPIO -penne van u Framboos Pi: 4 stappe (met foto's)
Video: 12V Bluetooth Relay to control AC or DC load using mobile Phone 2024, November
Anonim
Die beheer van verskeie LED's met Python en die GPIO -penne van u Framboos Pi
Die beheer van verskeie LED's met Python en die GPIO -penne van u Framboos Pi

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

Wat u benodig
Wat u benodig
Wat u benodig
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 u stroombaan
Bou u stroombaan
Bou u stroombaan
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

Skep 'n script om die LED's te beheer en te toets
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: