Kazalo:
Video: LCD COG za Arduino Nano: 3 koraki
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:07
Ta navodila opisujejo, kako uporabljati COG LCD z Arduino Nano.
LCD zasloni COG so poceni, vendar jih je nekoliko težje povezati. (COG pomeni "Chip On Glass".) Ta, ki ga uporabljam, vsebuje gonilniški čip UC1701. Arduino potrebuje le 4 zatiče: uro SPI, podatke SPI, izbiro čipa in ukaz/podatke.
UC1701 krmili vodilo SPI in deluje pri 3.3V.
Tukaj opisujem, kako ga uporabiti z Arduino Nano. Moral bi delovati tudi z Arduino Mini ali Uno - poskusil bom kmalu.
To je moj prvi projekt Arduino in nisem pisal C že desetletja, zato mi, če delam očitne napake, sporočite.
1. korak: Izdelava strojne opreme
Kupite COG LCD, ki vsebuje čip UC1701. Namesto vzporednega vmesnika bi moral uporabljati vodilo SPI. Imel bo okoli 14 zatičev, ki bodo označeni z imeni, kot so spodaj navedena. (Ne želite vzporednega vmesnika z veliko več zatiči z oznako D0, D1, D2 …)
Tisti, ki sem ga kupil, je: https://www.ebay.co.uk/itm/132138390168 Ali pa na eBayu poiščite "12864 LCD COG".
Izberite tistega, ki ima precej širok rep z zatiči, razmaknjenimi na 1,27 mm - tanjše zatiče bo težko spajkati. Prepričajte se, da ima čip UC1701. Opazite, kako na šesti sliki na strani ebay piše "POVEZAVA: COG/UC1701".
Zaslon je prozoren in težko je vedeti, kaj je spredaj in zadaj. Pozorno preučite moje slike. Upoštevajte, kje sta zatiča 1 in 14 - označena sta na repu.
Prilagodljiv rep je zelo enostavno spajkati, vendar potrebuje adapter, tako da ga lahko priključite na ploščo. Kupil sem: https://www.ebay.co.uk/itm/132166865767 Ali pa na eBayu poiščite "Adapter Smd SSOP28 DIP28".
Adapter vzame 28-polni SOP čip na eni strani ali 28-polni SSOP čip na drugi strani. SOP čip ima razmik med zatiči 0,05 (1,27 mm), kar je enako repu LCD -ja.
Potrebovali boste tudi nekaj zatičev glave. Kadar koli kupim Arduino ali drug modul, pride z več zatiči glave, kot jih potrebujete, zato jih verjetno že imate. V nasprotnem primeru na eBayu poiščite "2,54 mm zatiči glave".
Spajajte 14 zatičev glave na adapter. Ne potiskajte jih do konca - lepše je, če je zadnji del adapterja raven. Postavite ga ravno na klop, da zatičev ne morete potisniti predaleč v luknje. Prepričajte se, da so zatiči na SOP strani plošče (tj. Večji čip).
Repne blazinice so v nekem oknu. Na obeh straneh jih kosite s spajkanjem. Položite blazinice adapterja. Držite rep adapterja na mestu, nato se dotaknite vsake blazinice s spajkalnikom (potrebovali boste precej fino konico).
Privijte nekaj niti skozi luknje v adapterju, da delujejo kot razbremenitev napetosti. (Uporabil sem "transformatorsko žico").
Če ste ga spajkali na napačen način, ne odpahnite repa. Zatiče izvlecite enega za drugim in jih premaknite na drugo stran plošče. (Ja, naredil sem to napako in rep spet spajkal, zato je na fotografiji malo nereda.)
2. korak: Povežite se z Arduinom
Ta razdelek razlaga, kako se povezati z Arduino Nano. Za Mini ali Uno bo zelo podoben, a tega še nisem poskusil.
Preučite shemo vezja.
Arduino Nano, priključen na vrata USB, deluje pri 5V. LCD deluje pri 3.3V. Zato morate LCD napajati iz 3V3 zatiča Nano in zmanjšati napetost na vsakem krmilnem zatiču s 5V na 3.3V.
Izpis LCD -ja je:
- 1 CS
- 2 RST
- 3 CD
- 4
- 5 CLK
- 6 SDA
- 7 3V3
- 8 0V Gnd
- 9 VB0+
- 10 VB0-
- 11
- 12
- 13
- 14
CS je Chip-Select. Povlecite ga nizko, da izberete (omogočite) čip UC1701. (CS se lahko imenuje CS0 ali En ali podobno.)
RST je ponastavljen. Za ponastavitev čipa se potegne nizko. (RST se lahko imenuje ponastavitev.)
CD je ukaz/podatki. Pri pošiljanju ukazov na čip prek SPI je nizko. Visoka je pri pošiljanju podatkov. (CD se lahko imenuje A0.)
CLK in SDA sta zatiča vodila SPI. (SDA se lahko imenuje SPI-podatki. CLK je lahko SCL ali SPI-ura.)
VB0+ in VB0- uporablja notranja polnilna črpalka UC1701. Polnilna črpalka ustvarja lihe napetosti, ki jih potrebuje LCD. Priključite 100n kondenzator med VB0+ in VB0-. Dokumentacija UC1701 priporoča 2uF, vendar pri tem LCD -ju nisem videl razlike.
Če ima vaš LCD vtič VB1+ in VB1-, med njimi priključite tudi 100n kondenzator. (Če ima vaš LCD vtič VLCD, lahko poskusite priključiti 100n kondenzator med VLCD in Gnd. To z mojim LCD -jem ni imelo nobene razlike.)
LCD priključite na Nano na naslednji način:
- 1 CS = D10 *
- 2 RST = D6 *
- 3 CD = D7 *
- 5 CLK = D13 *
- 6 SDA = D11 *
- 7 3V3 = 3V3
- 8 0V = Gnd
("*" pomeni uporabo potencialnega delilnika za zmanjšanje napetosti. Če Arduino deluje pri 3V3 od neodvisnega napajanja, uporov ne boste potrebovali.)
3.3V oddaja Nano in lahko zagotovi dovolj toka za LCD. (Zaslon porabi okoli 250uA.)
5V oddaja tudi Nano in se lahko uporablja za napajanje osvetlitve ozadja. Omejite tok na osvetlitev ozadja s 100 ohmskim uporom.
Če na Nano -u primanjkuje zatičev, lahko priključite RST na 3V3 - potem lahko uporabite D6 za kaj drugega. U1701 lahko programsko ponastavite z ukazom na SPI. Nikoli nisem imel težav s tem, če pa uporabljate svoje vezje v hrupnem okolju, je morda bolje uporabiti ponastavitev strojne opreme.
3. korak: Programska oprema
Teoretično lahko vozite UC1701 iz knjižnice U8g2 (ali Ucgliba ali drugih knjižnic, ki so na voljo). Več dni sem se boril, da bi uspel, in mi ni uspelo. Knjižnica U8g2 je pošast, saj lahko poganja ogromno različnih čipov in je zelo težko slediti kodi. Zato sem obupal in napisal svojo manjšo knjižnico. V Arduinu zavzame veliko manj prostora (približno 3400 bajtov plus pisave).
Knjižnico lahko prenesete od tukaj (gumb Prenesi na tej strani). Vključena je vzorčna skica in uporabniški priročnik. Spletna stran https://www.arduino.cc/en/Guide/Libraries opisuje, kako uvoziti knjižnico; pojdite na razdelek »Uvoz knjižnice.zip«.
Inicializirajte LCD z
UC1701Begin ();
UC1701Begin lahko sprejme parametre za spreminjanje nožic ali ignoriranje zatiča RST. Knjižnica uporablja samo strojni SPI (SPI programske opreme ni na voljo). Zaslon lahko obrnete v osi x in y. To je uporabno, če želite LCD -zaslon namestiti v drugačno smer.
Iz knjižnice U8g2 je bilo podvojenih več postopkov:
- DrawLine
- DrawPixel
- DrawHLine
- DrawVLine
- DrawBox
- DrawFrame
- DrawCircle
- DrawDisc
- DrawFilledEllipse
- DrawEllipse
- DrawTriangle
- UC1701SetCursor
- UC1701ClearDisplay
Nekateri postopki so nekoliko drugačni:
- void DrawChar (uint8_t c, besedna pisava);
- void DrawString (char * s, besedna pisava);
- void DrawInt (int i, besedna pisava);
Postopki risanja nizov se prenesejo v indeks pisave. Pisave so deklarirane v bliskovnem pomnilniku Arduina, zato ne zasedajo dragocenega SRAM -a. Na voljo so tri pisave (majhne, srednje in velike). Povezani so in zasedajo bliskovni pomnilnik le, če jih uporabljate (vsak od približno 500 do 2000 bajtov).
"Barva" se obravnava drugače kot knjižnica U8g2. Ko je LCD zaslon počiščen, ima temno ozadje. Če je MakeMark (globalna spremenljivka) res, se risanje izvede v beli barvi. Če je MakeMark napačen, se risanje izvede v temi.
Nekateri postopki so edinstveni za UC1701:
SetInverted riše črno-belo in ne belo-črno.
void SetInverted (bool inv);
Svetlost in kontrast UC1701 nastavita:
- void SetContrast (vrednost uint8_t); // predlagano je 14
- void SetResistor (vrednost uint8_t); // predlagano je 7
Sodelujejo na precej nezadovoljiv način.
SetEnabled izklopi LCD:
void SetEnabled (bool sl);
Zaslon porabi 4uA med spanjem. Prav tako morate izklopiti osvetlitev ozadja - poganjajte ga iz zatiča Nano. Po ponovnem vklopu bo UC1701 ponastavljen; zaslon se počisti, kontrast in upor pa bosta ponastavljena na privzete vrednosti.
Skratka, zasloni COG so poceni in dostojne velikosti. Enostavno jih je povezati z Arduinom.
Priporočena:
Arduino Nano Vsak primer: 4 koraki
Arduino Nano Every Case: Ste že kdaj potrebovali dodatno zaščito za vaš Arduino Nano Every ali pa ste želeli le elegantno ohišje, ki je še vedno funkcionalno in je prijazno do plošče? No, prišli ste na pravo mesto, ker vam bom danes pokazal, kako narediti
LCD Messenger LCD z nadzorom Bluetooth -- 16x2 LCD -- Hc05 -- Enostavno -- Brezžična oglasna deska: 8 korakov
LCD Messenger LCD z nadzorom Bluetooth || 16x2 LCD || Hc05 || Enostavno || Brezžična oglasna deska: …………………………. PRIJAVITE SE na moj YouTube kanal za več videov …… ………………………………… Oglasna deska se uporablja za posodabljanje ljudi z novimi informacijami ali Če želite poslati sporočilo z v sobi ali na pol
I2C / IIC LCD zaslon - Uporabite SPI LCD za LCD zaslon I2C z uporabo modula SPI do IIC z Arduinom: 5 korakov
I2C / IIC LCD zaslon | Uporabite SPI LCD za LCD zaslon I2C z uporabo modula SPI do IIC z Arduinom: Pozdravljeni, saj ima navaden SPI LCD 1602 preveč žic za povezavo, zato ga je zelo težko povezati z arduinom, vendar je na trgu na voljo en modul, ki lahko pretvorite zaslon SPI v zaslon IIC, tako da morate priključiti samo 4 žice
I2C / IIC LCD zaslon - Pretvorite SPI LCD v LCD zaslon I2C: 5 korakov
I2C / IIC LCD zaslon | Pretvorite SPI LCD v LCD zaslon I2C: uporaba spi lcd zaslona zahteva preveč povezav, kar je res težko narediti, zato sem našel modul, ki lahko i2c lcd pretvori v spi lcd, zato začnimo
Arduino Super Easy LCD LCD: 4 koraki
Arduino Super Easy LCD LCD: 6 -vrstna koda, LCD brez mostičkov za Arduino Korak za korakom s knjižnico in kompaktnim vzorčnim kodom