- Požadované komponenty
- Kruhový diagram
- Výroba PCB pro Raspberry Pi RGB LCD HAT pomocí EasyEDA
- Výpočet a objednávka vzorků PCB online pomocí EasyEDA
- Nastavení Raspberry Pi pro LCD Hat
- Pythonský kód pro Raspberry Pi LCD HAT
- Testování Raspberry Pi RGB LCD HAT
Klobouky Raspberry Pi jsou stejné jako štíty pro Arduino, mohou se přímo vejít na vrchol Raspberry Pi a nevyžadují žádné další připojení. Zde budeme stavět RGB LCD Hat pro Raspberry Pi na PCB. Tento klobouk LCD se skládá z 16x2 LCD modulu, pěti přepínačů a tří LED NeoPixel. Zde se přepínače používají ke změně textu na displeji a LED diody NeoPixel se používají jako indikátory. Tyto přepínače a pixely Neo lze naprogramovat podle požadavků, jako jsou přepínače, které lze použít k zobrazení hodnot snímačů, jako je teplota, vlhkost atd.
Zde použijeme online software EasyEDA k návrhu obvodu a PCB pro tento Pi HAT a JLCPCB k objednání PCB.
Požadované komponenty
- Raspberry Pi 4
- 16 * 2 modul LCD displeje
- Neo-pixelové LED diody (3)
- Kondenzátory
- Spínače (5)
Kruhový diagram
Kompletní schéma zapojení Raspberry Pi RGB LCD HAT je uvedeno níže. Schéma bylo nakresleno pomocí EasyEDA. Jak vidíte, propojujeme 16x2 LCD modul, 3 LED diody NeoPixel a 5 přepínačů s Raspberry Pi. Konektor se také používá k povolení nebo zakázání LED diod NeoPixel.
Výroba PCB pro Raspberry Pi RGB LCD HAT pomocí EasyEDA
Při navrhování desky plošných spojů pro Raspberry Pi RGB LCD HAT bylo nejnáročnější částí správná stopa. Pokud se rozměry pokazí, pak se komponenty na PCB nevejdou. Ale naštěstí má EasyEDA stopy téměř pro všechny komponenty na trhu. Důvodem je jeho rozsáhlá uživatelská komunita, kde uživatelé vytvářejí stopy a zpřístupňují je veřejnosti k použití ve svých projektech.
EasyEDA je online nástroj EDA, který jsem již mnohokrát použil a jeho použití je pro mě velmi výhodné, protože má dobrou sbírku stop a je open-source. Po návrhu desky plošných spojů si můžeme objednat vzorky desek plošných spojů prostřednictvím jejich levných služeb výroby desek plošných spojů - JLCPCB. Nabízejí také služby sourcingu komponentů, kde mají velkou zásobu elektronických součástek, a uživatelé si mohou spolu s objednávkou PCB objednat požadované komponenty.
Při navrhování obvodů a desek plošných spojů můžete také svůj obvod zveřejnit a návrhy desek plošných spojů zveřejnit, aby je mohli ostatní uživatelé kopírovat nebo upravovat a mohli těžit z vaší práce. Zveřejnili jsme také tento design Pi RGB LCD Hat, podívejte se níže odkaz:
- https://easyeda.com/CircuitDigest/Pi-RGB-LCD-HAT
Můžete zobrazit libovolnou vrstvu (horní, dolní, horní, spodní hedvábí atd.) Desky plošných spojů výběrem vrstvy z okna „Vrstvy“. Kromě toho také poskytují 3D modelový pohled na desku plošných spojů o tom, jak by vypadala po výrobě. Snímek horní a spodní vrstvy LCD HAT by vypadal nějak takto:
Výpočet a objednávka vzorků PCB online pomocí EasyEDA
Po dokončení návrhu tohoto PI RGB LCD HAT si můžete objednat desku plošných spojů prostřednictvím JLCPCB.com. Chcete-li objednat desku plošných spojů z JLCPCB, potřebujete soubor Gerber. Soubor Gerber si můžete stáhnout z níže uvedeného odkazu:
- Pilník Gerber pro LCD LCD klobouk Raspberry Pi
Chcete-li vygenerovat soubory Gerber na desce plošných spojů, stačí kliknout na tlačítko Generovat soubor výroby na stránce editoru EasyEDA, odtud stáhnout soubor Gerber nebo kliknout na Objednávku na JLCPCB, jak je znázorněno na následujícím obrázku. To vás přesměruje na JLCPCB.com, kde můžete vybrat počet objednaných desek plošných spojů, kolik měděných vrstev potřebujete, tloušťku desky plošných spojů, hmotnost mědi, barvu desky plošných spojů a další parametry desky plošných spojů, například snímek zobrazený níže:
Po kliknutí na tlačítko „ Objednat na JLCPCB“ se dostanete na webovou stránku JLCPCB, kde si můžete PCB objednat za velmi nízkou cenu, což je 2 $. Jejich doba sestavení je také velmi kratší, což je 48 hodin s dodávkou DHL 3-5 dní. DPS dostanete do týdne od objednání.
Po objednání desky plošných spojů můžete zkontrolovat průběh výroby desky plošných spojů s datem a časem. Můžete to zkontrolovat na stránce Účet a kliknout na odkaz „Průběh výroby“ pod PCB, jak je znázorněno na následujícím obrázku.
Po několika dnech objednání desek plošných spojů jsem dostal vzorky desek plošných spojů ve vynikajícím balení, jak je znázorněno na obrázcích níže.
Poté, co se ujistil, že stopy a stopy jsou správné. Pokračoval jsem v montáži desky plošných spojů. Kompletně připájená deska vypadá takto:
Nastavení Raspberry Pi pro LCD Hat
Před zahájením programování Raspberry Pi nejprve aktualizujte Raspberry Pi a nainstalujte několik nezbytných knihoven. Spuštěním níže uvedených příkazů aktualizujte a upgradujte Raspberry Pi:
sudo apt-get aktualizace sudo apt-get aktualizace
Nyní nainstalujte knihovnu Adafruit_Blinka pro LED diody NeoPixel. Knihovna Adafruit_Blinka poskytuje podporu CircuitPython v Pythonu.
sudo pip3 install adafruit-circuitpython-neopixel
Poté nainstalujte knihovnu Adafruit_CharLCD pro modul LCD. Tato knihovna je určena pro LCD desky Adafruit, ale funguje také s jinými značkovými LCD deskami.
sudo pip3 nainstalujte Adafruit-CharLCD
Pythonský kód pro Raspberry Pi LCD HAT
Zde předvádíme RGB LCD klobouk pro Raspberry Pi pomocí několika přepínačů, abychom zobrazili některé konkrétní hodnoty na LCD modulu a RGB LED jako indikátory. Takže musíme naprogramovat Raspberry Pi tak, že když stiskneme Switch, měl by ukázat nějaké hodnoty senzoru nebo jiné hodnoty.
Kompletní kód pythonu je uveden na konci stránky. Zde krok za krokem vysvětlujeme kód.
Spusťte kód importem všech požadovaných knihoven.
import RPi.GPIO jako GPIO import neopixel čas importu import deska import Adafruit_CharLCD jako LCD
Poté definujte všechny piny GPIO, kde jsou připojeny LCD a další přepí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
Nyní definujte režim GPIO pomocí režimu BCM. Můžete jej také změnit na BOARD. Poté definujte všechny piny přepínače jako vstupy.
GPIO.setmode (GPIO.BCM) # Použijte čísla BCM GPIO GPIO.setup (sw0, GPIO.IN) GPIO.setup (sw2, GPIO.IN) GPIO.setup (sw3, GPIO.IN) GPIO.setup (sw4, GPIO.V)
Poté definujte pin GPIO, kde jsou připojeny LED diody Neo Pixel. Poté definujte počet LED Neo Pixel. Zde se používají tři LED diody, které můžete změnit podle svých potřeb.
pixel_pin = deska. D21 num_pixels = 3
Nyní uvnitř funkce lcddisplay () přiřaďte každému přepínači konkrétní úkol. Například zde, když je stisknut první spínač, by Raspberry Pi měl na LCD zobrazit „UP“, a když je stisknutý druhý přepínač, měl by na LCD zobrazit „DOWN“ atd. Pro další dvě tlačítka.
Místo toho, abyste něco tiskli na LCD, můžete tyto přepínače použít k provedení jiného úkolu. Například můžete použít přepínač 1 k zobrazení hodnoty teploty, přepínač 2 k zobrazení hodnot vlhkosti a přepínač 3 k zobrazení hodnot tlaku atd.
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')
Nyní uvnitř smyčky while true se používá funkce pixels.fill k rozsvícení Neo Pixels v různých barvách. Takže Pi je naprogramováno tak, aby rozsvítilo Neo pixely červenou, zelenou a modrou barvou na jednu sekundu.
Tyto Neo pixely můžete také použít jako indikátory. Například můžete rozsvítit jeden Neo Pixel s červenou barvou, což znamená, že Pi je připojen ke zdroji energie, nebo můžete použít jiné LED k označení, že Pi přijímá nebo odesílá data atd.
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)
Testování Raspberry Pi RGB LCD HAT
Po sestavení LCD a jeho propojení s Raspberry Pi jsme všichni připraveni používat tento PI RGB LCD HAT. Za tímto účelem spusťte kód pythonu pomocí níže uvedeného příkazu.
python code_filename.py
Nyní stiskněte spínače. Když stisknete přepínač SW0, měl by se na LCD vytisknout „NAHORU“. U přepínače SW2 by měl tisknout „dolů“ a to samé pro ostatní přepínače.
Níže je uvedeno kompletní pracovní video spolu s kódem Pythonu.