Sisällysluettelo:

Useiden LEDien ohjaaminen Pythonilla ja Raspberry Pi: n GPIO -nastoilla: 4 vaihetta (kuvilla)
Useiden LEDien ohjaaminen Pythonilla ja Raspberry Pi: n GPIO -nastoilla: 4 vaihetta (kuvilla)

Video: Useiden LEDien ohjaaminen Pythonilla ja Raspberry Pi: n GPIO -nastoilla: 4 vaihetta (kuvilla)

Video: Useiden LEDien ohjaaminen Pythonilla ja Raspberry Pi: n GPIO -nastoilla: 4 vaihetta (kuvilla)
Video: Глава 03 - Анна Вероника Герберта Уэллса - Утро кризиса 2024, Heinäkuu
Anonim
Useiden LEDien ohjaaminen Pythonilla ja Raspberry Pi: n GPIO -nastoilla
Useiden LEDien ohjaaminen Pythonilla ja Raspberry Pi: n GPIO -nastoilla

Tämä opas osoittaa, kuinka voit ohjata RaspberryPi -laitteesi useita GPIO -nastoja 4 LED: n virtalähteeksi. Se esittelee myös parametrit ja ehdolliset lausekkeet Pythonissa.

Edellinen ohjeemme Raspberry Pi: n GPIO -nastojen käyttämisestä LED -valon ohjaamiseen osoittaa, kuinka yksittäinen LED -valo kytketään päälle ja pois päältä käyttämällä GPIO.output -komentoa. Tämä opas perustuu tähän tietoon ja opettaa sinulle, miten voit hallita piiriäsi paremmin.

Vaihe 1: Mitä tarvitset

Mitä tarvitset
Mitä tarvitset
Mitä tarvitset
Mitä tarvitset

- RaspberryPi, johon on jo asennettu Raspbian. Sinun on myös voitava käyttää Pi: tä näytön, hiiren ja näppäimistön avulla tai etätyöpöydän kautta. Voit käyttää mitä tahansa Raspberry Pi -mallia. Jos sinulla on jokin Pi Zero -malleista, saatat haluta juottaa joitakin otsikkotappeja GPIO -porttiin.

- Punainen, sininen, keltainen ja vihreä LED

- Solderless Prototyping Breadboard

- 4 x 330 ohmin vastukset

- Jotkut uros -naarasliitännät

Vaihe 2: Rakenna piiri

Rakenna piiri
Rakenna piiri
Rakenna piiri
Rakenna piiri

Rakenna yllä oleva piiri leipälevyllesi varmistaen, että mikään komponenttijohdoista ei kosketa ja että LEDit on kytketty oikein päin.

Kuinka tunnistat LED -valojen positiiviset ja negatiiviset johdot (napaisuuden)? Jos tarkastelet LED -valoa tarkasti, näet, että siinä on kaksi pientä metallikappaletta värillisen kotelon sisällä. Näitä kutsutaan anodeiksi ja katodeiksi. Katodi on suurin näistä kahdesta, ja se on myös kytketty LEDien negatiiviseen johtoon.

Kun olet tarkistanut piirisi, kytke Raspberry Pi: n GPIO -nastojen hyppyjohdot yllä olevan kaavion mukaan.

Vaihe 3: Luo komentosarja LEDien ohjaamiseksi ja testaamiseksi

Luo komentosarja LEDien ohjaamiseksi ja testaamiseksi
Luo komentosarja LEDien ohjaamiseksi ja testaamiseksi

Avaa Raspberry Pi -laitteellasi IDLE (Valikko> Ohjelmointi> Python 2 (IDLE)).

Avaa uusi projekti valitsemalla Tiedosto> Uusi tiedosto. Kirjoita sitten (tai kopioi ja liitä) seuraava koodi:

Tuo RPi. GPIO GPIO: ksi

tuontiaika 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. lähtö (23, epätosi)

Tallenna projekti nimellä multilights.py (Tiedosto> Tallenna nimellä) Raspberry Pis Documents -kansioon.

Avaa Raspberry Pi -päätelaite (Valikko> Lisävarusteet> Pääte) ja siirry Asiakirjat -kansioon kirjoittamalla seuraava:

