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 pats varēsiet veikt augsta līmeņa 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
- PWM paaudze
- 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 vadīsim 16x2 LCD displeju, izmantojot Raspberry Pi. Mēs savienosim LCD ar GPIO (General Purpose Input Output) tapām, lai parādītu tajā rakstzīmes. Mēs uzrakstīsim programmu PYTHON, lai ar GPIO starpniecību LCD nosūtītu atbilstošās komandas un uz ekrāna parādītu nepieciešamās rakstzīmes. Šis ekrāns noderēs, lai parādītu sensora vērtības, pārtraukuma statusu un arī laika rādīšanu.
Tirgū ir dažādu veidu LCD. Grafiskais LCD ir sarežģītāks nekā 16x2 LCD. Tātad šeit mēs izmantosim 16x2 LCD displeju, ja vēlaties, varat izmantot pat 16x1 LCD. 16x2 LCD ir 32 rakstzīmes kopā, 16 1 st rindā un vēl 16 ir 2 nd līniju. JHD162 ir 16x2 LCD moduļa rakstzīmju LCD. Mēs jau esam saskarnē 16x2 LCD ar 8051, AVR, Arduino utt. Jūs varat atrast visu mūsu ar 16x2 LCD saistīto projektu, noklikšķinot uz šīs saites.
Pirms došanās tālāk, mēs nedaudz apspriedīsim par PI GPIO.
Raspberry Pi 2 ir 40 GPIO izvades tapas. Bet no 40 var ieprogrammēt tikai 26 GPIO tapas (GPIO2 līdz GPIO27). Daži no šiem tapām veic dažas īpašas funkcijas. Atstājot īpašu GPIO, mums ir palikuši 17 GPIO.
Dēlī ir + 5V (2. vai 4. kontakts) un + 3.3V (1. vai 17. kontakts) jaudas izvades tapas, tās paredzētas citu moduļu un sensoru savienošanai. Mēs darbināsim 16 * 2 LCD caur + 5V sliedi. Mēs varam nosūtīt vadības signālu + 3,3 V uz LCD, bet, lai darbotos ar LCD, mums tas jādarbina ar + 5 V. LCD nedarbosies ar + 3,3 V.
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
- 16 * 2 LCD modulis
- 1KΩ rezistors (2 gab.)
- 10K katls
- 1000µF kondensators
- Maizes dēlis
Ķēdes un darba skaidrojums:
Kā parādīts shēmas diagrammā, mēs esam sasaistījuši Raspberry Pi ar LCD displeju, savienojot 10 PI GPIO tapas ar 16 * 2 LCD vadības un datu pārsūtīšanas tapām. Mēs esam izmantojuši GPIO Pin 21, 20, 16, 12, 25, 24, 23 un 18 kā BYTE un izveidojuši funkciju “PORT”, lai nosūtītu datus uz LCD. Šeit GPIO 21 ir LSB (vismazāk nozīmīgais bits) un GPIO18 ir MSB (visnozīmīgākais bits).
16x2 LCD modulī ir 16 tapas, kuras var iedalīt piecās kategorijās: strāvas tapas, kontrasta tapa, vadības tapas, datu tapas un fona apgaismojuma tapas. Šeit ir īss apraksts par viņiem:
Kategorija |
PIN NO. |
Piespraudes nosaukums |
Funkcija |
Spēka tapas |
1 |
VSS |
Zemējuma tapa, savienota ar zemi |
2 |
VDD vai Vcc |
Sprieguma tapa + 5V |
|
Kontrasta tapa |
3 |
V0 vai VEE |
Kontrasta iestatījums, savienots ar Vcc, izmantojot mainīgu rezistoru. |
Kontroles adatas |
4 |
RS |
Reģistrēties Atlasiet piespraudi, RS = 0 komandu režīms, RS = 1 Datu režīms |
5 |
RW |
Lasīšanas / rakstīšanas tapa, RW = 0 rakstīšanas režīms, RW = 1 Lasīšanas režīms |
|
6 |
E |
Iespējot, LCD jāiespējo no augsta līdz zemam impulsam |
|
Datu tapas |
7-14 |
D0-D7 |
Datu tapas, glabā LCD displejā parādāmos datus vai komandu instrukcijas |
Apgaismojuma tapas |
15 |
LED + vai A |
Lai darbinātu fona apgaismojumu + 5V |
16 |
LED vai K |
Fona apgaismojums |
Mēs ļoti iesakām vienkārši izlasīt šo rakstu, lai saprastu, kā LCD darbojas ar tā Pins and Hex komandām.
Mēs īsi apspriedīsim datu nosūtīšanas procesu LCD:
1. E ir iestatīts uz augšu (iespējojot moduli) un RS ir iestatīts uz zemu (paziņojot LCD, ka mēs dodam komandu)
2. Piešķirt vērtību 0x01 datu portam kā komandu ekrāna notīrīšanai.
3. E ir iestatīts uz augšu (iespējojot moduli) un RS ir iestatīts uz augšu (LCD sakot, ka mēs sniedzam datus)
4. Jāparāda ASCII koda parādīšana rakstzīmēm.
5. E ir iestatīts uz leju (LCD paziņo, ka esam sūtījuši datus)
6. Kad šī E tapa ir maza, LCD apstrādā saņemtos datus un parāda atbilstošo rezultātu. Tātad šī tapa pirms datu sūtīšanas ir iestatīta uz augstu un pēc datu nosūtīšanas tiek novilkta uz zemes.
Kā teicām, mēs sūtīsim rakstzīmes vienu pēc otras. Šīs rakstzīmes tiek dota LCD ar ASCII kodu (American Standard Code Informācijas Interchange). ASCII kodu tabula ir parādīta zemāk. Piemēram, lai parādītu rakstzīmi “@”, mums jānosūta heksadecimālais kods “40”. Ja LCD piešķirsim vērtību 0x73, tas parādīs “s”. Šādi mēs nosūtīsim attiecīgos kodus uz LCD, lai parādītu virkni “ CIRCUITDIGEST ”.
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 10 GPIO tapas kā izejas tapas LCD datu un vadības tapām.
IO.setup (6, IO.OUT) IO.setup (22, IO.OUT) IO.setup (21, IO.OUT) IO.setup (20, IO.OUT) IO.setup (16, IO.OUT) IO.setup (12, IO.OUT) IO.setup (25, IO.OUT) IO.setup (24, IO.OUT) IO.setup (23, IO.OUT) IO.setup (18, IO.OUT)
kamēr 1: komandu izmanto kā forever loop, ar šo komandu šīs cilpas iekšējie paziņojumi tiks izpildīti nepārtraukti.
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 nosūta rakstzīmes uz LCD pa vienam, un LCD ekrānā tiek parādītas rakstzīmes.