Raspberry Pi är ett ARM-arkitekturbaserat kort designat för elektroniska ingenjörer och hobbyister. PI är en av de mest betrodda projektutvecklingsplattformarna där ute nu. Med högre processorhastighet och 1 GB RAM kan PI användas för många högprofilerade projekt som bildbehandling och IoT.
För att göra något av högprofilerade projekt måste man förstå de grundläggande funktionerna i PI. Vi kommer att täcka alla grundläggande funktioner i Raspberry Pi i dessa handledning. I varje handledning kommer vi att diskutera en av funktionerna i PI. I slutet av denna Raspberry Pi-handledningsserie kommer du att kunna göra högprofilerade projekt själv. Gå igenom handledningarna nedan:
- Komma igång med Raspberry Pi
- Raspberry Pi-konfiguration
- LED blinkande
- Knappgränssnitt
- PWM-generation
- Styrande likströmsmotor
- Stegmotorstyrning
- Interfacing Shift Register
- Raspberry Pi ADC-handledning
- Servomotorstyrning
- Kapacitiv pekplatta
I den här handledningen kommer vi att styra en 16x2 LCD-skärm med Raspberry Pi. Vi ansluter LCD-skärmen till GPIO-stift (General Purpose Input Output) på PI för att visa tecken på den. Vi kommer att skriva ett program i PYTHON för att skicka lämpliga kommandon till LCD-skärmen via GPIO och visa de tecken som behövs på skärmen. Den här skärmen kommer att vara till nytta för att visa sensorvärden, avbryta status och även för att visa tid.
Det finns olika typer av LCD-skärmar på marknaden. Grafisk LCD är mer komplex än 16x2 LCD. Så här ska vi för 16x2 LCD-skärm, du kan till och med använda 16x1 LCD om du vill. 16x2 LCD har totalt 32 tecken, 16 i 1: a raden och ytterligare 16 i 2: a raden. JHD162 är 16x2 LCD-modulens tecken LCD. Vi har redan gränssnitt 16x2 LCD med 8051, AVR, Arduino etc. Du kan hitta alla våra 16x2 LCD-relaterade projekt genom att följa den här länken.
Vi kommer att diskutera lite om PI GPIO innan vi går vidare.
Det finns 40 GPIO-utgångsstift i Raspberry Pi 2. Men av 40 kan endast 26 GPIO-stift (GPIO2 till GPIO27) programmeras. Några av dessa stift utför vissa speciella funktioner. Med särskild GPIO avsatt har vi 17 GPIO kvar.
Det finns + 5V (Pin 2 eller 4) och + 3.3V (Pin 1 eller 17) utgångsstift på kortet, dessa är för att ansluta andra moduler och sensorer. Vi kommer att driva 16 * 2 LCD-skärmen genom + 5V-skenan. Vi kan skicka styrsignal på + 3,3 v till LCD men för att arbeta med LCD måste vi driva den med + 5 V. LCD-skärmen fungerar inte med + 3,3 V.
Om du vill veta mer om GPIO-stift och deras nuvarande utgångar går du igenom: LED blinkar med Raspberry Pi
Komponenter som krävs:
Här använder vi Raspberry Pi 2 Model B med Raspbian Jessie OS. Alla grundläggande hårdvaru- och mjukvarukrav har tidigare diskuterats, du kan slå upp det i Raspberry Pi Introduktion, annat än vad vi behöver:
- Anslutningsstift
- 16 * 2 LCD-modul
- 1KΩ motstånd (2 delar)
- 10K kruka
- 1000 µF kondensator
- Bakbord
Krets- och arbetsförklaring:
Som visas i kretsschemat har vi gränssnitt Raspberry Pi med LCD-skärm genom att ansluta 10 GPIO-stift av PI till 16 * 2 LCD: s kontroll- och dataöverföringsstift. Vi har använt GPIO Pin 21, 20, 16, 12, 25, 24, 23 och 18 som BYTE och skapat 'PORT' -funktion för att skicka data till LCD. Här är GPIO 21 LSB (minst betydande bit) och GPIO18 är MSB (viktigaste bit).
16x2 LCD-modul har 16 stift, som kan delas in i fem kategorier, Power Pins, contrast pin, Control Pins, Data pins och Backlight pins. Här är en kort beskrivning av dem:
Kategori |
Fäst NO. |
Pin-namn |
Fungera |
Power Pins |
1 |
VSS |
Jordstift, ansluten till marken |
2 |
VDD eller Vcc |
Spänningsstift + 5V |
|
Kontraststift |
3 |
V0 eller VEE |
Kontrastinställning, ansluten till Vcc genom ett variabelt motstånd. |
Kontrollstift |
4 |
RS |
Registrera Välj stift, RS = 0 Kommandoläge, RS = 1 Dataläge |
5 |
RW |
Läs- / skrivstift, RW = 0 Skrivläge, RW = 1 Läsläge |
|
6 |
E |
Aktivera, en hög till låg puls behöver aktivera LCD-skärmen |
|
Datapinnar |
7-14 |
D0-D7 |
Data Pins, lagrar de data som ska visas på LCD-skärmen eller kommandoinstruktionerna |
Bakgrundsbelysning Pins |
15 |
LED + eller A. |
För att driva bakgrundsbelysning + 5V |
16 |
LED- eller K |
Bakgrundsbelysning mark |
Vi rekommenderar starkt att du bara går igenom den här artikeln för att förstå LCD-skärmen som fungerar med dess Pins och Hex-kommandon.
Vi diskuterar kortfattat processen för att skicka data till LCD:
1. E är satt högt (möjliggör modulen) och RS är lågt (säger till LCD att vi ger kommando)
2. Ge värdet 0x01 till dataporten som ett kommando för att rensa skärmen.
3. E är satt högt (möjliggör modulen) och RS är högt (säger till LCD att vi ger data)
4. Att bevisa ASCII-koden för tecken måste visas.
5. E är lågt inställt (säger till LCD att vi är klara att skicka data)
6. När denna E-pin är låg bearbetar LCD mottagna data och visar motsvarande resultat. Så denna stift är inställd på hög innan data skickas och dras ner till marken efter att ha skickat data.
Som sagt kommer vi att skicka karaktärerna efter varandra. De tecken ges till LCD genom ASCII-koder (American Standard Code for Information Interchange). Tabellen över ASCII-koder visas nedan. Till exempel, för att visa tecknet "@", måste vi skicka en hexadecimal kod "40". Om vi ger värdet 0x73 till LCD-skärmen kommer det att visa “s”. Så här kommer vi att skicka lämpliga koder till LCD-skärmen för att visa strängen " CIRCUITDIGEST ".
Programmeringsförklaring:
När allt är anslutet enligt kretsschemat, kan vi sätta PÅ PI för att skriva programmet i PYHTON.
Vi kommer att prata om några kommandon som vi ska använda i PYHTON-programmet, Vi ska importera GPIO-filer från biblioteket, nedanstående funktion gör att vi kan programmera GPIO-stift av PI. Vi döper också om "GPIO" till "IO", så i programmet när vi vill hänvisa till GPIO-stift kommer vi att använda ordet "IO".
importera RPi.GPIO som IO
Ibland, när GPIO-stiften, som vi försöker använda, kan göra några andra funktioner. I så fall får vi varningar när vi kör programmet. Kommandot nedan ber PI att ignorera varningarna och fortsätta med programmet.
IO.setwarnings (False)
Vi kan hänvisa GPIO-stift på PI, antingen med stiftnummer ombord eller med deras funktionsnummer. Precis som 'PIN 29' på tavlan är 'GPIO5'. Så vi säger här antingen att vi kommer att representera nålen här med '29' eller '5'.
IO.setmode (IO.BCM)
Vi ställer in 10 GPIO-stift som utgångsstift, för data- och kontrollstift på LCD.
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)
medan 1: kommando används som alltid loop, med detta kommando kommer uttalandena inuti denna loop att köras kontinuerligt.
Alla andra funktioner och kommandon har förklarats i avsnittet "Kod" nedan med hjälp av "Kommentarer".
Efter att ha skrivit programmet och kört det skickar Raspberry Pi tecken till LCD en efter en och LCD visar tecken på skärmen.