- Komponenter, der kræves
- Kredsløbsdiagram
- Fremstilling af print til Raspberry Pi RGB LCD HAT ved hjælp af EasyEDA
- Beregning og bestilling af PCB-prøver online ved hjælp af EasyEDA
- Raspberry Pi-opsætning til LCD-hat
- Python-kode til Raspberry Pi LCD HAT
- Test af Raspberry Pi RGB LCD HAT
Raspberry Pi Hatte er de samme som skjolde til Arduino, de kan passe direkte på toppen af Raspberry Pi og kræver ikke yderligere forbindelser. Her skal vi bygge en RGB LCD-hat til Raspberry Pi på PCB. Denne LCD-hat består af et 16x2 LCD-modul, fem kontakter og tre NeoPixel-lysdioder. Her bruges kontakter til at ændre teksten på displayet, og NeoPixel LED'er bruges som indikatorer. Disse kontakter og Neo Pixels kan programmeres i henhold til krav, som f.eks. Switches kan bruges til at vise sensorværdier som temperatur, fugtighed osv. Og Neo-pixels kan bruges til at vise status som rød for at indikere en vis fejl og grøn, mens de modtager nogle data.
Her bruger vi EasyEDA online-software til at designe kredsløbet og printkortet til denne Pi HAT, og JLCPCB til at bestille printkortene.
Komponenter, der kræves
- Hindbær Pi 4
- 16 * 2 LCD-skærmmodul
- Neo-pixel lysdioder (3)
- Kondensatorer
- Afbrydere (5)
Kredsløbsdiagram
Det komplette kredsløbsdiagram for Raspberry Pi RGB LCD HAT er vist nedenfor. Skematisk tegning blev brugt ved hjælp af EasyEDA. Som du kan se, bruger vi et 16x2 LCD-modul, 3 NeoPixel-lysdioder og 5 switche med Raspberry Pi. Et stik bruges også til at aktivere eller deaktivere NeoPixel-lysdioderne.
Fremstilling af print til Raspberry Pi RGB LCD HAT ved hjælp af EasyEDA
Under designet af printkortet til Raspberry Pi RGB LCD HAT var den mest udfordrende del at få fodaftrykket rigtigt. Hvis dimensionerne går galt, passer komponenterne ikke på printkort. Men heldig nok leverer EasyEDA fodspor til næsten alle komponenter på markedet. Dette skyldes dets store brugerfællesskab, hvor brugerne opretter fodspor og gør det tilgængeligt for offentligheden til at bruge det i deres projekter.
EasyEDA er et online EDA-værktøj, som jeg tidligere har brugt mange gange og fundet det meget praktisk at bruge, da det har en god samling fodspor, og det er open source. Efter design af PCB kan vi bestille PCB-prøver ved hjælp af deres billige PCB-fabrikationstjenester - JLCPCB. De tilbyder også komponentsourcingtjenester, hvor de har et stort lager af elektroniske komponenter, og brugere kan bestille deres nødvendige komponenter sammen med printkortordren.
Mens du designer kredsløb og printkort, kan du også gøre dit kredsløb, og printkortdesign offentligt, så andre brugere kan kopiere eller redigere dem og kan drage fordel af dit arbejde, vi har også gjort dette Pi RGB LCD-hatdesign offentligt, se nedenstående link:
- https://easyeda.com/CircuitDigest/Pi-RGB-LCD-HAT
Du kan se ethvert lag (top, bund, topsilk, bund silke osv.) På printkortet ved at vælge laget fra vinduet 'Lag'. Bortset fra dette giver de også en 3D-modelvisning af printkortet på, hvordan det ser ud efter fabrikation. Snapshotet af det øverste lag og det nederste lag af LCD-HATTEN ville se sådan ud:
Beregning og bestilling af PCB-prøver online ved hjælp af EasyEDA
Når du er færdig med designet af denne PI RGB LCD HAT, kan du bestille printkortet via JLCPCB.com. For at bestille printkortet fra JLCPCB skal du have Gerber File. Du kan downloade Gerber-filen fra nedenstående link:
- Gerber-fil til Raspberry Pi RGB LCD-hat
For at generere Gerber-filer på printkortet skal du bare klikke på Generer fabrikationsfil- knappen på siden EasyEDA-editor og derefter downloade Gerber-filen derfra eller klikke på Bestil ved JLCPCB som vist i billedet nedenfor. Dette omdirigerer dig til JLCPCB.com, hvor du kan vælge antallet af PCB'er, der skal bestilles, hvor mange kobberlag du har brug for, PCB-tykkelse, kobbervægt, PCB-farve og andre PCB-parametre, som snapshotet vist nedenfor:
Efter at have klikket på knappen ' Bestil ved JLCPCB' vil det tage dig til JLCPCB-webstedet, hvor du kan bestille printkortet til en meget lav pris, som er $ 2. Deres byggetid er også meget mindre, hvilket er 48 timer med DHL-levering på 3-5 dage. Du får dine printkort inden for en uge efter bestilling.
Efter bestilling af printkortet kan du kontrollere produktionsforløbet for dit printkort med dato og klokkeslæt. Du kan kontrollere det ved at gå til kontosiden og klikke på linket "Produktionsfremdrift" under printkortet som vist i nedenstående billede.
Efter et par dage med bestilling af printkort fik jeg printkortprøverne i fremragende emballage, som vist på nedenstående billeder.
Efter at have sørget for, at sporene og fodsporene var korrekte. Jeg fortsatte med at samle printkortet. Det fuldstændigt lodde bord ser ud som nedenfor:
Raspberry Pi-opsætning til LCD-hat
Før du begynder at programmere, skal Raspberry Pi først opdatere Raspberry Pi og installere et par nødvendige biblioteker. Kør under kommandoer for at opdatere og opgradere Raspberry Pi:
sudo apt-get opdater sudo apt-get upgrade
Installer nu Adafruit_Blinka-biblioteket til NeoPixel-lysdioder. Adafruit_Blinka-biblioteket leverer CircuitPython-understøttelsen i Python.
sudo pip3 installer adafruit-circuitpython-neopixel
Derefter skal du installere Adafruit_CharLCD-biblioteket til LCD-modulet. Dette bibliotek er beregnet til Adafruit LCD-tavler, men det fungerer også med andre LCD-tavler.
sudo pip3 installer Adafruit-CharLCD
Python-kode til Raspberry Pi LCD HAT
Her demonstrerer vi RGB LCD-hatten til Raspberry Pi ved hjælp af få kontakter til at vise nogle bestemte værdier på LCD-modulet og RGB-LED'er som indikatorer. Så vi er nødt til at programmere Raspberry Pi på en måde, at når vi trykker på en switch, skal den vise nogle sensorværdier eller andre værdier.
Komplet pythonkode er angivet i slutningen af siden. Her forklarer vi koden trin for trin.
Start koden ved at importere alle de nødvendige biblioteker.
import RPi.GPIO som GPIO import neopixel import tid import bord import Adafruit_CharLCD som LCD
Derefter skal du definere alle GPIO-ben, hvor LCD-skærmen og andre kontakter er tilsluttet.
lcd_rs = 7 lcd_en = 8 lcd_d4 = 25 lcd_d5 = 24 lcd_d6 = 23 lcd_d7 = 18 lcd_backlight = 2 sw0 = 5 sw2 = 13 sw3 = 19 sw4 = 26
Definer nu GPIO-tilstand ved hjælp af BCM-tilstand. Du kan også ændre det til BOARD. Definer derefter alle omskifterstifter som indgange.
GPIO.setmode (GPIO.BCM) # Brug BCM GPIO-numre GPIO.setup (sw0, GPIO.IN) GPIO.setup (sw2, GPIO.IN) GPIO.setup (sw3, GPIO.IN) GPIO.setup (sw4, GPIO.I)
Derefter skal du definere GPIO-stiften, hvor Neo Pixel-lysdioderne er tilsluttet. Definer derefter antallet af Neo Pixel LED'er. Her bruges tre lysdioder, du kan ændre det efter dine behov.
pixel_pin = board.D21 num_pixels = 3
Nu skal du tildele en bestemt opgave til hver switch inde i lcddisplay () -funktionen. For eksempel, her når den første kontakt trykkes, skal Raspberry Pi vise 'UP' på LCD, og når den anden kontakt trykkes, skal den vise 'NED' på LCD'en og så videre for de to andre knapper.
I stedet for at udskrive noget på en LCD kan du bruge disse switche til at udføre en anden opgave. For eksempel kan du bruge switch1 til at vise temperaturværdi, switch2 til at vise fugtighedsværdier og switch 3 til at vise trykværdier osv.
def lcddisplay (): if (GPIO.input (sw0) == False): lcd.clear () lcd.set_cursor (0,0) lcd.message ('UP') if (GPIO.input (sw2) == False): lcd.clear () lcd.set_cursor (0,0) lcd.message ('DOWN') hvis (GPIO.input (sw3) == Falsk): lcd.clear () lcd.set_cursor (0,0) lcd. besked ('VENSTRE') hvis (GPIO.input (sw4) == Falsk): lcd.clear () lcd.set_cursor (0,0) lcd.message ('RIGHT')
Nu inde i den ægte løkke bruges pixels.fill- funktionen til at lyse Neo Pixels i forskellige farver. Så Pi er programmeret til at lyse Neo Pixels med rødgrøn og blå farve i et sekund hver.
Du kan også bruge disse Neo Pixels som indikatorer. For eksempel kan du tænde en Neo Pixel med rød farve for at indikere, at Pi er tilsluttet strømkilden, eller du kan bruge andre lysdioder til at indikere, at Pi modtager eller sender data osv.
pixels.fill ((255, 0, 0)) pixels.show () time.sleep (1) pixels.fill ((0, 255, 0)) pixels.show () time.sleep (1) pixels.fill ((0, 0, 255)) pixels.show () time.sleep (1) rainbow_cycle (0.001)
Test af Raspberry Pi RGB LCD HAT
Efter at have samlet LCD-skærmen og grænsefladen til Raspberry Pi, er vi alle klar til at bruge denne PI RGB LCD HAT. Til det skal du køre python-koden ved hjælp af nedenstående kommando.
python code_filename.py
Tryk nu på afbryderne. Når du trykker på SW0-kontakten, skal den udskrive 'UP' på LCD'et. For SW2-kontakten skal den udskrive 'Down' og det samme for resten af switchene.
En komplet arbejdsvideo sammen med Python-kode er angivet nedenfor.