- Komponente potrebne
- Kružni dijagram
- Izrada PCB-a za Raspberry Pi RGB LCD ŠEŠIR pomoću EasyEDA-e
- Izračun i naručivanje uzoraka PCB-a putem interneta pomoću EasyEDA-e
- Postavljanje Raspberry Pi za LCD šešir
- Python kod za Raspberry Pi LCD ŠEŠIR
- Testiranje Raspberry Pi RGB LCD ŠEŠIRA
Šeširi Raspberry Pi isti su kao štitovi za Arduino, mogu se izravno smjestiti na vrh Raspberry Pi i ne zahtijevaju daljnje veze. Ovdje ćemo izgraditi RGB LCD šešir za Raspberry Pi na PCB-u. Ovaj LCD šešir sastoji se od LCD modula 16x2, pet prekidača i tri NeoPixel LED-a. Ovdje se prekidači koriste za promjenu teksta na zaslonu, a NeoPixel LED kao indikatori. Ovi prekidači i Neo pikseli mogu se programirati u skladu sa zahtjevima poput prekidača za prikaz vrijednosti senzora poput temperature, vlažnosti itd., A Neo pikseli mogu se koristiti za prikaz statusa poput crvene za naznaku neke pogreške i zelene tijekom primanja nekih podataka.
Ovdje ćemo koristiti mrežni softver EasyEDA za dizajn sklopa i PCB-a za ovaj Pi HAT, a JLCPCB za naručivanje PCB-a.
Komponente potrebne
- Raspberry Pi 4
- Modul LCD zaslona od 16 * 2
- Neo-pikselne LED diode (3)
- Kondenzatori
- Prekidači (5)
Kružni dijagram
Kompletna shema sklopa za Raspberry Pi RGB LCD HAT prikazana je u nastavku. Shema je nacrtana pomoću EasyEDA-e. Kao što vidite, povezujemo LCD modul 16x2, 3 NeoPixel LED i 5 prekidača s Raspberry Pi. Konektor se također koristi za omogućavanje ili onemogućavanje LED dioda NeoPixel.

Izrada PCB-a za Raspberry Pi RGB LCD ŠEŠIR pomoću EasyEDA-e
Tijekom dizajniranja PCB-a za Raspberry Pi RGB LCD HAT, najizazovniji je dio bio ispravan trag. Ako dimenzije krenu po zlu, tada komponente neće stati na PCB. No, srećom, EasyEDA pruža otiske gotovo svih komponenata na tržištu. To je zbog njegove velike korisničke zajednice u kojoj korisnici stvaraju otiske stopala i čine ih dostupnima javnosti da ih koristi u svojim projektima.
EasyEDA je mrežni alat za EDA koji sam već puno puta koristio i smatrao sam ga vrlo prikladnim za upotrebu, jer ima dobru kolekciju otisaka stopala i otvoren je izvor. Nakon dizajniranja PCB-a, uzorke PCB-a možemo naručiti putem njihovih jeftinih usluga izrade PCB-a - JLCPCB. Oni također nude usluge nabave komponenata gdje imaju veliku zalihu elektroničkih komponenata, a korisnici mogu naručiti njihove potrebne komponente zajedno s narudžbom PCB-a.
Dok dizajnirate sklopove i PCB-ove, također možete učiniti svoj krug i dizajnom PCB-a javnim, tako da ih drugi korisnici mogu kopirati ili uređivati i iskoristiti vaš rad, također smo učinili ovaj dizajn Pi RGB LCD šešira javnim, provjerite dolje veza:
- https://easyeda.com/CircuitDigest/Pi-RGB-LCD-HAT
Možete vidjeti bilo koji sloj (gornji, donji, gornji dio svile, donji dio svile, itd.) PCB-a odabirom sloja iz prozora "Slojevi". Osim toga, oni također pružaju 3D model PCB-a kako će izgledati nakon izrade. Snimka gornjeg i donjeg sloja LCD HAT-a izgledala bi otprilike ovako:

Izračun i naručivanje uzoraka PCB-a putem interneta pomoću EasyEDA-e
Nakon završetka dizajna ovog PI RGB LCD ŠEŠIRA, PCB možete naručiti putem JLCPCB.com. Da biste PCB naručili od JLCPCB, potrebna vam je datoteka Gerber. Datoteku Gerber možete preuzeti s donje poveznice:
- Gerber datoteka za Raspberry Pi RGB LCD šešir
Da biste generirali Gerber datoteke na PCB-u, samo kliknite gumb Generiraj fabričku datoteku na stranici uređivača EasyEDA, a zatim preuzmite datoteku Gerber odatle ili kliknite Naruči na JLCPCB kako je prikazano na donjoj slici. Ovo će vas preusmjeriti na JLCPCB.com, gdje možete odabrati broj PCB-a po narudžbi, koliko slojeva bakra trebate, debljinu PCB-a, težinu bakra, boju PCB-a i druge parametre PCB-a, poput snimke prikazane u nastavku:

