- Kinakailangan ang Mga Bahagi
- Diagram ng Circuit
- Fabricating PCB para sa Raspberry Pi RGB LCD HAT gamit ang EasyEDA
- Pagkalkula at Pag-order ng Mga Sampol ng PCB sa online gamit ang EasyEDA
- Pag-setup ng Raspberry Pi para sa LCD Hat
- Python Code para sa Raspberry Pi LCD HAT
- Pagsubok sa Raspberry Pi RGB LCD HAT
Ang mga Raspberry Pi Hats ay pareho ng mga kalasag para sa Arduino, maaari silang direktang magkasya sa tuktok ng Raspberry Pi at hindi nangangailangan ng anumang mga karagdagang koneksyon. Dito magtatayo kami ng isang RGB LCD Hat para sa Raspberry Pi sa PCB. Ang LCD Hat na ito ay binubuo ng isang 16x2 LCD module, limang switch, at tatlong NeoPixel LEDs. Dito ginagamit ang mga switch upang baguhin ang teksto sa ipinapakita at ang NeoPixel LEDs ay ginagamit bilang tagapagpahiwatig. Ang mga switch na ito at Neo Pixels ay maaaring mai-program ayon sa mga kinakailangan tulad ng switch ay maaaring magamit upang ipakita ang mga halaga ng sensor tulad ng temperatura, halumigmig, atbp. At ang Neo pixel ay maaaring magamit upang ipakita ang katayuan tulad ng Pula para sa pagpapahiwatig ng ilang error at berde habang tumatanggap ng ilang data.
Dito ay gagamitin namin ang EasyEDA online software upang idisenyo ang circuit at PCB para sa Pi HAT na ito, at JLCPCB upang mag-order ng mga PCB.
Kinakailangan ang Mga Bahagi
- Raspberry Pi 4
- 16 * 2 LCD Display Module
- Mga Neo-pixel LED (3)
- Mga capacitor
- Mga switch (5)
Diagram ng Circuit
Ang kumpletong diagram ng circuit para sa Raspberry Pi RGB LCD HAT ay ipinapakita sa ibaba. Ang iskema ay iginuhit gamit ang EasyEDA. Tulad ng nakikita mo, nakikipag-interface kami ng isang 16x2 LCD module, 3 NeoPixel LEDs at 5 Switch na may Raspberry Pi. Ginagamit din ang isang konektor upang paganahin o huwag paganahin ang NeoPixel LEDs.
Fabricating PCB para sa Raspberry Pi RGB LCD HAT gamit ang EasyEDA
Habang ang pagdidisenyo ng PCB para sa Raspberry Pi RGB LCD HAT, ang pinaka-mapaghamong bahagi ay ang pagkuha ng tamang marka ng paa. Kung nagkamali ang mga sukat, kung gayon ang mga sangkap ay hindi magkakasya sa PCB. Ngunit sapat na masuwerte, nagbibigay ang EasyEDA ng mga bakas ng paa para sa halos lahat ng mga bahagi sa merkado. Dahil ito sa malawak na pamayanan ng gumagamit kung saan lumilikha ang mga gumagamit ng mga bakas ng paa at ginawang magagamit ito para sa publiko upang magamit ito sa kanilang mga proyekto.
Ang EasyEDA ay isang online na tool ng EDA na dati ko nang ginamit ng maraming beses at nahanap kong mas maginhawa itong gamitin dahil mayroon itong mahusay na koleksyon ng mga bakas ng paa, at ito ay open-source. Matapos ang pagdidisenyo ng PCB, maaari kaming mag-order ng mga sample ng PCB sa pamamagitan ng kanilang mga serbisyong paggawa ng PCB na murang gastos- JLCPCB. Nag-aalok din sila ng mga serbisyong sourcing ng bahagi kung saan mayroon silang maraming stock ng mga elektronikong sangkap, at maaaring mag-order ang mga gumagamit ng kanilang mga kinakailangang sangkap kasama ang order ng PCB.
Habang nagdidisenyo ng mga circuit at PCB, maaari mo ring gawing pampubliko ang iyong circuit, at ang mga disenyo ng PCB upang ang ibang mga gumagamit ay maaaring kopyahin o mai-edit ang mga ito at maaaring makinabang mula sa iyong trabaho, ginawa rin naming publiko ang disenyo ng Pi RGB LCD Hat na ito, suriin ang sa ibaba link:
- https://easyeda.com/CircuitDigest/Pi-RGB-LCD-HAT
Maaari mong tingnan ang anumang Layer (Itaas, Ibaba, Topsilk, ilalim na sutla, atbp.) Ng PCB sa pamamagitan ng pagpili ng layer na bumubuo sa window ng 'Mga Layer'. Maliban dito, nagbibigay din sila ng isang 3D na pagtingin sa modelo ng PCB sa kung paano ito lilitaw pagkatapos ng katha. Ang snapshot ng tuktok na layer at ilalim na layer ng LCD HAT ay magmukhang ganito:
Pagkalkula at Pag-order ng Mga Sampol ng PCB sa online gamit ang EasyEDA
Matapos makumpleto ang disenyo ng PI RGB LCD HAT na ito, maaari kang mag-order ng PCB sa pamamagitan ng JLCPCB.com. Upang mag-order ng PCB mula sa JLCPCB, kailangan mo ng Gerber File. Maaari mong i-download ang Gerber file mula sa link sa ibaba:
- Gerber File para sa Raspberry Pi RGB LCD Hat
Upang mabuo ang mga Gerber file ng PCB, i-click lamang ang pindutang Bumuo ng Pabrika ng Pabrika sa pahina ng editor ng EasyEDA, pagkatapos ay i-download ang Gerber file mula doon, o mag-click sa Order sa JLCPCB tulad ng ipinakita sa imaheng nasa ibaba. Ire-redirect ka nito sa JLCPCB.com, kung saan maaari mong piliin ang bilang ng mga PCB upang mag-order, kung gaano karaming mga layer ng tanso ang kailangan mo, kapal ng PCB, bigat ng tanso, kulay ng PCB, at iba pang mga parameter ng PCB, tulad ng snapshot na ipinakita sa ibaba:
Matapos mag-click sa pindutang ' Order at JLCPCB' , dadalhin ka nito sa website ng JLCPCB, kung saan maaari kang mag-order ng PCB sa isang napakababang rate, na kung saan ay $ 2. Ang kanilang oras sa pagbuo ay mas mababa rin, na 48 oras na may paghahatid ng DHL ng 3-5 araw. Makukuha mo ang iyong mga PCB sa loob ng isang linggo ng pag-order.
Matapos ang pag-order ng PCB, maaari mong suriin ang Production Progress ng iyong PCB na may petsa at oras. Maaari mong suriin ito sa pamamagitan ng pagpunta sa pahina ng Account at mag-click sa link na "Pag-usad ng Produksyon" sa ilalim ng PCB tulad ng ipinakita sa larawan sa ibaba.
Matapos ang ilang araw ng pag-order ng mga PCB, nakuha ko ang mga sample ng PCB sa mahusay na packaging, tulad ng ipinakita sa mga larawan sa ibaba.
Matapos matiyak na ang mga track at footprints ay tama. Nagpatuloy ako sa pag-iipon ng PCB. Ang buong soldered board ay katulad ng sa ibaba:
Pag-setup ng Raspberry Pi para sa LCD Hat
Bago simulan ang pagprograma, ang Raspberry Pi, i-update muna ang Raspberry Pi at i-install ang ilang mga kinakailangang aklatan. Patakbuhin sa ibaba ang mga utos upang i-update at i-upgrade ang Raspberry Pi:
sudo apt-get update sudo apt-get upgrade
I-install ngayon ang Adafruit_Blinka library para sa NeoPixel LEDs. Nagbibigay ang Adafruit_Blinka library ng suporta sa CircuitPython sa Python.
sudo pip3 i-install ang adafruit-circuitpython-neopixel
Pagkatapos nito, i-install ang Adafruit_CharLCD library para sa LCD module. Ang library na ito ay para sa mga board ng Adafruit LCD, ngunit gumagana rin ito sa iba pang mga tatak na LCD boards.
sudo pip3 i-install ang Adafruit-CharLCD
Python Code para sa Raspberry Pi LCD HAT
Ipinapakita namin dito ang RGB LCD na sumbrero para sa Raspberry Pi sa pamamagitan ng paggamit ng ilang mga switch upang maipakita ang ilang mga partikular na halaga sa LCD module at RGB LEDs bilang mga tagapagpahiwatig. Kaya kailangan nating i-program ang Raspberry Pi sa isang paraan na kapag pinindot namin ang isang Lumipat, dapat itong magpakita ng ilang mga halaga ng sensor o iba pang mga halaga.
Ang kumpletong python code ay ibinibigay sa dulo ng pahina. Narito ipinapaliwanag namin ang code nang paunahin.
Simulan ang code sa pamamagitan ng pag-import ng lahat ng kinakailangang mga aklatan.
i-import ang RPi.GPIO bilang GPIO i-import ang neopixel na oras ng pag-import ng board import na Adafruit_CharLCD bilang LCD
Pagkatapos nito, tukuyin ang lahat ng mga GPIO pin kung saan nakakonekta ang LCD at iba pang mga switch.
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
Ngayon, tukuyin ang GPIO mode gamit ang BCM mode. Maaari mo rin itong palitan sa BOARD. Pagkatapos tukuyin ang lahat ng mga switch switch bilang Mga Input.
GPIO.setmode (GPIO.BCM) # Gumamit ng mga numero ng BCM GPIO GPIO.setup (sw0, GPIO.IN) GPIO.setup (sw2, GPIO.IN) GPIO.setup (sw3, GPIO.IN) GPIO.setup (sw4, GPIO.SA)
Pagkatapos nito, tukuyin ang GPIO pin kung saan nakakonekta ang Neo Pixel LEDs. Pagkatapos tukuyin ang hindi ng Neo Pixel LEDs. Dito ginagamit ang tatlong LEDs, maaari mo itong baguhin ayon sa iyong mga pangangailangan.
pixel_pin = board.D21 num_pixels = 3
Ngayon sa loob ng pag- andar ng lcddisplay () , magtalaga ng isang partikular na gawain sa bawat switch. Halimbawa, dito kapag ang unang switch ay pinindot, dapat ipakita ng Raspberry Pi ang 'UP' sa LCD, at kapag ang pangalawang switch ay pinindot, dapat itong ipakita 'Down' sa LCD at iba pa para sa iba pang dalawang mga pindutan.
Sa halip na mag-print ng isang bagay sa isang LCD, maaari mong gamitin ang mga Switch na ito upang maisagawa ang ibang gawain. Halimbawa, maaari mong gamitin ang switch1 upang ipakita ang Halaga ng temperatura, switch2 upang ipakita ang mga halagang Humidity, at switch 3 upang ipakita ang Mga halaga ng presyon, atbp.
def lcddisplay (): kung (GPIO.input (sw0) == Mali): lcd.clear () lcd.set_cursor (0,0) lcd.message ('UP') kung (GPIO.input (sw2) == Mali): lcd.clear () lcd.set_cursor (0,0) lcd.message ('Down') kung (GPIO.input (sw3) == Mali): lcd.clear () lcd.set_cursor (0,0) lcd.message ('LEFT') kung (GPIO.input (sw4) == Mali): lcd.clear () lcd.set_cursor (0,0) lcd.message ('TAMA')
Ngayon sa loob ng totoong loop, ang pix.fill function ay ginagamit upang magaan ang Neo Pixels sa iba't ibang mga kulay. Kaya't ang Pi ay na-program upang magaan ang Neo Pixels na may kulay Red at Blue na para sa bawat segundo.
Maaari mo ring gamitin ang mga Neo Pixel na ito bilang tagapagpahiwatig. Halimbawa, maaari mong sindihan ang isang Neo Pixel na may Pulang kulay upang ipahiwatig na ang Pi ay konektado sa pinagmulan ng kuryente o maaari mong gamitin ang iba pang mga LED upang ipahiwatig na ang Pi ay tumatanggap o nagpapadala ng Data, atbp.
pix.fill ((255, 0, 0)) pix.show () time.s Sleep (1) pix.fill ((0, 255, 0)) pix.show () time.s Sleep (1) pix.fill ((0, 0, 255)) pix.show () time.s Sleep (1) rainbow_cycle (0.001)
Pagsubok sa Raspberry Pi RGB LCD HAT
Matapos tipunin ang LCD at i-interface ito sa Raspberry Pi, nakatakda kaming lahat na gamitin ang PI RGB LCD HAT na ito. Para doon, patakbuhin ang code ng sawa sa pamamagitan ng paggamit ng utos sa ibaba.
python code_filename.py
Ngayon pindutin ang mga switch. Kapag pinindot mo ang switch ng SW0, dapat itong mai-print 'UP' sa LCD. Para sa switch ng SW2, dapat itong i-print ang 'Down' at pareho para sa natitirang mga switch.
Ang isang kumpletong gumaganang video kasama ang Python code ay ibinibigay sa ibaba.