- Būtini komponentai
- Grandinės schema
- Raspberry Pi RGB LCD HAT PCB gamyba naudojant „EasyEDA“
- PCB mėginių apskaičiavimas ir užsakymas internetu naudojant „EasyEDA“
- „Raspberry Pi“ nustatymas LCD skrybėlei
- „Raspberry Pi LCD HAT“ Python kodas
- „Raspberry Pi RGB LCD HAT“ testavimas
„Raspberry Pi“ kepurės yra tokios pačios kaip „Arduino“ skydai, jos gali tiesiogiai tilpti ant „Raspberry Pi“ viršaus ir nereikia jokių papildomų jungčių. Čia mes ketiname pastatyti RGB LCD skrybėlę „Raspberry Pi “ PCB. Ši skrybėlę sudaro 16x2 skystųjų kristalų modulis, penki jungikliai ir trys „NeoPixel“ šviesos diodai. Čia jungikliai naudojami rodomam tekstui pakeisti, o „NeoPixel“ šviesos diodai naudojami kaip indikatoriai. Šie jungikliai ir „Neo Pixels“ gali būti užprogramuoti pagal reikalavimus, pvz., Jungikliai gali būti naudojami jutiklio reikšmėms, pvz., Temperatūrai, drėgmei ir pan., Rodyti, o „Neo“ pikseliai gali būti naudojami būsenai rodyti, pavyzdžiui, „Raudona“, norint nurodyti klaidą, o žalia - gaunant kai kuriuos duomenis.
Čia naudosime „ EasyEDA“ internetinę programinę įrangą, kad suprojektuotume šio „Pi HAT“ grandinę ir PCB, o „ JLCPCB“ užsakydami PCB.
Būtini komponentai
- Aviečių Pi 4
- 16 * 2 LCD ekrano modulis
- Neo taškų šviesos diodai (3)
- Kondensatoriai
- Jungikliai (5)
Grandinės schema
Visa „ Raspberry Pi RGB LCD HAT“ grandinės schema parodyta žemiau. Schema buvo parodyta naudojant „EasyEDA“. Kaip matote, mes sujungiame 16x2 LCD modulį, 3 „NeoPixel“ šviesos diodus ir 5 jungiklius su „Raspberry Pi“. Jungtis taip pat naudojama įjungti arba išjungti „NeoPixel“ šviesos diodus.
Raspberry Pi RGB LCD HAT PCB gamyba naudojant „EasyEDA“
Kuriant „Raspberry Pi RGB LCD HAT“ plokštę, sudėtingiausia buvo pataisyti pėdsakus. Jei matmenys neteisingi, komponentai netiks PCB. Tačiau pasisekė, kad „EasyEDA“ suteikia pėdsakus beveik visiems rinkos komponentams. Taip yra dėl plačios vartotojų bendruomenės, kur vartotojai sukuria pėdsakus ir suteikia galimybę visuomenei juos naudoti savo projektuose.
„EasyEDA“ yra internetinis EDA įrankis, kurį anksčiau naudoju daug kartų ir manau, kad juo naudotis yra labai patogu, nes jis turi gerą pėdsakų rinkinį ir yra atviro kodo. Sukūrę PCB, PCB pavyzdžius galime užsisakyti pagal jų pigias PCB gamybos paslaugas - JLCPCB. Jie taip pat siūlo komponentų tiekimo paslaugas, kai turi daug elektroninių komponentų, o vartotojai gali užsisakyti reikalingus komponentus kartu su PCB užsakymu.
Kurdami grandines ir PCB, jūs taip pat galite paversti savo grandinę, o PCB dizainai yra vieši, kad kiti vartotojai galėtų juos nukopijuoti ar redaguoti ir pasinaudoti jūsų darbu, mes taip pat paviešinome šį „ Pi RGB LCD Hat“ dizainą, patikrinkite toliau nuoroda:
- https://easyeda.com/CircuitDigest/Pi-RGB-LCD-HAT
Bet kurį PCB sluoksnį (viršutinį, apatinį, viršutinį šilkinį, apatinį šilką ir kt.) Galite peržiūrėti pasirinkdami sluoksnį iš lango „Sluoksniai“. Be to, jie taip pat pateikia 3D modelio vaizdą PCB, kaip jis pasirodys po pagaminimo. LCD HAT viršutinio ir apatinio sluoksnio nuotrauka atrodys maždaug taip:
PCB mėginių apskaičiavimas ir užsakymas internetu naudojant „EasyEDA“
Baigę kurti šį PI RGB LCD HAT, galite užsisakyti PCB per JLCPCB.com. Norėdami užsisakyti PCB iš JLCPCB, jums reikia „Gerber File“. Gerber failą galite atsisiųsti iš toliau pateiktos nuorodos:
- Gerber failas, skirtas Raspberry Pi RGB LCD skrybėlei
Norėdami sugeneruoti PCB „Gerber“ failus, tiesiog spustelėkite mygtuką „ Generuoti gamybos failą “ „EasyEDA“ redaktoriaus puslapyje, tada atsisiųskite „Gerber“ failą iš ten arba spustelėkite „Užsakyti JLCPCB“, kaip parodyta žemiau esančiame paveikslėlyje. Tai nukreips jus į JLCPCB.com, kur galėsite pasirinkti užsakomų PCB skaičių, kiek jums reikia vario sluoksnių, PCB storį, vario svorį, PCB spalvą ir kitus PCB parametrus, pavyzdžiui, žemiau pateiktą momentinę kopiją:
Spustelėjus mygtuką „ Užsakyti JLCPCB“ , pateksite į JLCPCB svetainę, kur galėsite užsisakyti PCB labai mažu tarifu, kuris yra 2 USD. Jų sukūrimo laikas taip pat yra labai trumpesnis, tai yra 48 valandos, kai DHL pristatoma 3-5 dienas. PCB gausite per savaitę nuo užsakymo.
Užsisakę PCB, galite patikrinti savo PCB gamybos pažangą nurodydami datą ir laiką. Tai galite patikrinti apsilankę puslapyje „Paskyra“ ir spustelėję nuorodą „Gamybos pažanga“, esančią PCB, kaip parodyta žemiau esančiame paveikslėlyje.
Po kelių dienų užsisakius PCB, PCB mėginius gavau į puikią pakuotę, kaip parodyta toliau pateiktose nuotraukose.
Įsitikinęs, kad takeliai ir pėdsakai buvo teisingi. Aš pradėjau surinkti PCB. Visiškai lituota lenta atrodo taip:
„Raspberry Pi“ nustatymas LCD skrybėlei
Prieš pradėdami programuoti, „Raspberry Pi“, pirmiausia atnaujinkite „Raspberry Pi“ ir įdiekite kelias reikalingas bibliotekas. Paleiskite žemiau esančias komandas, kad atnaujintumėte ir atnaujintumėte „Raspberry Pi“:
sudo apt-get update sudo apt-get atnaujinimas
Dabar įdiekite „ NeoPixel“ šviesos diodų „ Adafruit_Blinka“ biblioteką. „Adafruit_Blinka“ biblioteka teikia „CircuitPython“ palaikymą „Python“.
sudo pip3 įdiekite „adafruit-circuitpython-neopixel“
Po to įdiekite „ Adafruit_CharLCD“ biblioteką LCD moduliui. Ši biblioteka skirta „Adafruit“ skystųjų kristalų plokštėms, tačiau ji taip pat veikia su kitų prekės ženklų skystųjų kristalų plokštėmis.
sudo pip3 įdiekite „Adafruit-CharLCD“
„Raspberry Pi LCD HAT“ Python kodas
Čia mes demonstruojame „ Raspberry Pi“ RGB LCD skrybėlę, naudodami kelis jungiklius tam tikroms vertėms rodyti LCD modulyje ir RGB šviesos diodams kaip indikatoriams. Taigi mes turime užprogramuoti „Raspberry Pi“ taip, kad paspaudus jungiklį jis turėtų rodyti kai kurias jutiklio ar kitas reikšmes.
Pilnas pitono kodas pateikiamas puslapio pabaigoje. Čia žingsnis po žingsnio paaiškiname kodą.
Paleiskite kodą importuodami visas reikalingas bibliotekas.
importuoti RPi.GPIO kaip GPIO importuoti neopikselių importavimo laiką importo plokštės importavimas „Adafruit_CharLCD“ kaip skystųjų kristalų ekranas
Po to nustatykite visus GPIO kaiščius, kuriuose yra prijungtas skystųjų kristalų ekranas ir kiti jungikliai.
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
Dabar apibrėžkite GPIO režimą naudodami BCM režimą. Taip pat galite jį pakeisti į BOARD. Tada nustatykite visus jungiklio kaiščius kaip įėjimus.
GPIO.setmode (GPIO.BCM) # Naudokite BCM GPIO numerius GPIO.setup (sw0, GPIO.IN) GPIO.setup (sw2, GPIO.IN) GPIO.setup (sw3, GPIO.IN) GPIO.setup (sw4, GPIO).IN)
Po to nustatykite GPIO kaištį, kur prijungti „Neo Pixel“ šviesos diodai. Tada nustatykite „Neo Pixel“ šviesos diodų skaičių. Čia naudojami trys šviesos diodai, kuriuos galite pakeisti pagal savo poreikius.
pixel_pin = lenta. D21 num_pixels = 3
Dabar lcddisplay () funkcijos viduje kiekvienam jungikliui priskirkite tam tikrą užduotį. Pavyzdžiui, čia paspaudus pirmąjį jungiklį, Raspberry Pi turėtų rodyti „UP“ LCD ekrane, o paspaudus antrąjį jungiklį, jis turėtų rodyti „DOWN“ LCD ekrane ir pan. Kitus du mygtukus.
Užuot ką nors atspausdinę skystųjų kristalų ekrane, galite naudoti šiuos jungiklius kitai užduočiai atlikti. Pvz., Galite naudoti jungiklį 1 temperatūros reikšmei rodyti, jungiklį 2 drėgmės vertėms rodyti ir jungiklį 3 slėgio reikšmėms rodyti ir kt.
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')
Dabar „ tikrojo ciklo“ viduje funkcija „ pixels.fill“ naudojama norint apšviesti „Neo Pixels“ skirtingomis spalvomis. Taigi „Pi“ užprogramuota raudonai žaliai ir mėlynai „Neo“ pikselius apšviesti po vieną sekundę.
Šiuos „Neo Pixels“ taip pat galite naudoti kaip indikatorius. Pvz., Galite apšviesti vieną „Neo Pixel“ su raudona spalva, nurodydami, kad Pi yra prijungtas prie maitinimo šaltinio, arba galite naudoti kitus šviesos diodus, nurodančius, kad Pi gauna ar siunčia duomenis ir t.
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)
„Raspberry Pi RGB LCD HAT“ testavimas
Surinkę skystųjų kristalų ekraną ir sujungę jį su „Raspberry Pi“, visi esame pasirengę naudoti šį PI RGB LCD skrybėlę. Tam paleiskite pitono kodą naudodami žemiau esančią komandą.
python code_filename.py
Dabar paspauskite jungiklius. Paspaudus SW0 jungiklį, jis turėtų LCD ekrane atspausdinti „UP“. SW2 jungikliui jis turėtų atspausdinti „žemyn“ ir tą patį likusiems jungikliams.
Pilnas darbo vaizdo kartu su Python kodas yra pateikiamas toliau.