- Septynių segmentų ekranas:
- Būtini komponentai:
- Grandinės ir darbo paaiškinimas:
- Programavimo paaiškinimas:
„Raspberry Pi“ yra ARM architektūros procesoriaus plokštė, skirta elektronikos inžinieriams ir mėgėjams. PI yra viena iš labiausiai patikimų projektų kūrimo platformų. Turėdamas didesnį procesoriaus greitį ir 1 GB RAM, PI gali būti naudojamas daugeliui aukšto lygio projektų, tokių kaip Vaizdo apdorojimas ir IoT.
Norint atlikti bet kurį iš aukšto rango projektų, reikia suprasti pagrindines PI funkcijas. Šiose pamokose aptarsime visas pagrindines „Raspberry Pi“ funkcijas. Kiekvienoje pamokoje aptarsime vieną iš PI funkcijų. Šios „Raspberry Pi Tutorials“ serijos pabaigoje galėsite išmokti „Raspberry Pi“ ir patys kurti gerus projektus. Peržiūrėkite žemiau esančias pamokas:
- Darbo pradžia naudojant „Raspberry Pi“
- Aviečių Pi konfigūracija
- LED mirksi
- Mygtukų sąsajos
- Aviečių Pi PWM karta
- Skystųjų kristalų ekranas sąveikauja su Raspberry Pi
- Nuolatinės srovės variklio valdymas
- Žingsninio variklio valdymas
- Sąveikaujantis pamainų registras
- Raspberry Pi ADC pamoka
- Servo variklio valdymas
- Talpinis jutiklinis kilimėlis
Šioje pamokoje mes atliksime „ Raspberry Pi 7“ segmentų rodymo sąsają. Septynių segmentų ekranai yra pigiausi ekrano įrenginiui. Pora šių segmentų, sukrautų kartu, gali būti naudojami temperatūrai, skaitiklio vertei ir kt. Parodyti. Mes sujungsime 7 segmentų rodymo bloką su PI GPIO ir valdysime juos, kad atitinkamai būtų rodomi skaitmenys. Po to PYTHON'e parašysime programą septynių segmentų rodymui, kad skaičiuotume nuo 0-9 ir nustatytume nulį.
Septynių segmentų ekranas:
Yra 7 segmentų ekranų tipai ir dydžiai. Čia išsamiai aprašėme septynis segmentus. Iš esmės yra dviejų tipų 7 segmentai, bendro anodo tipas (bendras teigiamas arba bendras VCC) ir bendras katodo tipas (bendras neigiamas arba bendras pagrindas).
Bendrasis anodas (CA): Šiuo atveju visi 8 šviesos diodų neigiami gnybtai (katodas) yra sujungti (žr. Toliau pateiktą schemą), vadinamus COM. Ir visi teigiami terminalai paliekami vieni.
Bendrasis katodas (CC): visi 8 šviesos diodų teigiami gnybtai (anodai) yra sujungti, vadinami COM. Ir visi neigiami terminiai elementai paliekami vieni.
Šie „CC“ ir „CA“ septynių segmentų ekranai yra labai naudingi, kai kelis langelius sujungia kartu. Savo pamokoje naudosime CC arba „ Common Cathode Seven Segment Display“.
Mes jau sujungėme 7 segmentus su 8051, su „Arduino“ ir su AVR. Mes taip pat naudojome 7 segmentų ekranus daugelyje savo projektų.
Prieš eidami toliau, šiek tiek aptarsime „ Raspberry Pi GPIO“, „Raspberry Pi 2“ yra 40 GPIO išvesties kaiščių. Bet iš 40 galima užprogramuoti tik 26 GPIO kaiščius (nuo GPIO2 iki GPIO27), žr. Paveikslėlį žemiau. Kai kurie iš šių kaiščių atlieka tam tikras specialias funkcijas. Atidėjus specialų GPIO, liko 17 GPIO.
GPIO (1 arba 17 kontaktų) + 3,3 V signalo pakanka valdyti 7 segmentų ekraną. Norėdami pateikti srovės ribą, kiekvienam segmentui naudosime 1KΩ rezistorių, kaip parodyta grandinės diagramoje.
Norėdami sužinoti daugiau apie GPIO kaiščius ir jų dabartinius išėjimus, pereikite: LED mirksi su Raspberry Pi
Būtini komponentai:
Čia mes naudojame „ Raspberry Pi 2 Model B“ su „Raspbian Jessie OS“. Visi pagrindiniai aparatūros ir programinės įrangos reikalavimai buvo aptarti anksčiau, jų galite rasti „Raspberry Pi“ įvade, išskyrus mums reikalingą:
- Jungiamieji kaiščiai
- 7 katodo segmento ekranas (LT543)
- 1KΩ rezistorius (8 vnt.)
- Bandomoji Lenta
Grandinės ir darbo paaiškinimas:
Ryšiai, kurie atliekami „ Interfacing 7“ segmento rodymui su „Raspberry Pi“, pateikiami žemiau. Čia naudojome „ Common Cathode 7“ segmentą:
PIN1 arba e ------------------ GPIO21
PIN2 arba d ------------------ GPIO20
PIN4 arba c ------------------ GPIO16
PIN5 arba h arba DP ---------- GPIO 12 // nėra privalomas, nes nenaudojame kablelio
PIN6 arba b ------------------ GPIO6
PIN7 arba ------------------ GPIO13
PIN9 arba f ------------------ GPIO19
PIN10 arba g ---------------- GPIO26
PIN3 arba PIN8 ------------- prijungtas prie „Ground“
Taigi mes naudosime 8 PI GPIO kaiščius kaip 8 bitų PORT. Čia GPIO13 yra LSB (mažiausiai reikšmingas bitas) ir GPIO 12 yra MSB (reikšmingiausias bitas).
Dabar, jei norime parodyti skaičių „1“, turime įjungti B ir C segmentus. Norėdami maitinti B ir C segmentus, turime maitinti GPIO6 ir GPIO16. Taigi funkcijos „PORT“ baitas bus 0b00000110, o „PORT“ šešiakampė reikšmė bus 0x06. Kai abu kaiščiai yra aukšti, rodomas „1“.
Mes užrašėme kiekvieno rodomo skaitmens vertes ir išsaugojome tas reikšmes simbolių eilutėje, pavadintoje „DISPLAY“ (patikrinkite toliau pateiktą skiltį „Kodas“). Tada mes paskambinome tas vertes po vieną, kad ekrane būtų rodomas atitinkamas skaitmuo, naudojant funkciją „PORT“.
Programavimo paaiškinimas:
Kai viskas bus prijungta pagal grandinės schemą, mes galime įjungti PI, kad programa būtų parašyta PYHTON.
Mes kalbėsime apie keletą komandų, kurias ketiname naudoti PYHTON programoje, Mes ketiname importuoti GPIO failą iš bibliotekos, žemiau pateikta funkcija leidžia mums užprogramuoti PI GPIO kaiščius. Mes taip pat pervadiname „GPIO“ į „IO“, todėl programoje, kai norime nurodyti GPIO kaiščius, naudosime žodį „IO“.
importuoti RPi.GPIO kaip IO
Kartais, kai GPIO kaiščiai, kuriuos bandome naudoti, gali atlikti kitas funkcijas. Tokiu atveju vykdydami programą gausime įspėjimus. Žemiau komanda liepia PI nepaisyti įspėjimų ir tęsti programą.
IO.setwarnings (False)
Mes galime nurodyti PI GPIO kaiščius pagal PIN kodą laive arba pagal jų funkcijos numerį. Kaip lentoje esantis „PIN 29“ yra „GPIO5“. Taigi mes sakome, kad čia mes smeigtuką atvaizduosime „29“ arba „5“.
IO.setmode (IO.BCM)
Mes nustatome 8 GPIO kaiščius kaip LCD duomenų ir valdymo kaiščius.
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)
Jei sąlyga breketuose yra teisinga, sakiniai ciklo viduje bus vykdomi vieną kartą. Taigi, jei tiesa 8bitų „PIN“ bitų0, PIN13 bus AUKŠTAS, kitaip PIN13 bus MAŽAS. Mes turime aštuonias „jei kitaip“ sąlygas nuo bitų iki bitų7, todėl atitinkamą šviesos diodą 7 segmentų ekrane galima padaryti aukštą arba žemą, kad būtų rodomas atitinkamas skaičius.
if (kaištis & 0x01 == 0x01): IO.output (13,1) else: IO.output (13,0)
Ši komanda vykdo kilpą 10 kartų, x padidinamas nuo 0 iki 9.
x x diapazone (10):
Žemiau komanda naudojama kaip amžinai kilpa, su šia komanda šios kilpos teiginiai bus vykdomi nuolat.
Nors 1:
Visos kitos funkcijos ir komandos buvo paaiškintos žemiau skyriuje „Kodas“, naudojant „Komentarus“.
Parašęs programą ir ją įvykdęs, „ Raspberry Pi“ suaktyvina atitinkamus GPIO, kad skaitmenis būtų rodomas 7 segmentų ekrane. Programa yra parašyta, kad ekranas nuolat skaičiuotų nuo 0 iki 9.