- Potrebne komponente
- Shema vezja
- Izdelava tiskanega vezja za Raspberry Pi RGB LCD KAPO z uporabo EasyEDA
- Izračun in naročanje vzorcev PCB prek spleta s pomočjo EasyEDA
- Nastavitev Raspberry Pi za kapo LCD
- Koda Python za KAPO Raspberry Pi LCD
- Testiranje Raspberry Pi RGB LCD KAPI
Klobuki Raspberry Pi so enaki kot ščitniki za Arduino, lahko se namestijo neposredno na vrh Raspberry Pi in ne potrebujejo dodatnih povezav. Tu bomo zgradili RGB LCD kapo za Raspberry Pi na PCB. Ta kapa LCD je sestavljena iz LCD-modula 16x2, petih stikal in treh LED-diod NeoPixel. Tu se stikala uporabljajo za spreminjanje besedila na zaslonu, LED diode NeoPixel pa kot indikatorji. Ta stikala in Neo Pixel je mogoče programirati v skladu z zahtevami, na primer stikala se lahko uporabljajo za prikaz vrednosti senzorjev, kot so temperatura, vlaga itd., Neo slikovne pike pa se lahko uporabijo za prikaz stanja, kot je rdeča za prikaz napake in zelena med sprejemanjem nekaterih podatkov.
Tu bomo uporabili spletno programsko opremo EasyEDA za oblikovanje vezja in PCB-ja za ta Pi HAT, JLCPCB pa za naročanje PCB-jev.
Potrebne komponente
- Raspberry Pi 4
- 16 * 2 LCD zaslon
- LED diode z neopiksli (3)
- Kondenzatorji
- Stikala (5)
Shema vezja
Popoln diagram vezja za Raspberry Pi RGB LCD HAT je prikazan spodaj. Shema je bila narisana z uporabo EasyEDA. Kot lahko vidite, z Raspberry Pi povezujemo LCD modul 16x2, 3 LED diode NeoPixel in 5 stikal. Priključek se uporablja tudi za vklop ali izklop LED diod NeoPixel.
Izdelava tiskanega vezja za Raspberry Pi RGB LCD KAPO z uporabo EasyEDA
Med načrtovanjem tiskanega vezja za Raspberry Pi RGB LCD HAT je bilo najbolj zahtevno pravilno odtisniti odtis. Če se dimenzije pokvarijo, komponente ne bodo primerne za tiskano vezje. Toda na srečo EasyEDA zagotavlja odtise skoraj vseh komponent na trgu. Razlog za to je velika uporabniška skupnost, kjer uporabniki ustvarjajo odtise in jih dajo na voljo javnosti, da jih lahko uporabi v svojih projektih.
EasyEDA je spletno orodje EDA, ki sem ga že velikokrat uporabljal in se mi je zdelo zelo priročno, saj ima dobro zbirko odtisov in je odprtokodno. Po načrtovanju PCB lahko vzorce PCB naročimo v njihovih poceni storitvah izdelave PCB - JLCPCB. Ponujajo tudi storitve nabave komponent, kjer imajo veliko zalogo elektronskih komponent, uporabniki pa lahko svoje naročene komponente naročijo skupaj z naročilom PCB.
Med načrtovanjem vezij in tiskanih vezij lahko svoje vezje naredite tudi javno, načrti PCB pa jih lahko drugi uporabniki kopirajo ali urejajo in lahko izkoristijo vaše delo, prav tako pa smo to zasnovo Pi RGB LCD Klobuka objavili javno, preverite spodaj povezava:
- https://easyeda.com/CircuitDigest/Pi-RGB-LCD-HAT
Vsako plast (zgornjo, spodnjo, zgornjo, svileno, spodnjo svileno itd.) PCB si lahko ogledate tako, da v oknu »Plasti« izberete plast. Poleg tega ponujajo tudi 3D-pogled PCB-ja o tem, kako bo videti po izdelavi. Posnetek zgornje in spodnje plasti LCD KAPICE bi bil videti nekako takole:
Izračun in naročanje vzorcev PCB prek spleta s pomočjo EasyEDA
Po končanem oblikovanju te PI RGB LCD KAPBICE lahko PCB naročite prek JLCPCB.com. Če želite naročiti PCB pri JLCPCB, potrebujete datoteko Gerber. Datoteko Gerber lahko prenesete s spodnje povezave:
- Datoteka Gerber za kapo LCD Raspberry Pi RGB
Če želite ustvariti datoteke Gerber na PCB-ju, na strani urejevalnika EasyEDA kliknite gumb Ustvari datoteko za izdelavo, nato prenesite datoteko Gerber od tam ali kliknite Naroči pri JLCPCB, kot je prikazano na spodnji sliki. To vas bo preusmerilo na JLCPCB.com, kjer lahko izberete število PCB-jev, ki jih želite naročiti, koliko bakrenih plasti potrebujete, debelino PCB-ja, težo bakra, barvo PCB-ja in druge parametre PCB, na primer spodnji posnetek:
Po kliku na gumb ' Naroči pri JLCPCB' vas pripelje do spletnega mesta JLCPCB, kjer lahko PCB naročite po zelo nizki ceni, ki znaša 2 USD. Njihov čas izdelave je prav tako zelo manjši, kar znaša 48 ur pri dobavi DHL 3-5 dni. Vaše PCB boste dobili v enem tednu po naročilu.
Po naročilu PCB lahko preverite proizvodni napredek PCB z datumom in uro. To lahko preverite tako, da odprete stran Račun in kliknete povezavo "Potek proizvodnje" pod PCB, kot je prikazano na spodnji sliki.
Po nekaj dneh naročanja PCB sem vzorce PCB dobil v odlični embalaži, kot je prikazano na spodnjih slikah.
Po prepričanju, da so sledi in odtisi pravilni. Nadaljeval sem s sestavljanjem tiskanega vezja. Popolnoma spajkana plošča je videti spodaj:
Nastavitev Raspberry Pi za kapo LCD
Pred začetkom programiranja Raspberry Pi najprej posodobite Raspberry Pi in namestite nekaj potrebnih knjižnic. Za posodobitev in nadgradnjo Raspberry Pi zaženite spodnje ukaze:
posodobitev sudo apt-get
Zdaj namestite knjižnico Adafruit_Blinka za LED diode NeoPixel. Knjižnica Adafruit_Blinka zagotavlja podporo za CircuitPython v Pythonu.
sudo pip3 namesti adafruit-circuitpython-neopixel
Po tem namestite knjižnico Adafruit_CharLCD za modul LCD. Ta knjižnica je namenjena ploščam LCD Adafruit, deluje pa tudi z LCD ploščami drugih znamk.
sudo pip3 namestite Adafruit-CharLCD
Koda Python za KAPO Raspberry Pi LCD
Tukaj prikazujemo RGB LCD kapo za Raspberry Pi z uporabo nekaj stikal za prikaz nekaterih posebnih vrednosti na LCD modulu in RGB LED kot indikatorjev. Torej moramo Raspberry Pi programirati tako, da mora, ko pritisnemo stikalo, prikazati nekatere vrednosti senzorja ali druge vrednosti.
Popolna koda pythona je podana na koncu strani. Tukaj razlagamo kodo po korakih.
Zaženite kodo z uvozom vseh zahtevanih knjižnic.
uvoz RPi.GPIO kot GPIO uvoz neopixel čas uvoza uvoz plošča uvoz Adafruit_CharLCD kot LCD
Po tem določite vse zatiče GPIO, kamor so priključeni LCD in druga stikala.
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
Zdaj definirajte način GPIO z uporabo načina BCM. Lahko ga tudi spremenite v BOARD. Nato definirajte vse zatiče stikala kot vhode.
GPIO.setmode (GPIO.BCM) # Uporabite BCM GPIO številke GPIO.setup (sw0, GPIO.IN) GPIO.setup (sw2, GPIO.IN) GPIO.setup (sw3, GPIO.IN) GPIO.setup (sw4, GPIO.IN)
Po tem določite GPIO pin, kamor so priključene LED diode Neo Pixel. Nato določite število LED diod Neo Pixel. Tu se uporabljajo tri LED diode, ki jih lahko spremenite glede na vaše potrebe.
pixel_pin = deska.D21 num_pixels = 3
Zdaj znotraj funkcije lcddisplay () vsakemu stikalu dodelite določeno nalogo. Na primer, tukaj mora na primer, ko pritisnete prvo stikalo, Raspberry Pi na LCD-prikazovalniku prikazati "GOR", ko pa pritisnete drugo stikalo, pa mora na LCD-prikazovalniku prikazati "DOWN" in tako naprej za druga dva gumba.
Namesto da tiskate nekaj na LCD, lahko s temi stikali opravite drugačno nalogo. Na primer, lahko uporabite stikalo 1 za prikaz vrednosti temperature, stikalo 2 za prikaz vrednosti vlažnosti in stikalo 3 za prikaz vrednosti tlaka itd.
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 ('DOL') if (GPIO.input (sw3) == False): lcd.clear () lcd.set_cursor (0,0) lcd.message ('LEVO') if (GPIO.input (sw4) == False): lcd.clear () lcd.set_cursor (0,0) lcd.message ('RIGHT')
Zdaj znotraj pa pravi zanke, pixels.fill funkcijo se prižgejo Neo pik v različnih barvah. Tako je Pi programiran tako, da za eno sekundo osvetli Neo Pixle z rdečo zeleno in modro barvo.
Te pike Neo lahko uporabite tudi kot indikatorje. Na primer, lahko osvetlite en Neo Pixel z rdečo barvo, da označite, da je Pi priključen na vir napajanja, ali pa uporabite druge LED, ki označujejo, da Pi prejema ali pošilja podatke itd.
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)
Testiranje Raspberry Pi RGB LCD KAPI
Po sestavljanju LCD-ja in njegovem povezovanju z Raspberry Pi smo vsi pripravljeni uporabiti ta PI RGB LCD KOLOBIČEK. Za to zaženite kodo python z uporabo spodnjega ukaza.
python code_filename.py
Zdaj pritisnite stikala. Ko pritisnete stikalo SW0, se na LCD-prikazovalniku natisne "GOR". Za stikalo SW2 mora natisniti 'Down' in enako za preostala stikala.
Spodaj je podan celoten delovni video skupaj s kodo Python.