- Seitsemän segmentin näyttö:
- Vaaditut komponentit:
- Piiri ja työskentely Selitys:
- Ohjelmoinnin selitys:
Raspberry Pi on ARM-arkkitehtuuriprosessoripohjainen kortti, joka on suunniteltu elektroniikkasuunnittelijoille ja harrastajille. PI on yksi luotetuimmista projektien kehittämisalustoista. Suuremmalla prosessorinopeudella ja 1 Gt: n RAM-muistilla PI: tä voidaan käyttää monissa korkean profiilin projekteissa, kuten Kuvankäsittely ja IoT.
Minkä tahansa korkean profiilin projektin suorittamiseksi on ymmärrettävä PI: n perustoiminnot. Käsittelemme kaikki Raspberry Pi: n perustoiminnot näissä opetusohjelmissa. Jokaisessa opetusohjelmassa keskustelemme yhdestä PI: n toiminnoista. Tämän Raspberry Pi Tutorials -sarjan loppuun mennessä voit oppia Raspberry Pi: tä ja tehdä itse hyviä projekteja. Käy läpi alla olevat opetusohjelmat:
- Raspberry Pi: n käytön aloittaminen
- Vadelma Pi -määritys
- LED vilkkuu
- Painikkeiden välinen liitäntä
- Vadelma Pi PWM-sukupolvi
- LCD-yhteys Raspberry Pi: n kanssa
- DC-moottorin ohjaus
- Askelmoottorin ohjaus
- Interfacing Shift Register
- Vadelma Pi ADC -opastus
- Servomoottorin ohjaus
- Kapasitiivinen kosketuslevy
Tässä opetusohjelmassa aiomme tehdä Raspberry Pi 7 -segmenttinäyttöliittymän. Seitsemän segmenttinäyttöä ovat halvimmat näyttöyksikölle. Pari näistä segmenteistä, jotka on pinottu yhteen, voidaan käyttää lämpötilan, laskurin arvon jne. Näyttämiseen. Yhdistämme 7 segmentin näyttöyksikön PI: n GPIO: hon ja ohjaamme niitä näyttämään numeroita vastaavasti. Sen jälkeen kirjoitamme PYTHON-ohjelmassa seitsemän segmenttinäyttöä laskemaan välillä 0-9 ja palauttamaan itsensä nollaan.
Seitsemän segmentin näyttö:
7 segmenttinäyttöä on erityyppisiä ja -kokoisia. Olemme käsitelleet seitsemän segmenttiä, jotka työskentelevät yksityiskohtaisesti täällä. Pohjimmiltaan on olemassa kahta tyyppiä 7 segmenttiä, yhteinen anodityyppi (Common Positive or Common VCC) ja Common Cathode -tyyppi (Common Negative tai Common Ground).
Yhteinen anodi (CA): Tässä kaikkien 8 LEDin kaikki negatiiviset liittimet (katodi) on kytketty yhteen (katso alla oleva kaavio), nimeltään COM. Ja kaikki positiiviset päätteet jätetään yksin.
Yhteinen katodi (CC): Tässä kaikkien 8 LEDin kaikki positiiviset liittimet (anodit) on kytketty yhteen, nimeltään COM. Ja kaikki negatiiviset termiset jätetään yksin.
Nämä CC- ja CA-seitsemän segmenttinäytöt ovat erittäin käteviä samalla, kun multipleksoidaan useita soluja yhteen. Opetusohjelmassa käytämme CC- tai Common Cathode Seven Segment -näyttöä.
Olemme jo yhdistäneet 7 segmentin 8051: llä, Arduinon ja AVR: n kanssa. Olemme myös käyttäneet 7 segmentin näyttöä monissa projekteissamme.
Keskustelemme hieman Raspberry Pi GPIO: sta ennen jatkamista, Raspberry Pi 2: ssa on 40 GPIO-lähtöpistettä. Mutta 40: stä vain 26 GPIO-nastaa (GPIO2 - GPIO27) voidaan ohjelmoida, katso alla oleva kuva. Jotkut näistä nastoista suorittavat joitain erityistoimintoja. Erityisen GPIO: n syrjinnällä meillä on jäljellä 17 GPIO: ta.
GPIO: n (nasta 1 tai 17) + 3,3 V -signaali riittää ajamaan 7-segmenttinäyttöä. Virtarajan antamiseksi käytämme 1KΩ -vastusta kullekin segmentille piirikaavion mukaisesti.
Jos haluat tietää enemmän GPIO-nastoista ja niiden nykyisistä lähdöistä, käy läpi: LED vilkkuu Raspberry Pi: n kanssa
Vaaditut komponentit:
Tässä käytämme Raspberry Pi 2 -mallia B Raspbian Jessie -käyttöjärjestelmän kanssa. Kaikista laitteisto- ja ohjelmistovaatimuksista on keskusteltu aiemmin, voit etsiä niitä Raspberry Pi -johdannosta, paitsi mitä tarvitsemme:
- Liitintapit
- Yhteisen katodin 7 segmentin näyttö (LT543)
- 1KΩresistori (8 kpl)
- Leipälauta
Piiri ja työskentely Selitys:
Yhteydet, jotka tehdään Interfacing 7 -segmentin näyttämiselle Vadelma Pi: lle, on esitetty alla. Olemme käyttäneet tässä tavallista katodi 7 -segmenttiä:
PIN1 tai e ------------------ GPIO21
PIN2 tai d ------------------ GPIO20
PIN4 tai c ------------------ GPIO16
PIN5 tai h tai DP ---------- GPIO 12 // ei ole pakollinen, koska emme käytä desimaalia
PIN6 tai b ------------------ GPIO6
PIN7 tai ------------------ GPIO13
PIN9 tai f ------------------ GPIO19
PIN10 tai g ---------------- GPIO26
PIN3 tai PIN8 ------------- kytketty maahan
Joten käytämme PI: n 8 GPIO-nastaa 8-bittisenä PORT-porttina. Tässä GPIO13 on LSB (vähiten merkitsevä bitti) ja GPIO 12 on MSB (tärkein bitti).
Nyt jos haluamme näyttää Numero ”1”, meidän täytyy valtaan segmentteihin B ja C. Segmenttien B ja C virran saamiseksi meidän on kytkettävä virta GPIO6: een ja GPIO16: een. Joten 'PORT' -toiminnon tavu on 0b00000110 ja 'PORT'in heksadesimaaliarvo on 0x06. Kun molemmat nastat ovat korkealla, näytöllä näkyy “1”.
Olemme kirjoittaneet arvot jokaiselle näytettävälle numerolle ja tallentaneet nämä arvot merkkijonoon nimeltä DISPLAY (Tarkista alla oleva Koodi-osio). Sitten olemme kutsuneet nämä arvot yksitellen näyttämään vastaavan numeron näytöllä käyttämällä toimintoa 'PORT'.
Ohjelmoinnin selitys:
Kun kaikki on kytketty piirikaavion mukaisesti, voimme käynnistää PI: n kirjoittamaan ohjelman PYHTON-muodossa.
Puhumme muutamasta komennosta, joita aiomme käyttää PYHTON-ohjelmassa, Aiomme tuoda GPIO-tiedoston kirjastosta, alla oleva toiminto antaa meille mahdollisuuden ohjelmoida PI: n GPIO-nastat. Nimeämme myös "GPIO": n "IO: ksi", joten aina kun haluamme viitata GPIO-nastoihin, käytämme sanaa "IO".
tuo RPi.GPIO IO: ksi
Joskus, kun GPIO-nastat, joita yritämme käyttää, saattavat tehdä joitain muita toimintoja. Siinä tapauksessa saamme varoituksia ohjelman suorituksen aikana. Alla oleva komento kehottaa PI: tä ohittamaan varoitukset ja jatkamaan ohjelmaa.
IO.setwarnings (väärä)
Voimme viitata PI: n GPIO-nastoihin joko aluksella olevalla pin-numerolla tai niiden toimintonumerolla. Kuten taululla oleva PIN-koodi 29, on GPIO5. Joten sanomme täällä joko aion edustaa tappi tässä '29' tai '5'.
IO.setmode (IO.BCM)
Asetamme 8 GPIO-nastaa lähtöliittimiksi LCD: n Data- ja Control-nastoille.
IO.setup (13, IO.OUT) IO.setup (6, IO.OUT) IO.setup (16, IO.OUT) IO.setup (20, IO.OUT) IO.setup (21, IO.OUT) IO.setup (19, IO.OUT) IO.setup (26, IO.OUT) IO.setup (12, IO.OUT)
Jos aaltosulkeiden ehto on totta, silmukan sisällä olevat lauseet suoritetaan kerran. Joten jos 8-bittisen nastan bit0 on tosi, PIN13 on KORKEA, muuten PIN13 on MATALA. Meillä on kahdeksan 'jos muuten' ehtoa bitille 0 - bit7, jotta sopiva LED 7-segmenttinäytössä voidaan tehdä korkeaksi tai matalaksi vastaavan luvun näyttämiseksi.
if (tappi & 0x01 == 0x01): IO. lähtö (13,1) else: IO. lähtö (13,0)
Tämä komento suorittaa silmukan 10 kertaa, x: ää lisätään 0: sta 9: een.
x: lle alueella (10):
Alla olevaa komentoa käytetään ikuisesti silmukana, tällä komennolla tämän silmukan sisällä olevat lauseet suoritetaan jatkuvasti.
Vaikka 1:
Kaikki muut toiminnot ja komennot on selitetty alla Koodi-osassa Kommenttien avulla.
Ohjelman kirjoittamisen ja suorittamisen jälkeen Raspberry Pi laukaisee vastaavat GPIO: t näyttämään numeron 7 segmentin näytöllä. Ohjelma on kirjoitettu siten, että näyttö laskee jatkuvasti 0-9.