- Komponenter krävs
- Kretsschema
- Tillverkning av kretskort för Raspberry Pi RGB LCD HAT med EasyEDA
- Beräkning och beställning av PCB-prover online med EasyEDA
- Raspberry Pi-inställning för LCD-hatt
- Python-kod för Raspberry Pi LCD HAT
- Testa Raspberry Pi RGB LCD HAT
Raspberry Pi Hats är samma som sköldar för Arduino, de kan passa direkt på toppen av Raspberry Pi och kräver inga ytterligare anslutningar. Här ska vi bygga en RGB LCD-hatt för Raspberry Pi på PCB. Denna LCD-hatt består av en 16x2 LCD-modul, fem omkopplare och tre NeoPixel-lysdioder. Här används omkopplare för att ändra texten på displayen och NeoPixel-lysdioder används som indikatorer. Dessa omkopplare och Neo-pixlar kan programmeras i enlighet med krav som att omkopplare kan användas för att visa sensorvärden som temperatur, fuktighet etc. och Neo-pixlar kan användas för att visa status som Röd för att indikera något fel och grönt medan de tar emot vissa data.
Här kommer vi att använda EasyEDA online-programvara för att designa kretsen och kretskortet för denna Pi HAT, och JLCPCB för att beställa kretskorten.
Komponenter krävs
- Raspberry Pi 4
- 16 * 2 LCD-skärmmodul
- Neopixel-lysdioder (3)
- Kondensatorer
- Strömställare (5)
Kretsschema
Det fullständiga kretsschemat för Raspberry Pi RGB LCD HAT visas nedan. Schematisk ritades med EasyEDA. Som du kan se gränssnitt vi en 16x2 LCD-modul, 3 NeoPixel lysdioder och 5 switchar med Raspberry Pi. En kontakt används också för att aktivera eller inaktivera NeoPixel-lysdioderna.
Tillverkning av kretskort för Raspberry Pi RGB LCD HAT med EasyEDA
När du designade PCB för Raspberry Pi RGB LCD HAT var den mest utmanande delen att få fotavtrycket rätt. Om måtten går fel passar inte komponenterna på kretskortet. Men lyckligt nog ger EasyEDA fotavtryck för nästan alla komponenter på marknaden. Detta beror på sin stora användargrupp där användare skapar fotavtryck och gör det tillgängligt för allmänheten att använda det i sina projekt.
EasyEDA är ett online-EDA-verktyg som jag tidigare har använt många gånger och tyckte att det var väldigt bekvämt att använda eftersom det har en bra samling fotavtryck och det är öppen källkod. Efter att ha designat kretskortet kan vi beställa kretskortproverna med deras billiga PCB-tillverkningstjänster - JLCPCB. De erbjuder också komponentkälltjänster där de har ett stort lager av elektroniska komponenter, och användare kan beställa sina nödvändiga komponenter tillsammans med PCB-beställningen.
Medan du utformar kretsar och kretskort kan du också göra din krets, och kretskortsdesigner offentliga så att andra användare kan kopiera eller redigera dem och dra nytta av ditt arbete, vi har också gjort denna Pi RGB LCD-hattdesign offentlig, kolla nedan länk:
- https://easyeda.com/CircuitDigest/Pi-RGB-LCD-HAT
Du kan se vilket lager som helst (topp, botten, övermjölk, botten silke, etc.) på kretskortet genom att välja lagret från fönstret "Lager". Bortsett från detta ger de också en 3D-modellvy av kretskortet om hur det skulle se ut efter tillverkning. Ögonblicksbilden av det översta lagret och det nedre lagret på LCD HATTEN skulle se ut så här:
Beräkning och beställning av PCB-prover online med EasyEDA
Efter att ha slutfört designen av denna PI RGB LCD HAT kan du beställa PCB via JLCPCB.com. För att beställa PCB från JLCPCB behöver du Gerber File. Du kan ladda ner Gerber-filen från länken nedan:
- Gerber-fil för Raspberry Pi RGB LCD-hatt
För att generera Gerber-filer på PCB klickar du bara på knappen Generate Fabrication File på EasyEDA-redigeringssidan och laddar sedan ner Gerber-filen därifrån eller klickar på Order at JLCPCB som visas i bilden nedan. Detta kommer att omdirigera dig till JLCPCB.com, där du kan välja antalet PCB som ska beställas, hur många kopparlager du behöver, PCB-tjocklek, kopparvikt, PCB-färg och andra PCB-parametrar, som ögonblicksbilden som visas nedan:
Efter att ha klickat på knappen ' Beställ vid JLCPCB' kommer du till JLCPCB-webbplatsen, där du kan beställa kretskortet till ett mycket lågt pris, vilket är $ 2. Deras byggtid är också mycket mindre, vilket är 48 timmar med DHL-leverans på 3-5 dagar. Du får dina kretskort inom en vecka efter beställning.
Efter att ha beställt kretskortet kan du kontrollera produktionsförloppet för ditt kretskort med datum och tid. Du kan kontrollera det genom att gå till kontosidan och klicka på länken "Produktionsförlopp" under kretskortet som visas i bilden nedan.
Efter några dagars beställning av PCB fick jag PCB-proverna i utmärkt förpackning, som visas på bilderna nedan.
Efter att ha kontrollerat att spåren och fotspåren var korrekta. Jag fortsatte med att montera kretskortet. Det helt lödda kortet ser ut som nedan:
Raspberry Pi-inställning för LCD-hatt
Innan du börjar programmera, uppdatera Raspberry Pi först Raspberry Pi och installera några nödvändiga bibliotek. Kör nedan kommandon för att uppdatera och uppgradera Raspberry Pi:
sudo apt-get uppdatering sudo apt-get upgrade
Installera nu Adafruit_Blinka-biblioteket för NeoPixel-lysdioder. Adafruit_Blinka-biblioteket tillhandahåller CircuitPython-stödet i Python.
sudo pip3 installera adafruit-circuitpython-neopixel
Därefter installerar du Adafruit_CharLCD-biblioteket för LCD-modulen. Detta bibliotek är för Adafruit LCD-kort, men det fungerar också med andra LCD-kort.
sudo pip3 installera Adafruit-CharLCD
Python-kod för Raspberry Pi LCD HAT
Här demonstrerar vi RGB LCD-hatten för Raspberry Pi genom att använda några omkopplare för att visa några speciella värden på LCD-modulen och RGB-lysdioder som indikatorer. Så vi måste programmera Raspberry Pi på ett sätt att när vi trycker på en omkopplare ska den visa några sensorvärden eller andra värden.
Komplett pythonkod ges i slutet av sidan. Här förklarar vi koden steg för steg.
Starta koden genom att importera alla nödvändiga bibliotek.
importera RPi.GPIO som GPIO importera neopixel importtid importkort importera Adafruit_CharLCD som LCD
Därefter definierar du alla GPIO-stift där LCD-skärmen och andra omkopplare är anslutna.
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
Definiera nu GPIO-läget med BCM-läge. Du kan också ändra den till BOARD. Definiera sedan alla omkopplingsstift som ingångar.
GPIO.setmode (GPIO.BCM) # Använd BCM GPIO-nummer GPIO.setup (sw0, GPIO.IN) GPIO.setup (sw2, GPIO.IN) GPIO.setup (sw3, GPIO.IN) GPIO.setup (sw4, GPIO.I)
Därefter definierar du GPIO-stiftet där Neo Pixel-lysdioderna är anslutna. Definiera sedan antalet Neo Pixel-lysdioder. Här används tre lysdioder, du kan ändra det efter dina behov.
pixel_pin = kort.D21 num_pixels = 3
Nu inuti lcddisplay () -funktionen, tilldela varje switch en viss uppgift. Till exempel, här när den första omkopplaren trycks in, ska Raspberry Pi visa 'UP' på LCD-skärmen, och när den andra omkopplaren trycks ned, ska den visa 'NER' på LCD-skärmen och så vidare för de andra två knapparna.
Istället för att skriva ut något på en LCD kan du använda dessa omkopplare för att utföra en annan uppgift. Du kan till exempel använda switch1 för att visa temperaturvärde, switch2 för att visa fuktighetsvärden och switch 3 för att visa tryckvärden 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.meddelande ('VÄNSTER') om (GPIO.input (sw4) == Falskt): lcd.clear () lcd.set_cursor (0,0) lcd.message ('RIGHT')
Nu inuti den sanna öglan används pixelfil- funktionen för att tända Neo-pixlar i olika färger. Så Pi är programmerad för att tända Neo-pixlarna med rödgrön och blå färg i en sekund vardera.
Du kan också använda dessa Neo-pixlar som indikatorer. Du kan till exempel tända en Neo Pixel med röd färg för att indikera att Pi är ansluten till strömkällan eller så kan du använda andra lysdioder för att indikera att Pi tar emot eller skickar data etc.
pixlar.fyll ((255, 0, 0)) pixlar.show () time.sleep (1) pixlar.fyll ((0, 255, 0)) pixlar.show () time.sleep (1) pixlar.fill ((0, 0, 255)) pixlar. Show () time.sleep (1) rainbow_cycle (0,001)
Testa Raspberry Pi RGB LCD HAT
Efter att ha monterat LCD-skärmen och anslutit den till Raspberry Pi är vi alla redo att använda denna PI RGB LCD HAT. För det, kör pythonkoden med kommandot nedan.
python code_filename.py
Tryck nu på knapparna. När du trycker på SW0-omkopplaren ska den skriva ut 'UPP' på LCD-skärmen. För SW2-omkopplaren ska den skriva ut "Ned" och samma för resten av omkopplarna.
En komplett arbetsvideo tillsammans med Python-kod ges nedan.