Raspberry Pi er et ARM-arkitekturbasert kort designet for elektroniske ingeniører og hobbyister. PI er en av de mest pålitelige plattformene for prosjektutvikling der ute nå. Med høyere prosessorhastighet og 1 GB RAM kan PI brukes til mange høyprofilerte prosjekter som bildebehandling og IoT.
For å gjøre noen av høyprofilerte prosjekter, må man forstå de grunnleggende funksjonene til PI. Vi vil dekke alle de grunnleggende funksjonene til Raspberry Pi i disse opplæringene. I hver opplæring vil vi diskutere en av funksjonene til PI. Ved slutten av denne Raspberry Pi Tutorial Series, vil du kunne gjøre høyprofilerte prosjekter alene. Gå gjennom veiledningene nedenfor:
- Komme i gang med Raspberry Pi
- Raspberry Pi-konfigurasjon
- LED Blinky
- Knappgrensesnitt
- PWM-generasjon
- Styring av DC-motor
- Stepper Motor Control
- Interfacing Shift Register
- Raspberry Pi ADC opplæring
- Servomotorkontroll
- Kapasitiv styreplate
I denne opplæringen vil vi kontrollere en 16x2 LCD-skjerm ved hjelp av Raspberry Pi. Vi vil koble LCD-skjermen til GPIO (General Purpose Input Output) pinner på PI for å vise tegn på den. Vi vil skrive et program i PYTHON for å sende de aktuelle kommandoene til LCD-skjermen gjennom GPIO og vise de nødvendige tegnene på skjermen. Denne skjermen vil være nyttig for å vise sensorverdier, avbryte status og også for å vise tid.
Det finnes forskjellige typer LCD-skjermer i markedet. Grafisk LCD er mer kompleks enn 16x2 LCD. Så her skal vi ha 16x2 LCD-skjerm, du kan til og med bruke 16x1 LCD hvis du vil. 16x2 LCD har 32 tegn totalt, 16 i en st linje og en annen 16 i 2 nd linje. JHD162 er 16x2 LCD-modul tegn LCD. Vi har allerede grensesnitt 16x2 LCD med 8051, AVR, Arduino etc. Du kan finne alle våre 16x2 LCD relaterte prosjekter ved å følge denne lenken.
Vi vil diskutere litt om PI GPIO før vi går videre.
Det er 40 GPIO-utgangspinner i Raspberry Pi 2. Men av 40 kan bare 26 GPIO-pinner (GPIO2 til GPIO27) programmeres. Noen av disse pinnene utfører noen spesielle funksjoner. Med spesial GPIO satt til side, har vi 17 GPIO igjen.
Det er + 5V (Pin 2 eller 4) og + 3,3V (Pin 1 eller 17) strømuttak på kortet, disse er for tilkobling av andre moduler og sensorer. Vi skal drive 16 * 2 LCD gjennom + 5V-skinnen. Vi kan sende styresignal på + 3,3 v til LCD, men for å jobbe med LCD må vi strømforsyne det med + 5 V. LCD-skjermen fungerer ikke med + 3,3 V.
For å vite mer om GPIO-pinner og deres nåværende utganger, gå gjennom: LED blinker med Raspberry Pi
Nødvendige komponenter:
Her bruker vi Raspberry Pi 2 Model B med Raspbian Jessie OS. Alle de grunnleggende maskinvare- og programvarekravene er tidligere diskutert, du kan slå opp i Raspberry Pi Introduksjon, annet enn det vi trenger:
- Koble pinner
- 16 * 2 LCD-modul
- 1KΩ motstand (2 deler)
- 10K pott
- 1000 µF kondensator
- Brettbrett
Krets og arbeidsforklaring:
Som vist i kretsdiagrammet har vi grensesnitt Raspberry Pi med LCD-skjerm ved å koble 10 GPIO-pinner av PI til 16 * 2 LCD-skjermens kontroll- og dataoverføringspinner. Vi har brukt GPIO Pin 21, 20, 16, 12, 25, 24, 23 og 18 som BYTE og opprettet 'PORT' -funksjon for å sende data til LCD. Her er GPIO 21 LSB (minst signifikant bit) og GPIO18 er MSB (mest signifikant bit).
16x2 LCD-modul har 16 pins, som kan deles inn i fem kategorier, Power Pins, contrast pin, Control Pins, Data pins og Backlight pins. Her er den korte beskrivelsen om dem:
Kategori |
Pin NO. |
Pin-navn |
Funksjon |
Strømpinner |
1 |
VSS |
Jordpinne, koblet til bakken |
2 |
VDD eller Vcc |
Spenningsstift + 5V |
|
Kontraststift |
3 |
V0 eller VEE |
Kontrastinnstilling, koblet til Vcc grundig en variabel motstand. |
Kontrollpinner |
4 |
RS |
Registrer Velg Pin, RS = 0 Kommandomodus, RS = 1 Datamodus |
5 |
RW |
Les / skriv pin, RW = 0 skrivemodus, RW = 1 Lesemodus |
|
6 |
E |
Aktiver, behov for høy til lav puls for å aktivere LCD-skjermen |
|
Datapinner |
7-14 |
D0-D7 |
Data Pins, Lagrer dataene som skal vises på LCD eller kommandoinstruksjonene |
Baklyspinner |
15 |
LED + eller A. |
For å drive bakgrunnsbelysning + 5V |
16 |
LED- eller K |
Bakgrunnsbelysning |
Vi anbefaler på det sterkeste å bare gå gjennom denne artikkelen for å forstå LCD-skjermen som fungerer med Pins og Hex-kommandoer.
Vi vil kort diskutere prosessen med å sende data til LCD:
1. E er satt høyt (muliggjør modulen) og RS er lavt (forteller LCD at vi gir kommando)
2. Gi verdien 0x01 til dataporten som en kommando for å fjerne skjermen.
3. E er satt høyt (muliggjør modulen) og RS er høyt (forteller LCD at vi gir data)
4. Å bevise at ASCII-koden for tegn må vises.
5. E er satt lavt (forteller LCD at vi er ferdige med å sende data)
6. Når denne E-pinnen er lav, behandler LCD de mottatte dataene og viser det tilsvarende resultatet. Så denne pinnen er satt til høy før du sender data og trekkes ned til bakken etter at du har sendt data.
Som sagt skal vi sende karakterene etter hverandre. De karakterene er gitt til LCD med ASCII-koder (amerikansk standard kode for Information Interchange). Tabellen over ASCII-koder er vist nedenfor. For eksempel, for å vise tegnet “@”, må vi sende en heksadesimalkode “40”. Hvis vi gir verdien 0x73 til LCD-skjermen, vil den vise “s”. Slik vil vi sende de riktige kodene til LCD-skjermen for å vise strengen “ CIRCUITDIGEST ”.
Programmeringsforklaring:
Når alt er koblet til i henhold til kretsskjemaet, kan vi slå PI på for å skrive programmet i PYHTON.
Vi vil snakke om få kommandoer som vi skal bruke i PYHTON-programmet, Vi skal importere GPIO-filer fra biblioteket, under funksjonen gjør det mulig for oss å programmere GPIO-pinner på PI. Vi omdøper også "GPIO" til "IO", så når vi vil referere til GPIO-pinner i programmet, bruker vi ordet "IO".
importer RPi.GPIO som IO
Noen ganger, når GPIO-pinnene, som vi prøver å bruke, gjør noen andre funksjoner. I så fall vil vi motta advarsler mens vi kjører programmet. Kommandoen nedenfor forteller PI å ignorere advarslene og fortsette med programmet.
IO.setwarnings (False)
Vi kan henvise GPIO-pinnene til PI, enten med pin-nummer om bord eller etter deres funksjonsnummer. Som 'PIN 29' på tavlen er 'GPIO5'. Så vi forteller her at enten skal vi representere nålen her med '29' eller '5'.
IO.setmode (IO.BCM)
Vi setter 10 GPIO-pinner som utgangspinner, for Data- og kontrollpinner på LCD.
IO.oppsett (6, IO.OUT) IO.oppsett (22, IO.OUT) IO.oppsett (21, IO.OUT) IO.oppsett (20, IO.OUT) IO.oppsett (16, IO.OUT) IO.oppsett (12, IO.OUT) IO.oppsett (25, IO.OUT) IO.oppsett (24, IO.OUT) IO.oppsett (23, IO.OUT) IO.oppsett (18, IO.OUT)
mens 1: kommando brukes som evig sløyfe, med denne kommandoen vil setningene i denne sløyfen utføres kontinuerlig.
Alle de andre funksjonene og kommandoene er forklart under "Kode" -seksjonen ved hjelp av "Kommentarer".
Etter å ha skrevet programmet og utført det, sender Raspberry Pi tegn til LCD en etter en, og LCD viser tegnene på skjermen.