Nakon klika na gumb ' Naruči u JLCPCB' , doći ćete do web mjesta JLCPCB, gdje PCB možete naručiti po vrlo niskoj cijeni, koja iznosi 2 USD. Njihovo vrijeme izrade također je vrlo manje, što je 48 sati s DHL-ovom isporukom od 3-5 dana. PCB ćete dobiti u roku od tjedan dana od narudžbe.

Nakon narudžbe PCB-a možete provjeriti napredak u proizvodnji PCB-a s datumom i vremenom. Možete ga provjeriti tako da odete na stranicu Račun i kliknete vezu "Napredak proizvodnje" ispod PCB-a kao što je prikazano na donjoj slici.


Nakon nekoliko dana naručivanja PCB-a, dobio sam uzorke PCB-a u izvrsnom pakiranju, kao što je prikazano na slikama u nastavku.


Nakon što se uvjerio da su tragovi i otisci stopala točni. Nastavio sam sa sastavljanjem PCB-a. Potpuno zalemljena ploča izgleda dolje:

Postavljanje Raspberry Pi za LCD šešir
Prije početka programiranja, Raspberry Pi, prvo ažurirajte Raspberry Pi i instalirajte nekoliko potrebnih knjižnica. Pokrenite naredbe u nastavku za ažuriranje i nadogradnju Raspberry Pi:
sudo apt-get ažuriranje sudo apt-get nadogradnja
Sada instalirajte knjižnicu Adafruit_Blinka za LED diode NeoPixel. Biblioteka Adafruit_Blinka pruža podršku za CircuitPython u Pythonu.
sudo pip3 instalirati adafruit-circuitpython-neopixel
Nakon toga, instalirajte knjižnicu Adafruit_CharLCD za LCD modul. Ova je knjižnica namijenjena Adafruit LCD pločama, ali također radi i s LCD pločama drugih marki.
sudo pip3 instaliraj Adafruit-CharLCD
Python kod za Raspberry Pi LCD ŠEŠIR
Ovdje demonstriramo RGB LCD šešir za Raspberry Pi pomoću nekoliko prekidača kako bismo prikazali neke određene vrijednosti na LCD modulu i RGB LED kao indikatore. Dakle, Raspberry Pi moramo programirati na način da kada pritisnemo prekidač, on pokaže neke vrijednosti senzora ili druge vrijednosti.
Kompletni python kod naveden je na kraju stranice. Ovdje objašnjavamo kôd korak po korak.
Započnite kôd uvozom svih potrebnih knjižnica.
uvoz RPi.GPIO kao GPIO uvoz neopixel vrijeme uvoza import ploča import Adafruit_CharLCD kao LCD
Nakon toga definirajte sve GPIO iglice na kojima su povezani LCD i drugi prekidači.
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
Sada definirajte GPIO način pomoću BCM načina. Također ga možete promijeniti u DASKA. Zatim definirajte sve pinove prekidača kao ulaze.
GPIO.setmode (GPIO.BCM) # Koristite BCM GPIO brojeve GPIO.setup (sw0, GPIO.IN) GPIO.setup (sw2, GPIO.IN) GPIO.setup (sw3, GPIO.IN) GPIO.setup (sw4, GPIO.U)
Nakon toga definirajte GPIO pin na koji su spojene LED diode Neo Pixel. Zatim definirajte broj Neo Pixel LED-a. Ovdje se koriste tri LED diode, koje možete promijeniti prema svojim potrebama.
pixel_pin = ploča.D21 num_pixels = 3
Sada unutar funkcije lcddisplay () dodijelite određeni zadatak svakom prekidaču. Na primjer, ovdje kada se pritisne prva sklopka, Raspberry Pi na LCD-u bi trebao prikazati 'GORE', a kad se pritisne druga sklopka, na LCD-u bi trebao prikazati 'DOLJE' i tako dalje za ostala dva gumba.
Umjesto da nešto ispisujete na LCD, ove prekidače možete koristiti za izvršavanje drugog zadatka. Na primjer, možete koristiti prekidač1 za prikaz vrijednosti temperature, prekidač2 za prikaz vrijednosti vlažnosti i prekidač 3 za prikaz vrijednosti 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 ('DOLJE') 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')
Sada unutar petlje while true , funkcija pixels.fill koristi se za osvjetljavanje Neo piksela u različitim bojama. Tako je Pi programiran da svijetli Neo piksele crveno zelenom i plavom bojom po jednu sekundu.
Ove Neo piksele možete koristiti i kao indikatore. Na primjer, jedan Neo Pixel možete osvijetliti crvenom bojom da biste označili da je Pi povezan s izvorom napajanja ili možete koristiti druge LED lampice da naznače da Pi prima ili šalje 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 ŠEŠIRA
Nakon sastavljanja LCD-a i povezivanja s Raspberry Pi, svi smo spremni upotrijebiti ovaj PI RGB LCD ŠEŠIR. Za to pokrenite python kôd pomoću naredbe u nastavku.
python code_filename.py
Sada pritisnite prekidače. Kad pritisnete prekidač SW0, trebao bi ispisati 'GORE' na LCD-u. Za SW2 prekidač trebao bi ispisati 'Dolje', a isto za ostale prekidače.

Kompletan radni Video uz Python koda dan je u nastavku.
