Turinys:
- 1 žingsnis: sukurkite aparatūrą
- 2 žingsnis: Prisijunkite prie „Arduino“
- 3 žingsnis: programinė įranga
Video: „Arduino Nano“LCD COG: 3 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:48
Šioje instrukcijoje aprašoma, kaip naudoti COG LCD su „Arduino Nano“.
COG LCD ekranai yra pigūs, tačiau jų sąsaja yra šiek tiek sunkesnė. (COG reiškia „Chip On Glass“.) Mano naudojamame yra UC1701 tvarkyklės mikroschema. Tam reikalingi tik 4 „Arduino“kaiščiai: SPI laikrodis, SPI duomenys, lusto pasirinkimas ir komanda/duomenys.
UC1701 valdo SPI magistralė ir veikia esant 3,3 V įtampai.
Čia aprašysiu, kaip jį naudoti su „Arduino Nano“. Tai taip pat turėtų veikti su „Arduino Mini“arba „Uno“- netrukus išbandysiu.
Tai mano pirmasis „Arduino“projektas ir aš dešimtmečius nerašiau C, todėl jei darau akivaizdžių klaidų, praneškite man.
1 žingsnis: sukurkite aparatūrą
Pirkite COG LCD, kuriame yra UC1701 mikroschema. Jis turėtų naudoti SPI magistralę, o ne lygiagrečią sąsają. Jame bus apie 14 kaiščių, kurie bus paženklinti tokiais pavadinimais, kaip išvardyti žemiau. (Jūs nenorite lygiagrečios sąsajos su daug daugiau kaiščių, pažymėtų D0, D1, D2 …)
Pirkau: https://www.ebay.co.uk/itm/132138390168 Arba eBay galite ieškoti „12864 LCD COG“.
Pasirinkite tą, kurio uodega gana plati, o kaiščiai išdėstyti 1,27 mm atstumu - smulkesnius kaiščius bus sunku lituoti. Įsitikinkite, kad jame yra UC1701 lustas. Atkreipkite dėmesį, kaip šeštoje „ebay“puslapio nuotraukoje yra užrašas „CONNECTOR: COG/UC1701“.
Ekranas yra skaidrus ir sunku žinoti, kuris yra priekinis ir galinis. Atidžiai išstudijuokite mano nuotraukas. Atkreipkite dėmesį, kur yra 1 ir 14 kaiščiai - jie pažymėti ant uodegos.
Lanksčią uodegą gana lengva lituoti, tačiau jai reikia adapterio, kad galėtumėte prijungti prie duonos lentos. Aš nusipirkau: https://www.ebay.co.uk/itm/132166865767 Arba galite ieškoti „eBay“„Adapter Smd SSOP28 DIP28“.
Adapteris paima 28 kontaktų SOP mikroschemą vienoje pusėje arba 28 kontaktų SSOP mikroschemą kitoje pusėje. SOP lusto kaiščių tarpas yra 0,05 colio (1,27 mm), kuris yra toks pat kaip skystųjų kristalų ekrano uodega.
Jums taip pat reikės kai kurių antgalių kaiščių. Kai perku „Arduino“ar kitą modulį, jame yra daugiau antraštės kaiščių, nei reikia, todėl tikriausiai jau turite. Priešingu atveju „eBay“ieškokite „2,54 mm antraštės kaiščių“.
Lituokite 14 antraštės kaiščių ant adapterio. Nespauskite jų iki galo - gražiau, jei adapterio nugarėlė yra plokščia. Padėkite jį ant suoliuko, kad smeigtukai nebūtų per daug įstumti į skyles. Įsitikinkite, kad kaiščiai yra plokštės SOP pusėje (t. Y. Didesnio lusto).
Uodegos pagalvėlės yra tarsi lange. Alyvas iš abiejų pusių ištepkite lydmetaliu. Alavo adapterio pagalvėlės. Laikykite adapterio uodegą vietoje, tada lituokliu palieskite kiekvieną pagalvėlę (jums reikės gana plono antgalio).
Užveržkite šiek tiek sriegio per adapterio skyles, kad jis veiktų kaip įtempimas. (Aš naudoju „transformatoriaus laidą“).
Jei lituosite netinkamai, nebandykite atlaisvinti uodegos. Po vieną ištraukite smeigtukus ir perkelkite juos į kitą lentos pusę. (Taip, aš padariau tą klaidą ir iš naujo litavau uodegą, todėl nuotraukoje šiek tiek netvarka.)
2 žingsnis: Prisijunkite prie „Arduino“
Šiame skyriuje paaiškinama, kaip prisijungti prie „Arduino Nano“. Tai bus labai panaši į „Mini“ar „Uno“, bet aš to dar neišbandžiau.
Išstudijuokite grandinės schemą.
„Arduino Nano“, prijungtas prie USB prievado, veikia 5 V įtampa. LCD veikia 3.3V. Taigi jums reikia maitinti LCD ekraną iš 3 V3 „Nano“kaiščio ir sumažinti kiekvieno valdymo kaiščio įtampą nuo 5 V iki 3,3 V.
LCD ekranas yra toks:
- 1 CS
- 2 RST
- 3 CD
- 4
- 5 CLK
- 6 SDA
- 7 3V3
- 8 0 V Gnd
- 9 VB0+
- 10 VB0-
- 11
- 12
- 13
- 14
CS yra „Chip-Select“. Norėdami pasirinkti (įjungti) UC1701 lustą, jis yra žemai patrauktas. (CS gali būti vadinamas CS0 arba En ar panašiu.)
RST yra iš naujo. Jis išjungiamas žemai, kad būtų galima iš naujo nustatyti lustą. (RST gali būti vadinamas Reset.)
CD yra komanda/duomenys. Siunčiant komandas į lustą per SPI, jis yra žemas. Siunčiant duomenis jis yra didelis. (CD gali būti vadinamas A0.)
CLK ir SDA yra SPI magistralės kaiščiai. (SDA gali būti vadinamas SPI duomenimis. CLK gali būti SCL arba SPI-laikrodis.)
VB0+ ir VB0- naudoja UC1701 vidinis įkrovimo siurblys. Įkrovimo siurblys sukuria keistą įtampą, kurios reikia LCD. Prijunkite 100n kondensatorių tarp VB0+ ir VB0-. UC1701 dokumentacija rekomenduoja 2uF, bet aš nematau skirtumo su šiuo LCD.
Jei jūsų LCD yra VB1+ ir VB1- kaiščiai, taip pat prijunkite 100n kondensatorių. (Jei jūsų LCD yra VLCD kaištis, galite pabandyti prijungti 100n kondensatorių tarp VLCD ir Gnd. Tai nesiskyrė nuo mano LCD.)
Prijunkite LCD ekraną prie „Nano“taip:
- 1 CS = D10 *
- 2 RST = D6 *
- 3 CD = D7 *
- 5 CLK = D13 *
- 6 SDA = D11 *
- 7 3V3 = 3V3
- 8 0V = Gnd
(„*“reiškia, kad įtampai sumažinti naudokite potencialų skirstytuvą. Jei „Arduino“veikia nuo 3 V3 nuo nepriklausomo maitinimo šaltinio, jums nereikės rezistorių.)
3.3V išleidžia „Nano“ir gali suteikti pakankamai srovės LCD ekranui. (Ekranas sunaudoja apie 250uA.)
5V taip pat išleidžia „Nano“ir gali būti naudojamas apšvietimui maitinti. Apribokite srovę iki apšvietimo naudodami 100 omų rezistorių.
Jei „Nano“pritrūksta kaiščių, galite prijungti RST prie 3V3 - tada D6 galite naudoti kažkam kitam. U1701 galima iš naujo nustatyti programinėje įrangoje naudojant SPI komandą. Aš niekada neturėjau jokių problemų dėl to, bet jei naudojate savo grandinę triukšmingoje aplinkoje, gali būti geriau naudoti aparatūros atstatymą.
3 žingsnis: programinė įranga
Teoriškai galite vairuoti UC1701 iš U8g2 bibliotekos (arba „Ucglib“ar kitų galimų bibliotekų). Dienomis kovojau, kad tai veiktų, ir nepavyko. „U8g2“biblioteka yra pabaisa, nes ji gali vairuoti daugybę įvairių lustų ir labai sunku sekti kodą. Taigi aš pasidaviau ir parašiau savo mažesnę biblioteką. „Arduino“užima daug mažiau vietos (apie 3400 baitų ir šriftų).
Mano biblioteką galite atsisiųsti iš čia (šio puslapio mygtukas Atsisiųsti). Pridedamas eskizo pavyzdys ir vartotojo vadovas. Tinklalapyje https://www.arduino.cc/en/Guide/Libraries aprašoma, kaip importuoti biblioteką; eikite į skyrių „.zip bibliotekos importavimas“.
Inicijuokite LCD naudodami
UC1701Begin ();
UC1701Begin gali imtis parametrų, kad pakeistų kaiščius arba ignoruotų RST kaištį. Biblioteka naudoja tik aparatūros SPI (programinės įrangos SPI nepateikiama). Ekraną galima apversti x ir y ašimis. Tai naudinga, jei norite LCD montuoti kitokia kryptimi.
Iš U8g2 bibliotekos buvo pakartotos kelios procedūros:
- „DrawLine“
- „DrawPixel“
- „DrawHLine“
- „DrawVLine“
- „DrawBox“
- DrawFrame
- DrawCircle
- DrawDisc
- DrawFilledEllipse
- DrawEllipse
- Lygiosios trikampis
- UC1701SetCursor
- UC1701ClearDisplay
Kai kurios procedūros šiek tiek skiriasi:
- void DrawChar (uint8_t c, žodis Šriftas);
- void DrawString (char * s, žodis Šriftas);
- void DrawInt (int i, žodis Šriftas);
Eilutės piešimo procedūros perduodamos šrifto indeksui. Šriftai yra paskelbti „Arduino“atmintyje, todėl jie neužima brangaus SRAM. Pateikiami trys šriftai (maži, vidutiniai ir dideli). Jie yra susieti ir užima „flash“atmintį tik tada, kai juos naudojate (maždaug nuo 500 iki 2000 baitų).
„Spalva“tvarkoma kitaip nei U8g2 biblioteka. Kai LCD ekranas išvalytas, jo fonas yra tamsus. Jei „MakeMark“(visuotinis kintamasis) yra teisingas, piešimas atliekamas balta spalva. Jei „MakeMark“yra klaidinga, piešimas atliekamas tamsoje.
Kai kurios procedūros yra unikalios UC1701:
„SetInverted“piešia juodai balta, o ne balta juoda spalva.
void SetInverted (bool inv);
UC1701 ryškumą ir kontrastą nustato:
- void SetContrast (vertė uint8_t); // siūloma 14
- void SetResistor (vertė uint8_t); // siūlomas 7
Jie dirba kartu gana nepatenkinamai.
„SetEnabled“išjungia LCD ekraną:
void SetEnabled (bool en);
Ekranas miega 4uA. Taip pat turėtumėte išjungti foninį apšvietimą - vairuokite jį iš „Nano“kaiščio. Įjungus iš naujo, UC1701 bus iš naujo nustatytas; ekranas bus išvalytas, o kontrastas ir rezistorius bus atstatyti į numatytas vertes.
Taigi, apibendrinant, COG ekranai yra pigūs ir tinkamo dydžio. Juos lengva prijungti prie „Arduino“.
Rekomenduojamas:
RODYTI DRĖGNUMĄ IR TEMPERATŪRĄ LCD SU ARDUINO NANO: 5 žingsniai
RODYTI DRĖGNUMĄ IR TEMPERATŪRĄ SKIRTUOJE SU ARDUINO NANO
„Arduino LCD 16x2“pamoka - Sąsajos 1602 LCD ekranas su „Arduino Uno“: 5 žingsniai
„Arduino LCD 16x2“pamoka | Sąsajos 1602 LCD ekranas su „Arduino Uno“: Sveiki, vaikinai, nes daugeliui projektų reikia ekrano, kuriame būtų rodomi duomenys, nesvarbu, ar tai yra koks nors „pasidaryk pats“skaitiklis, ar „YouTube“prenumeratų skaičius, ar skaičiuoklė, ar klaviatūros užraktas su ekranu, ir jei visi šie projektai yra sukurti naudojant arduino jie apibrėžs
I2C / IIC LCD ekranas - Naudokite SPI LCD prie I2C LCD ekrano Naudodami SPI to IIC modulį su „Arduino“: 5 žingsniai
I2C / IIC LCD ekranas | Naudokite SPI LCD prie I2C LCD ekrano SPI to IIC modulio naudojimas su „Arduino“: Sveiki, vaikinai, nes įprastas SPI LCD 1602 turi per daug laidų prijungti, todėl labai sunku jį sujungti su „arduino“, tačiau rinkoje yra vienas modulis, kuris gali konvertuoti SPI ekraną į IIC ekraną, todėl jums reikia prijungti tik 4 laidus
I2C / IIC LCD ekranas - Konvertuokite SPI LCD į I2C LCD ekraną: 5 žingsniai
I2C / IIC LCD ekranas | Konvertuokite SPI LCD į I2C LCD ekraną: naudojant „spi lcd“ekraną reikia per daug jungčių, o tai padaryti tikrai sunku, todėl radau modulį, kuris gali konvertuoti „i2c LCD“į „spi lcd“, todėl pradėkime
„Arduino Nano“ir du DS18B20 temperatūros jutikliai su I2C LCD: 5 žingsniai
„Arduino Nano“ir du DS18B20 temperatūros jutikliai su I2C LCD: Šiandien noriu jums parodyti, kaip padaryti du temperatūros jutiklius DS18B20 su „Arduino Nano Clone“ir „I2C LCD“. a I2C displejem. Aš naudoju Arduino IDE 1.8.8 // Pouziv