cd/home/pi/Asiakirjat

Voit nyt suorittaa uuden komentosarjan kirjoittamalla seuraavan:

python multilights.py

Valot kytkevät sen päälle ja pois päältä. Yllä oleva komentosarja käyttää time.sleep -komentoa luodakseen tauon jokaisen vaiheen väliin, jolloin jokainen valo pysyy päällä 3 sekuntia ja odota 1 sekunti ennen seuraavan valon sytyttämistä.

Vaihe 4: Joustavuuden lisääminen parametrien ja ehdollisten lausekkeiden avulla

Käyttämällä parametreja ja ehdollisia lausuntoja voimme tehdä yllä olevasta komentosarjasta paljon joustavamman.

Parametrin avulla voit tallentaa arvon, jota voit käyttää myöhemmin komentosarjassa. Yleisimpiä arvotyyppejä ovat merkkijonot (teksti), kokonaisluvut (kokonaisluvut) tai kellukkeet (desimaaliluvut).

Ehdollinen lausunto määrittää, onko koodisegmentti suoritettava, tarkistamalla, täyttyykö tietty ehto. Ehto voi sisältää myös parametreja.

Avaa IDLE Raspberry Pi -laitteellasi ja avaa uusi projekti (Tiedosto> Uusi tiedosto). Kirjoita sitten seuraava. Varmista, että kaikki sisennykset (välilehdet) ovat mukana sarkainnäppäimellä:

Tuo RPi. GPIO GPIO: ksi

tuontiaika järjestelmästä tuonti 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) if wholed == "c": GPIO.output (LEDc, False) if wholed == "d": GPIO.output (LEDd, False) if wholed == "all": GPIO.output (LEDa, False) GPIO.output (LEDb, False) GPIO. output (LEDc, False) GPIO.output (LEDd, False) if ledaction == "on": if wholed == "a": GPIO.output (LEDa, True) if wholed == "b": GPIO.output (LEDb, True) if wholed == "c": GPIO.output (LEDc, True) if wholed == "d": GPIO.output (LEDd, True) if wholed == "all": GPIO.output (LEDa, True) GPIO. output (LEDb, True) GPIO. Output (LEDc, True) GPIO. Output (LEDd, True)

Tallenna projektisi asiakirja -kansioon controllight.py (Tiedosto> Tallenna nimellä). Avaa nyt Pääte (Valikko> Lisävarusteet> Pääte) ja kirjoita seuraava komento:

python controllight.py b päällä

Toisen LED -valon pitäisi syttyä. Kirjoita nyt seuraava:

python controllight.py b pois päältä

Toisen LED -valon pitäisi sammua.

Riveille 5, 6, 7 ja 8 luomme parametrit LEDa, LEDb, LEDc ja LEDd tallentaaksemme mihin GPIO -nastaan olemme liittäneet mihin LED -valoon. Tämän ansiosta voimme käyttää vaihtoehtoisia GPIO -nastoja tekemättä merkittäviä muutoksia komentosarjaan.

Jos esimerkiksi liitämme ensimmäiset ledit johtamaan nastaan 3 (GPIO 2), meidän tarvitsee vain vaihtaa rivi 5 seuraavasti:

LEDa = 2

Rivi 4 tallentaa arvot, jotka kirjoitit controllight.py: n jälkeen parametreihin, jotka saivat (c) ja ledaction (päällä). Sitten skripti käyttää näitä parametreja useiden ehdollisten lausekkeiden ohella päättääkseen, mitä LEDiä ohjataan ja kytketäänkö se päälle vai pois.

Rivi 16 (jos ledaction == "on":) on ehdollinen lause. Tämän lausunnon seuraavat sisennetyt rivit näytetään vain, jos lausekkeen ehto täyttyy. Tässä skenaariossa ehto on, että ledaction sisältää tekstin päällä.

Lukemalla komentosarjan muut ehdolliset lausunnot voit ennakoida, mitä tapahtuu, kun kirjoitat seuraavan komennon terminaaliin?

python controllight.py kaikki päällä

Miksi et kokeile sitä ja lähetä vastauksesi alla olevaan kommenttiosaan.

Suositeltava: