Raspberry Pi er et ARM-arkitekturbaseret kort designet til elektroniske ingeniører og hobbyister. PI er en af de mest pålidelige projektudviklingsplatforme derude nu. Med højere processorhastighed og 1 GB RAM kan PI bruges til mange højprofilerede projekter som billedbehandling og IoT.
For at udføre nogle af højt profilerede projekter skal man forstå de grundlæggende funktioner i PI. Vi vil dække alle de grundlæggende funktioner i Raspberry Pi i disse vejledninger. I hver tutorial vil vi diskutere en af funktionerne i PI. Ved afslutningen af denne Raspberry Pi Tutorial Series vil du være i stand til at lave projekter med høj profil alene. Gå igennem nedenstående vejledninger:
- Kom godt i gang med Raspberry Pi
- Raspberry Pi-konfiguration
- LED Blinkende
- Knapgrænseflade
- PWM-generation
- Styring af jævnstrømsmotor
- Stepper Motor Control
- Interfacing Shift Register
- Raspberry Pi ADC vejledning
- Servomotor kontrol
- Kapacitiv pegefelt
I denne vejledning styrer vi en 16x2 LCD-skærm ved hjælp af Raspberry Pi. Vi forbinder LCD'et til GPIO-stifter (General Purpose Input Output) på PI for at vise tegn på det. Vi skriver et program i PYTHON for at sende de relevante kommandoer til LCD'et via GPIO og vise de nødvendige tegn på dens skærm. Denne skærm er praktisk til at vise sensorværdier, afbryde status og også til visning af tid.
Der findes forskellige typer LCD-skærme på markedet. Grafisk LCD er mere kompleks end 16x2 LCD. Så her går vi til 16x2 LCD-skærm, du kan endda bruge 16x1 LCD, hvis du vil. 16x2 LCD har 32 tegn i alt 16 i 1 st linje og en anden 16 i 2 nd linje. JHD162 er 16x2 LCD-modul tegn LCD. Vi har allerede interfacet 16x2 LCD med 8051, AVR, Arduino osv. Du kan finde alle vores 16x2 LCD relaterede projekter ved at følge dette link.
Vi vil diskutere lidt om PI GPIO, inden vi går videre.
Der er 40 GPIO output pins i Raspberry Pi 2. Men ud af 40 kan kun 26 GPIO-ben (GPIO2 til GPIO27) programmeres. Nogle af disse ben udfører nogle specielle funktioner. Med særlig GPIO afsat har vi 17 GPIO tilbage.
Der er + 5V (pin 2 eller 4) og + 3,3V (pin 1 eller 17) power output pins på kortet, disse er til tilslutning af andre moduler og sensorer. Vi får strøm til 16 * 2 LCD gennem + 5V skinnen. Vi kan sende styresignal på + 3,3 v til LCD, men for at arbejde med LCD skal vi strømforsyne det med + 5 V. LCD'et fungerer ikke med + 3,3 V.
Hvis du vil vide mere om GPIO-ben og deres nuværende output, skal du gå igennem: LED blinker med Raspberry Pi
Nødvendige komponenter:
Her bruger vi Raspberry Pi 2 Model B med Raspbian Jessie OS. Alle de grundlæggende hardware- og softwarekrav er tidligere diskuteret, du kan slå det op i Raspberry Pi Introduktion, bortset fra hvad vi har brug for:
- Tilslutningsstifter
- 16 * 2 LCD-modul
- 1KΩ modstand (2 stykker)
- 10K pot
- 1000 µF kondensator
- Brødbræt
Kredsløb og arbejdsforklaring:
Som vist i kredsløbsdiagrammet har vi interfaced Raspberry Pi med LCD-skærm ved at forbinde 10 GPIO-ben på PI til 16 * 2 LCD'ets kontrol- og dataoverførselsstifter. Vi har brugt GPIO Pin 21, 20, 16, 12, 25, 24, 23 og 18 som BYTE og oprettet 'PORT' -funktion til at sende data til LCD. Her er GPIO 21 LSB (mindst signifikant bit) og GPIO18 er MSB (mest signifikant bit).
16x2 LCD-modul har 16 ben, som kan opdeles i fem kategorier, Power Pins, contrast pin, Control Pins, Data pins og Backlight pins. Her er den korte beskrivelse af dem:
Kategori |
Pin NO. |
Pin-navn |
Fungere |
Power Pins |
1 |
VSS |
Jordstift, forbundet til jorden |
2 |
VDD eller Vcc |
Spændingsstift + 5V |
|
Kontraststift |
3 |
V0 eller VEE |
Kontrastindstilling, tilsluttet Vcc grundig en variabel modstand. |
Kontrolstifter |
4 |
RS |
Registrer Vælg Pin, RS = 0 Kommandotilstand, RS = 1 Datatilstand |
5 |
RW |
Læse / skrive-pin, RW = 0 Skrivemåde, RW = 1 læsetilstand |
|
6 |
E |
Aktiver, en høj til lav puls har brug for at aktivere LCD |
|
Datapinde |
7-14 |
D0-D7 |
Data Pins, Gemmer de data, der skal vises på LCD eller kommandoinstruktionerne |
Baggrundsbelysningstifter |
15 |
LED + eller A. |
For at tænde baggrundsbelysning + 5V |
16 |
LED- eller K |
Baggrundsbelysning |
Vi anbefaler på det kraftigste bare at gennemgå denne artikel for at forstå LCD'et, der fungerer med dens Pins og Hex-kommandoer.
Vi vil kort diskutere processen med at sende data til LCD:
1. E er sat højt (muliggør modulet) og RS er lavt (fortæller LCD, at vi giver kommando)
2. At give værdi 0x01 til dataporten som en kommando til at rydde skærmen.
3. E er sat højt (muliggør modulet) og RS er højt (fortæller LCD, at vi giver data)
4. At bevise ASCII-koden for tegn skal vises.
5. E er lavt (fortæller LCD, at vi er færdige med at sende data)
6. Når denne E-pin er lav, behandler LCD de modtagne data og viser det tilsvarende resultat. Så denne pin er indstillet til høj inden afsendelse af data og trækkes ned til jorden efter afsendelse af data.
Som sagt vil vi sende tegnene efter hinanden. De tegn er givet til LCD ved ASCII-koder (amerikansk standard til udveksling af information). Tabellen over ASCII-koder er vist nedenfor. For eksempel for at vise tegnet “@” skal vi sende en hexadecimal kode “40”. Hvis vi giver værdien 0x73 til LCD'et, vises den "s". På denne måde sender vi de relevante koder til LCD'et for at vise strengen " CIRCUITDIGEST ".
Programmeringsforklaring:
Når alt er tilsluttet i henhold til kredsløbsdiagrammet, kan vi tænde PI for at skrive programmet i PYHTON.
Vi vil tale om få kommandoer, som vi skal bruge i PYHTON-programmet, Vi skal importere GPIO-filer fra biblioteket, nedenstående funktion giver os mulighed for at programmere GPIO-ben på PI. Vi omdøber også "GPIO" til "IO", så når vi vil henvise til GPIO-ben i programmet, bruger vi ordet 'IO'.
importer RPi.GPIO som IO
Nogle gange, når GPIO-stifterne, som vi prøver at bruge, udfører måske nogle andre funktioner. I så fald modtager vi advarsler, mens vi udfører programmet. Kommandoen nedenfor fortæller PI at ignorere advarslerne og fortsætte med programmet.
IO.setwarnings (Falsk)
Vi kan henvise GPIO-benene på PI, enten ved pin-nummer om bord eller ved deres funktionsnummer. Ligesom 'PIN 29' på tavlen er 'GPIO5'. Så vi fortæller her, enten skal vi repræsentere stiften her med '29' eller '5'.
IO.setmode (IO.BCM)
Vi indstiller 10 GPIO-ben som outputben til data- og kontrolben på LCD.
IO.opsætning (6, IO.OUT) IO.opsætning (22, IO.OUT) IO.opsætning (21, IO.OUT) IO.opsætning (20, IO.OUT) IO.opsætning (16, IO.OUT) IO.opsætning (12, IO.OUT) IO.opsætning (25, IO.OUT) IO.opsætning (24, IO.OUT) IO.opsætning (23, IO.OUT) IO.opsætning (18, IO.OUT)
mens 1: kommando bruges som evigt løkke, med denne kommando udføres udsagnene inde i denne løb kontinuerligt.
Alle de andre funktioner og kommandoer er forklaret i afsnittet "Kode" nedenfor ved hjælp af "Kommentarer".
Efter at have skrevet programmet og udført det, sender Raspberry Pi tegn til LCD en efter en, og LCD viser tegnene på skærmen.