- Súčasti sú povinné
- Schéma zapojenia
- Zhotovenie DPS pre Raspberry Pi RGB LCD HAT pomocou EasyEDA
- Výpočet a objednávanie vzoriek PCB online pomocou EasyEDA
- Nastavenie Raspberry Pi pre LCD Hat
- Pythonský kód pre Raspberry Pi LCD HAT
- Testovanie Raspberry Pi RGB LCD HAT
Klobúky Raspberry Pi sú rovnaké ako štíty pre Arduino, môžu sa priamo hodiť na vrch Raspberry Pi a nevyžadujú žiadne ďalšie pripojenia. Tu postavíme RGB LCD Hat pre Raspberry Pi na PCB. Tento klobúk LCD sa skladá z modulu LCD 16 x 2, piatich spínačov a troch LED diód NeoPixel. Tu sa prepínače používajú na zmenu textu na displeji a LED indikátory NeoPixel sa používajú ako indikátory. Tieto prepínače a pixely Neo je možné naprogramovať podľa požiadaviek, napríklad prepínačmi možno zobraziť hodnoty senzorov, ako je teplota, vlhkosť atď.
Tu použijeme online softvér EasyEDA na návrh obvodu a PCB pre tento Pi HAT a JLCPCB na objednanie PCB.
Súčasti sú povinné
- Raspberry Pi 4
- 16 * 2 modul LCD displeja
- Neo-pixelové LED diódy (3)
- Kondenzátory
- Prepínače (5)
Schéma zapojenia
Kompletná schéma zapojenia pre Raspberry Pi RGB LCD HAT je uvedená nižšie. Schéma bola nakreslená pomocou programu EasyEDA. Ako vidíte, prepojujeme 16x2 LCD modul, 3 LED diódy NeoPixel a 5 prepínačov s Raspberry Pi. Konektor sa tiež používa na zapnutie alebo vypnutie LED diód NeoPixel.
Zhotovenie DPS pre Raspberry Pi RGB LCD HAT pomocou EasyEDA
Pri navrhovaní dosky plošných spojov pre Raspberry Pi RGB LCD HAT bolo najnáročnejšou časťou správna stopa. Ak sa rozmery pokazia, potom sa komponenty nezmestia na DPS. Ale našťastie, EasyEDA poskytuje stopy pre takmer všetky komponenty na trhu. Je to tak kvôli jeho rozsiahlej komunite používateľov, kde používatelia vytvárajú stopy a sprístupňujú ich verejnosti na použitie vo svojich projektoch.
EasyEDA je online nástroj EDA, ktorý som predtým mnohokrát používal a jeho použitie sa mi zdá veľmi pohodlné, pretože má dobrú zbierku stôp a je open-source. Po dizajne DPS si môžeme objednať vzorky DPS prostredníctvom ich lacných služieb výroby DPS - JLCPCB. Ponúkajú tiež služby nákupu komponentov, kde majú veľkú zásobu elektronických komponentov a používatelia si môžu objednať požadované komponenty spolu s objednávkou PCB.
Pri navrhovaní obvodov a dosiek plošných spojov môžete tiež zverejniť svoj obvod a návrhy plošných spojov verejné, aby ich ostatní používatelia mohli kopírovať alebo upravovať a využívať tak výhody vašej práce. Zverejnili sme tiež tento dizajn Pi RGB LCD Hat, pozrite si nižšie odkaz:
- https://easyeda.com/CircuitDigest/Pi-RGB-LCD-HAT
Môžete si pozrieť ktorúkoľvek vrstvu (vrchná, spodná, vrchná vrstva, spodná vrstva hodvábu atď.) PCB výberom vrstvy z okna „Vrstvy“. Okrem toho poskytujú aj 3D modelový pohľad na DPS o tom, ako by sa javilo po výrobe. Snímka hornej a spodnej vrstvy obrazovky LCD HAT by vyzerala asi takto:
Výpočet a objednávanie vzoriek PCB online pomocou EasyEDA
Po dokončení návrhu tohto PI RGB LCD HATU si môžete objednať DPS cez JLCPCB.com. Pre objednanie DPS od JLCPCB potrebujete Gerber File. Súbor Gerber si môžete stiahnuť z nasledujúceho odkazu:
- Pilník Gerber pre čiapku LCD LCD Raspberry Pi
Ak chcete vygenerovať súbory Gerber z PCB, stačí kliknúť na tlačidlo Generovať súbor výroby na stránke editora EasyEDA, odtiaľ si stiahnuť súbor Gerber alebo kliknúť na Objednávku na JLCPCB, ako je znázornené na obrázku nižšie. To vás presmeruje na JLCPCB.com, kde si môžete zvoliť počet DPS na objednávku, koľko vrstiev medi potrebujete, hrúbku DPS, hmotnosť medi, farbu DPS a ďalšie parametre DPS, napríklad nasledujúci prehľad:
Po kliknutí na tlačidlo „ Objednať na JLCPCB“ sa dostanete na webovú stránku JLCPCB, kde si môžete objednať PCB za veľmi nízku cenu, čo sú 2 doláre. Čas ich zostavenia je tiež veľmi kratší, čo je 48 hodín s dodávkou DHL 3-5 dní. DPS dostanete do týždňa od objednania.
Po objednaní DPS môžete skontrolovať priebeh výroby DPS s dátumom a časom. Môžete to skontrolovať tak, že prejdete na stránku Účet a kliknete na odkaz „Postup výroby“ pod PCB, ako je to znázornené na obrázku nižšie.
Po niekoľkých dňoch objednávania DPS som dostal vzorky DPS vo vynikajúcom balení, ako je znázornené na obrázkoch nižšie.
Po skontrolovaní správnosti stôp a stôp. Pokračoval som montážou DPS. Kompletne spájkovaná doska vyzerá takto:
Nastavenie Raspberry Pi pre LCD Hat
Pred začatím programovania Raspberry Pi najskôr aktualizujte Raspberry Pi a nainštalujte si niekoľko potrebných knižníc. Spustením pod príkazmi aktualizujte a upgradujte Raspberry Pi:
sudo apt-get aktualizácia sudo apt-get aktualizácia
Teraz si nainštalujte knižnicu Adafruit_Blinka pre LED NeoPixel. Knižnica Adafruit_Blinka poskytuje podporu CircuitPython v Pythone.
sudo pip3 nainštalovať adafruit-circuitpython-neopixel
Potom nainštalujte knižnicu Adafruit_CharLCD pre modul LCD. Táto knižnica je určená pre dosky LCD Adafruit, ale funguje aj s inými značkami LCD.
sudo pip3 nainštalujte Adafruit-CharLCD
Pythonský kód pre Raspberry Pi LCD HAT
Tu demonštrujeme čiapku RGB LCD pre Raspberry Pi pomocou niekoľkých prepínačov na zobrazenie niektorých konkrétnych hodnôt na module LCD a RGB LED ako indikátoroch. Takže musíme naprogramovať Raspberry Pi tak, aby pri stlačení prepínača mal zobrazovať niektoré hodnoty snímača alebo iné hodnoty.
Celý pythonovský kód je uvedený na konci stránky. Tu krok za krokom vysvetľujeme kód.
Spustite kód importom všetkých požadovaných knižníc.
import RPi.GPIO ako GPIO import neopixel čas importu import doska import Adafruit_CharLCD ako LCD
Potom definujte všetky piny GPIO, kde sú pripojené LCD a ďalšie prepínače.
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
Teraz definujte režim GPIO pomocou režimu BCM. Môžete to tiež zmeniť na DOSKU. Potom definujte všetky prepínacie piny ako Vstupy.
GPIO.setmode (GPIO.BCM) # Použite čísla BCM GPIO GPIO.setup (sw0, GPIO.IN) GPIO.setup (sw2, GPIO.IN) GPIO.setup (sw3, GPIO.IN) GPIO.setup (sw4, GPIO.IN)
Potom definujte pin GPIO, kde sú pripojené LED diódy Neo Pixel. Potom definujte počet LED diód Neo Pixel. Tu sa používajú tri LED diódy, ktoré si môžete zmeniť podľa svojich potrieb.
pixel_pin = doska.D21 num_pixels = 3
Teraz vo vnútri funkcie lcddisplay () môžete každému prepínaču priradiť konkrétnu úlohu. Napríklad tu, keď je stlačený prvý prepínač, by mal Raspberry Pi na displeji LCD zobraziť „UP“, a keď je stlačený druhý prepínač, na displeji LCD by sa malo zobraziť „DOWN“ atď. Pre ďalšie dve tlačidlá.
Namiesto toho, aby ste niečo tlačili na LCD, môžete pomocou týchto prepínačov vykonať inú úlohu. Napríklad môžete použiť prepínač 1 na zobrazenie hodnoty teploty, prepínač 2 na zobrazenie hodnôt vlhkosti a prepínač 3 na zobrazenie hodnôt tlaku atď.
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.message ('LEFT') if (GPIO.input (sw4) == False): lcd.clear () lcd.set_cursor (0,0) lcd.message ('RIGHT')
Teraz vo vnútri , zatiaľ čo skutočný slučky pixels.fill funkcie sa používa na rozsvietiť Neo pixelov v rôznych farbách. Takže Pi je naprogramovaný tak, aby rozsvietil Neo pixely červenou, zelenou a modrou farbou na každú sekundu.
Tieto Neo pixely môžete použiť aj ako indikátory. Napríklad môžete rozsvietiť jeden Neo Pixel s červenou farbou, čo indikuje, že Pi je pripojený k zdroju napájania, alebo môžete použiť iné LED diódy na indikáciu, že Pi prijíma alebo odosiela dáta, atď.
pixelov.vyplňte ((255, 0, 0)) pixelov.show () time.sleep (1) pixelov.vyplňte ((0, 255, 0)) pixelov.show () time.sleep (1) pixelov.vyplňte ((0, 0, 255)) pixelov.show () time.sleep (1) rainbow_cycle (0,001)
Testovanie Raspberry Pi RGB LCD HAT
Po zostavení LCD a prepojení s Raspberry Pi sme všetci pripravení používať tento PI RGB LCD HAT. Za týmto účelom spustite kód python pomocou príkazu nižšie.
python code_filename.py
Teraz stlačte prepínače. Keď stlačíte prepínač SW0, mal by sa na LCD vytlačiť „HORE“. V prípade prepínača SW2 by sa malo tlačiť „nadol“ a rovnako aj pre ostatné prepínače.
Kompletné pracovné videá spolu s Python kód je uvedený nižšie.