Sisällysluettelo:
- Vaihe 1: Mitä tarvitset
- Vaihe 2: Rakenna piiri
- Vaihe 3: Luo komentosarja LEDien ohjaamiseksi ja testaamiseksi
- Vaihe 4: Joustavuuden lisääminen parametrien ja ehdollisten lausekkeiden avulla
Video: Useiden LEDien ohjaaminen Pythonilla ja Raspberry Pi: n GPIO -nastoilla: 4 vaihetta (kuvilla)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:00
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
- 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 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
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:
Vu -mittari Neopixel -ledien avulla: 8 vaihetta (kuvilla)
Vu -mittari Neopixel -ledien avulla: Tässä opetusohjelmassa näytän sinulle, kuinka rakentaa kaunis VU -mittari neopixel -LEDien avulla. Siinä on 5 erilaista animaatiota, valon voimakkuuden säätö ja herkkyyden säätö. super helppoa aloitetaan
MIDI -rumpusetti Pythonilla ja Arduinolla: 5 vaihetta (kuvilla)
MIDI -rumpusetti Pythonilla ja Arduinolla: Olen aina halunnut ostaa rumpusarjan lapsesta asti. Silloin kaikilla musiikkilaitteilla ei ollut kaikkia digitaalisia sovelluksia, kuten meillä on paljon tänään, joten hinnat ja odotukset olivat liian korkeat. Olen äskettäin päättänyt ostaa c
Useiden anturien liittäminen RASPBERRY PI -laitteeseen: 6 vaihetta (kuvilla)
Useiden anturien liittäminen vadelmaan PI: Tähän projektiin liitämme kolme Atlas Scientificin EZO -anturia (pH, liuennut happi ja lämpötila) Raspberry Pi 3B+-laitteeseen. Piirien kytkemisen Raspberry Pi: n sijasta käytämme Whitebox Labs Tentacle T3 -suojaa. T
QuizzPi, Raspberry Pi triviapeli Pythonilla: 7 vaihetta (kuvilla)
QuizzPi, Raspberry Pi triviapeli Pythonilla: QuizzPi on arcade -tyyppinen triviapeli. QuizzPi syntyi, koska minulla oli tarve tarjota tyttärelleni viihdettä. Hän on 7 -vuotias ja vaatii jo uuden teknologian käyttöä, ajatuksena oli luoda jotain, joka oli sekä hauskaa että opettavaista
LEDien ohjaaminen prosessoinnin ja Arduinon avulla: 5 vaihetta
Kuinka hallita LED -valoja käsittelyn ja Arduinon avulla: Toissapäivänä kohtasin mielenkiintoisen ongelman, ja minun piti hallita useita valoja tietokoneen näytön vuorovaikutuksesta, ja sen piti olla mahdollisimman halpa. Ajattelin heti Arduinoa. Siinä oli joka