- Komponenter kreves
- Kretsdiagram
- Fremstiller PCB for Raspberry Pi RGB LCD HAT ved bruk av EasyEDA
- Beregning og bestilling av PCB-prøver online ved hjelp av EasyEDA
- Raspberry Pi Setup for LCD Hat
- Python-kode for Raspberry Pi LCD HAT
- Testing av Raspberry Pi RGB LCD HAT
Raspberry Pi Hatter er de samme som skjold for Arduino, de kan passe direkte på toppen av Raspberry Pi og krever ingen ytterligere tilkoblinger. Her skal vi bygge en RGB LCD-hatt for Raspberry Pi på PCB. Denne LCD-hatten består av en 16x2 LCD-modul, fem brytere og tre NeoPixel-lysdioder. Her brukes brytere for å endre teksten på displayet, og NeoPixel-LED-er brukes som indikatorer. Disse bryterne og Neo-piksler kan programmeres i henhold til kravene, for eksempel brytere kan brukes til å vise sensorverdier som temperatur, fuktighet osv., Og Neo-piksler kan brukes til å vise status som rød for å indikere noe feil og grønt mens du mottar data.
Her vil vi bruke EasyEDA online programvare til å designe krets og PCB for denne Pi HAT, og JLCPCB for å bestille PCB.
Komponenter kreves
- Bringebær Pi 4
- 16 * 2 LCD-skjermmodul
- Neo-pixel LEDs (3)
- Kondensatorer
- Brytere (5)
Kretsdiagram
Det komplette kretsskjemaet for Raspberry Pi RGB LCD HAT er vist nedenfor. Skjematisk tegning ble brukt med EasyEDA. Som du kan se, kobler vi en 16x2 LCD-modul, 3 NeoPixel-lysdioder og 5 brytere med Raspberry Pi. En kontakt brukes også til å aktivere eller deaktivere NeoPixel-lysdiodene.
Fremstiller PCB for Raspberry Pi RGB LCD HAT ved bruk av EasyEDA
Mens du designet PCB for Raspberry Pi RGB LCD HAT, var den mest utfordrende delen å få fotavtrykket riktig. Hvis dimensjonene går galt, vil ikke komponentene passe på PCB. Men heldig nok gir EasyEDA fotavtrykk for nesten alle komponenter i markedet. Dette er på grunn av det store brukerfellesskapet der brukere lager fotavtrykk og gjør det tilgjengelig for publikum å bruke det i sine prosjekter.
EasyEDA er et online EDA-verktøy som jeg tidligere har brukt mange ganger, og syntes det er veldig praktisk å bruke siden det har en god samling fotavtrykk, og det er åpen kildekode. Etter å ha designet PCB, kan vi bestille PCB-prøvene med deres billige PCB-fabrikasjonstjenester - JLCPCB. De tilbyr også komponent sourcing-tjenester der de har et stort lager av elektroniske komponenter, og brukere kan bestille de nødvendige komponentene sammen med PCB-bestillingen.
Mens du designer kretsene og kretskortene, kan du også gjøre kretsen din, og kretskortdesign offentlig slik at andre brukere kan kopiere eller redigere dem og kan dra nytte av arbeidet ditt, vi har også gjort dette Pi RGB LCD Hat-designet offentlig, sjekk nedenfor lenke:
- https://easyeda.com/CircuitDigest/Pi-RGB-LCD-HAT
Du kan se hvilket som helst lag (topp, bunn, overflatemelk, bunnsilke osv.) På PCB ved å velge laget fra vinduet "Lag". Bortsett fra dette, gir de også en 3D-modellvisning av PCB på hvordan det vil se ut etter fabrikasjon. Øyeblikksbildet av det øverste laget og det nederste laget av LCD HATEN ser ut slik:
Beregning og bestilling av PCB-prøver online ved hjelp av EasyEDA
Etter å ha fullført utformingen av denne PI RGB LCD HATEN, kan du bestille PCB via JLCPCB.com. For å bestille PCB fra JLCPCB, trenger du Gerber File. Du kan laste ned Gerber-filen fra lenken nedenfor:
- Gerber File for Raspberry Pi RGB LCD Hat
For å generere Gerber-filer på PCB, klikker du bare på Generer fabrikasjonsfil- knappen på EasyEDA-redigeringssiden, og deretter laster du ned Gerber-filen derfra, eller klikker på Bestill på JLCPCB som vist i bildet nedenfor. Dette vil omdirigere deg til JLCPCB.com, hvor du kan velge antall PCB-er som skal bestilles, hvor mange kobberlag du trenger, PCB-tykkelse, kobbervekt, PCB-farge og andre PCB-parametere, som øyeblikksbildet vist nedenfor:
Etter å ha klikket på ' Bestill på JLCPCB' -knappen, vil det ta deg til JLCPCB-nettstedet, hvor du kan bestille PCB til en veldig lav pris, som er $ 2. Byggetiden deres er også veldig mindre, som er 48 timer med DHL-levering på 3-5 dager. Du får PCB-ene dine innen en uke etter bestilling.
Etter at du har bestilt PCB, kan du kontrollere produksjonsfremdriften til PCB med dato og klokkeslett. Du kan sjekke det ved å gå til Kontosiden og klikke på "Produksjonsfremdrift" -linken under PCB som vist i bildet nedenfor.
Etter noen dager med bestilling av PCB, fikk jeg PCB-prøvene i utmerket innpakning, som vist på bildene nedenfor.
Etter å ha sørget for at sporene og fotavtrykkene var riktige. Jeg fortsatte med å montere PCB. Det fullstendig loddede brettet ser ut som nedenfor:
Raspberry Pi Setup for LCD Hat
Før du begynner å programmere, må Raspberry Pi først oppdatere Raspberry Pi og installere noen få nødvendige biblioteker. Kjør under kommandoene for å oppdatere og oppgradere Raspberry Pi:
sudo apt-get update sudo apt-get upgrade
Installer nå Adafruit_Blinka-biblioteket for NeoPixel-lysdioder. Adafruit_Blinka-biblioteket gir CircuitPython-støtte i Python.
sudo pip3 installer adafruit-circuitpython-neopixel
Deretter installerer du Adafruit_CharLCD-biblioteket for LCD-modulen. Dette biblioteket er for Adafruit LCD-tavler, men det fungerer også med andre LCD-tavler.
sudo pip3 installer Adafruit-CharLCD
Python-kode for Raspberry Pi LCD HAT
Her demonstrerer vi RGB LCD-hatten for Raspberry Pi ved å bruke få brytere for å vise noen spesielle verdier på LCD-modulen og RGB-lysdioder som indikatorer. Så vi må programmere Raspberry Pi på en måte som når vi trykker på en bryter, skal den vise noen sensorverdier eller andre verdier.
Komplett pythonkode er gitt på slutten av siden. Her forklarer vi koden trinn for trinn.
Start koden ved å importere alle nødvendige biblioteker.
importer RPi.GPIO som GPIO import neopixel import tid import bord import Adafruit_CharLCD som LCD
Deretter definerer du alle GPIO-pinnene der LCD-skjermen og andre brytere er koblet til.
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
Nå definerer du GPIO-modus ved hjelp av BCM-modus. Du kan også endre den til BOARD. Definer deretter alle bryterpinnene som innganger.
GPIO.setmode (GPIO.BCM) # Bruk BCM GPIO-numre GPIO.setup (sw0, GPIO.IN) GPIO.setup (sw2, GPIO.IN) GPIO.setup (sw3, GPIO.IN) GPIO.setup (sw4, GPIO.I)
Deretter definerer du GPIO-pinnen der Neo Pixel-LED-ene er koblet til. Definer deretter antall Neo Pixel-lysdioder. Her brukes tre lysdioder, du kan endre det etter dine behov.
pixel_pin = tavle.D21 num_pixels = 3
Nå i lcddisplay () -funksjonen, tilordne en bestemt oppgave til hver bryter. For eksempel, her når den første bryteren trykkes, skal Raspberry Pi vise 'UP' på LCD-skjermen, og når den andre bryteren trykkes, skal den vise 'NED' på LCD-skjermen og så videre for de to andre knappene.
I stedet for å skrive ut noe på en LCD, kan du bruke disse bryterne til å utføre en annen oppgave. For eksempel kan du bruke bryter1 til å vise temperaturverdi, bryter2 for å vise fuktighetsverdier, og bryter 3 for å vise trykkverdier, etc.
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') if (GPIO.input (sw3) == False): lcd.clear () lcd.set_cursor (0,0) lcd.melding ('VENSTRE') hvis (GPIO.input (sw4) == Usann): lcd.clear () lcd.set_cursor (0,0) lcd.message ('RIGHT')
Nå inne i mens den virkelige sløyfen brukes pixels.fill- funksjonen til å lyse opp Neo-piksler i forskjellige farger. Så Pi er programmert til å lyse opp Neo-piksler med rødgrønn og blå farge i ett sekund hver.
Du kan også bruke disse Neo-pikslene som indikatorer. For eksempel kan du lyse opp en Neo Pixel med rød farge for å indikere at Pi er koblet til strømkilden, eller du kan bruke andre lysdioder for å indikere at Pi mottar eller sender dataene, etc.
piksler.fyll ((255, 0, 0)) piksler.show () time.sleep (1) piksler.fill ((0, 255, 0)) piksler.show () time.sleep (1) piksler.fill ((0, 0, 255)) piksler. Show () time.sleep (1) rainbow_cycle (0.001)
Testing av Raspberry Pi RGB LCD HAT
Etter å ha satt sammen LCD-skjermen og koblet den sammen med Raspberry Pi, er vi alle klar til å bruke denne PI RGB LCD HATEN. For det, kjør pythonkoden ved å bruke kommandoen nedenfor.
python code_filename.py
Trykk nå på bryterne. Når du trykker på SW0-bryteren, skal den skrive ut 'UP' på LCD-skjermen. For SW2-bryteren skal den skrive ut 'Down' og det samme for resten av bryterne.
En komplett arbeidsvideo sammen med Python-koden er gitt nedenfor.