- Septiņu segmentu displejs:
- Nepieciešamās sastāvdaļas:
- Ķēdes un darba skaidrojums:
- Programmēšanas skaidrojums:
Raspberry Pi ir ARM arhitektūras procesors, kas paredzēts elektronikas inženieriem un vaļaspriekiem. PI ir viena no uzticamākajām projektu izstrādes platformām, kas tur pastāv. Ar lielāku procesora ātrumu un 1 GB RAM PI var izmantot daudziem augsta līmeņa projektiem, piemēram, Attēlu apstrāde un IoT.
Lai veiktu kādu no augsta līmeņa projektiem, ir jāsaprot PI pamatfunkcijas. Šajās apmācībās mēs aplūkosim visas Raspberry Pi pamatfunkcijas. Katrā apmācībā mēs apspriedīsim vienu no PI funkcijām. Šīs Raspberry Pi apmācības sērijas beigās jūs varēsiet iemācīties Raspberry Pi un pats izveidot labus projektus. Iet cauri tālāk sniegtajām apmācībām:
- Darba sākšana ar Raspberry Pi
- Aveņu Pi konfigurācija
- LED mirgo
- Pogas mijiedarbība
- Aveņu Pi PWM paaudze
- LCD saskarne ar Aveņu Pi
- DC motora vadīšana
- Stepper motora vadība
- Saskarņu maiņu reģistrs
- Aveņu Pi ADC apmācība
- Servomotora vadība
- Kapacitatīvs skārienpaliktnis
Šajā apmācībā mēs veiksim Raspberry Pi 7 segmenta displeja saskarni. Septiņu segmentu displeji ir vislētākie displeja vienībai. Pāris no šiem segmentiem, kas sakrauti kopā, varētu izmantot, lai parādītu temperatūru, skaitītāja vērtību utt. Mēs savienosim 7 segmentu displeja bloku ar PI GPIO un kontrolēsim tos, lai attiecīgi parādītu ciparus. Pēc tam mēs uzrakstīsim programmu PYTHON septiņu segmentu displejam, lai skaitītu no 0 līdz 9 un atiestatītu sevi uz nulli.
Septiņu segmentu displejs:
7 segmentu displejiem ir dažādi veidi un izmēri. Šeit mēs detalizēti aplūkojām septiņu segmentu darbu. Būtībā ir divu veidu 7 segmenti, kopēja anoda tips (kopīgs pozitīvs vai kopīgs VCC) un kopīgs katoda tips (kopīgs negatīvs vai kopīgs pamats).
Kopējais anods (CA): Šajā gadījumā visi 8 gaismas diodes visi negatīvie spailes (katods) ir savienoti kopā (sk. Zemāk redzamo diagrammu), kas nosaukti kā COM. Un visi pozitīvie termināli paliek vieni.
Parastais katods (CC): tajā visi 8 gaismas diodes visi pozitīvie spailes (anodi) ir savienoti kopā ar nosaukumu COM. Un visi negatīvie termāli paliek vieni.
Šie CC un CA septiņu segmentu displeji ir ļoti noderīgi, vienlaikus multipleksējot vairākas šūnas. Mūsu apmācībā mēs izmantosim CC jeb Common Cathode Seven Segment Display.
Mēs jau esam saskarušies ar 7 segmentiem ar 8051, ar Arduino un ar AVR. Daudzos savos projektos esam izmantojuši arī 7 segmentu displeju.
Pirms došanās tālāk, mēs nedaudz apspriedīsimies par Raspberry Pi GPIO, Raspberry Pi 2 ir 40 GPIO izvades tapas. Bet no 40 var ieprogrammēt tikai 26 GPIO tapas (GPIO2 līdz GPIO27), skatiet attēlu zemāk. Daži no šiem tapām veic dažas īpašas funkcijas. Atstājot īpašu GPIO, mums ir palikuši 17 GPIO.
GPIO (1. vai 17. kontakts) + 3.3V signāls ir pietiekams, lai vadītu 7 segmentu displeju. Lai nodrošinātu strāvas ierobežojumu, katram segmentam mēs izmantosim 1KΩ rezistoru, kā parādīts shēmas diagrammā.
Lai uzzinātu vairāk par GPIO tapām un to pašreizējām izejām, iet cauri: LED mirgo ar Raspberry Pi
Nepieciešamās sastāvdaļas:
Šeit mēs izmantojam Raspberry Pi 2 B modeli ar Raspbian Jessie OS. Visas aparatūras un programmatūras pamatprasības ir iepriekš apspriestas, jūs to varat meklēt Raspberry Pi ievadā, izņemot to, kas mums nepieciešams:
- Savienojošās tapas
- Parastā katoda 7. segmenta displejs (LT543)
- 1KΩ rezistors (8 gab.)
- Maizes dēlis
Ķēdes un darba skaidrojums:
Savienojumi, kas tiek veikti Interfacing 7 segmenta displejam ar Raspberry Pi, ir norādīti zemāk. Mēs šeit esam izmantojuši kopīgā katoda 7 segmentu:
PIN1 vai e ------------------ GPIO21
PIN2 vai d ------------------ GPIO20
PIN4 vai c ------------------ GPIO16
PIN5 vai h vai DP ---------- GPIO 12 // nav obligāts, jo mēs neizmantojam aiz komata
PIN6 vai b ------------------ GPIO6
PIN7 vai ------------------ GPIO13
PIN9 vai f ------------------ GPIO19
PIN10 vai g ---------------- GPIO26
PIN3 vai PIN8 ------------- savienots ar Ground
Tāpēc mēs izmantosim 8 PI GPIO tapas kā 8 bitu PORT. Šeit GPIO13 ir LSB (vismazāk nozīmīgais bits) un GPIO 12 ir MSB (vissvarīgākais bits).
Tagad, ja mēs vēlamies, lai parādītu skaitli "1", mums ir B un C jaudas segmentu. Lai darbinātu B un C segmentu, mums ir jāiedarbina GPIO6 un GPIO16. Tātad funkcijas “PORT” baits būs 0b00000110, bet “PORT” sešstūra vērtība būs 0x06. Kad abas tapas ir augstas, displejā tiek parādīts “1”.
Mēs esam uzrakstījuši katra parādāmā cipara vērtības un saglabājuši šīs vērtības rakstzīmju virknē ar nosaukumu “DISPLAY” (pārbaudiet sadaļu Kods zemāk). Tad mēs esam izsaukuši šīs vērtības pa vienam, lai parādītu atbilstošo ciparu displejā, izmantojot funkciju 'PORT'.
Programmēšanas skaidrojums:
Kad viss ir savienots, kā norādīts shēmā, mēs varam ieslēgt PI, lai programmu ierakstītu PYHTON.
Mēs runāsim par dažām komandām, kuras mēs izmantosim PYHTON programmā, Mēs importēsim GPIO failu no bibliotēkas, zemāk esošā funkcija ļauj mums ieprogrammēt PI GPIO tapas. Mēs arī pārdēvējam “GPIO” par “IO”, tāpēc programmā, kad vien mēs vēlamies atsaukties uz GPIO tapām, mēs izmantosim vārdu “IO”.
importēt RPi.GPIO kā IO
Dažreiz, kad GPIO tapas, kuras mēs cenšamies izmantot, iespējams, veic citas funkcijas. Tādā gadījumā mēs saņemsim brīdinājumus, izpildot programmu. Zemāk komanda liek PI ignorēt brīdinājumus un turpināt programmu.
IO.setwarnings (False)
Mēs varam atsaukties uz PI GPIO tapām vai nu pēc tapas numura uz kuģa, vai pēc to funkcijas numura. Tāpat kā “PIN 29” uz tāfeles ir “GPIO5”. Tātad mēs šeit sakām, vai nu mēs šeit parādīsim tapu ar “29” vai “5”.
IO.setmode (IO.BCM)
Mēs iestatām 8 GPIO tapas kā izejas tapas LCD datu un vadības tapām.
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)
Gadījumā, ja nosacījums lencēs ir patiess, paziņojumi cilpas iekšpusē tiks izpildīti vienu reizi. Tātad, ja 8bit 'pin' bit0 ir taisnība, PIN13 būs AUGSTS, pretējā gadījumā PIN13 būs ZEMS. Mums ir astoņi nosacījumi “ja citādi” no bit0 līdz bit7, lai 7 segmentu displejā iekšpusē piemērotu gaismas diode varētu būt augsta vai zema, lai parādītu atbilstošo skaitli.
if (pin & 0x01 == 0x01): IO.output (13,1) cits: IO.output (13,0)
Šī komanda izpilda cilpu 10 reizes, x tiek palielināts no 0 līdz 9.
x diapazonā (10):
Zemāk esošā komanda tiek izmantota kā uz visiem laikiem, ar šo komandu šīs cilpas iekšējie paziņojumi tiks izpildīti nepārtraukti.
Kamēr 1:
Visas pārējās funkcijas un komandas ir izskaidrotas zemāk sadaļā “Kods” ar “Komentāru” palīdzību.
Pēc programmas uzrakstīšanas un izpildīšanas Raspberry Pi iedarbina atbilstošos GPIO, lai ciparu parādītu 7 segmentu displejā. Programma ir uzrakstīta, lai displejs nepārtraukti skaitītu no 0 līdz 9.