Sisukord:

LCD COG Arduino Nano jaoks: 3 sammu
LCD COG Arduino Nano jaoks: 3 sammu

Video: LCD COG Arduino Nano jaoks: 3 sammu

Video: LCD COG Arduino Nano jaoks: 3 sammu
Video: Arduino LCD Tutorial ST7920 2024, November
Anonim
LCD COG Arduino Nano jaoks
LCD COG Arduino Nano jaoks

Selles juhendis kirjeldatakse, kuidas kasutada COG LCD -d koos Arduino Nano -ga.

COG LCD -ekraanid on odavad, kuid nende liides on veidi raskem. (COG tähistab "Chip On Glass".) See, mida ma kasutan, sisaldab UC1701 draiveri kiipi. See nõuab ainult 4 Arduino tihvti: SPI-kell, SPI-andmed, kiibi valimine ja käsk/andmed.

UC1701 juhib SPI siin ja see töötab 3,3 V pingel.

Siin kirjeldan, kuidas seda Arduino Nanoga kasutada. See peaks töötama ka Arduino Mini või Unoga - proovin varsti.

See on minu esimene Arduino projekt ja ma pole aastakümneid C -d kirjutanud, nii et kui ma teen ilmseid vigu, andke mulle sellest teada.

Samm: riistvara ehitamine

Riistvara ehitamine
Riistvara ehitamine
Riistvara ehitamine
Riistvara ehitamine
Riistvara ehitamine
Riistvara ehitamine

Osta COG LCD, mis sisaldab kiipi UC1701. See peaks kasutama pigem SPI -siinit kui paralleelset liidest. Sellel on umbes 14 tihvti, mis on märgistatud allpool loetletud nimedega. (Te ei soovi paralleelset liidest, kus on palju rohkem tihvte, millel on silt D0, D1, D2 …)

Ostsin selle: https://www.ebay.co.uk/itm/132138390168 Või võite otsida eBayst "12864 LCD COG".

Valige selline, millel on üsna lai saba, mille tihvtid on paigutatud 1,27 mm kaugusele - peenemaid tihvte on raske jootma hakata. Veenduge, et sellel oleks UC1701 kiip. Pange tähele, kuidas ebay lehe kuuendal pildil on kirjas "CONNECTOR: COG/UC1701".

Ekraan on läbipaistev ja on raske teada, mis on ees ja taga. Uurige hoolikalt minu pilte. Pange tähele, kus on tihvtid 1 ja 14 - need on sabale märgitud.

Painduvat saba on üsna lihtne joota, kuid see vajab adapterit, nii et saate selle leivaplaadiga ühendada. Ostsin: https://www.ebay.co.uk/itm/132166865767 Või võite otsida eBayst "Adapter Smd SSOP28 DIP28".

Adapter võtab ühel küljel 28-kontaktilise SOP-kiibi või teisel küljel 28-kontaktilise SSOP-kiibi. SOP -kiibil on tihvtide vahekaugus 0,05 tolli (1,27 mm), mis on sama, mis LCD -ekraanil.

Teil on vaja ka mõnda päise tihvti. Iga kord, kui ostan Arduino või mõne muu mooduli, on sellel rohkem päisekinnitusi kui vaja, nii et tõenäoliselt on teil neid juba olemas. Vastasel juhul otsige eBayst "2,54 mm päisepoldid".

Jootke 14 päise tihvtid adapteri külge. Ärge suruge neid lõpuni - see on mõnusam, kui adapteri tagakülg on tasane. Asetage see lamedale pingile, nii et tihvte ei saaks aukudesse liiga kaugele suruda. Veenduge, et tihvtid oleksid plaadi SOP -küljel (st suurem kiip).

Saba padjad on omamoodi aknas. Vooderda mõlemad pooled joodisega. Tinage adapteri padjad. Hoidke adapteri saba paigal, seejärel puudutage iga padja jootekolviga (vajate üsna peenikest otsa).

Siduge mõni niit läbi adapteri avade, et see toimiks pinge leevendajana. (Kasutasin "trafo traati").

Kui joote seda valel viisil, ärge proovige saba lahti keerata. Võtke tihvtid ükshaaval välja ja viige need tahvli teisele küljele. (Jah, ma tegin selle vea ja jootsin saba uuesti, mistõttu on fotol natuke jama.)

Samm: ühendage Arduinoga

Ühendamine Arduinoga
Ühendamine Arduinoga
Ühendamine Arduinoga
Ühendamine Arduinoga

Selles jaotises selgitatakse, kuidas ühendada Arduino Nano. See on Mini või Uno puhul väga sarnane, kuid ma pole seda veel proovinud.

Uurige vooluahelat.

USB -porti ühendatud Arduino Nano töötab 5 V pingel. LCD töötab 3.3V pingel. Seega peate LCD -ekraani toiteks kasutama Nano 3V3 tihvti ja vähendama iga juhtnupu pinget 5V -lt 3,3V -le.

LCD ekraan on järgmine:

  • 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 on Chip-Select. UC1701 kiibi valimiseks (lubamiseks) tõmmatakse see madalale. (CS -i võib nimetada CS0 või En või sarnaseks.)

RST on lähtestatud. Kiibi lähtestamiseks tõmmatakse see madalale. (RST -d võib nimetada lähtestamiseks.)

CD on käsk/andmed. See tõmmatakse madalale, kui SPI kaudu kiibile käske saadetakse. Andmete saatmisel on see kõrge. (CD -plaadi nimi võib olla A0.)

CLK ja SDA on SPI siini tihvtid. (SDA-d võib nimetada SPI-andmeteks. CLK võib olla SCL või SPI-kell.)

VB0+ ja VB0- kasutatakse UC1701 sisemise laadimispumba abil. Laadimispump tekitab LCD -le vajalikke paarituid pingeid. Ühendage 100n kondensaator VB0+ ja VB0- vahel. UC1701 dokumentatsioon soovitab 2uF, kuid ma ei näinud selle LCD -ga erinevust.

Kui teie LCD-ekraanil on VB1+ ja VB1- kontaktid, ühendage nende vahel ka 100n kondensaator. (Kui teie LCD -ekraanil on VLCD -tihvt, võite proovida ühendada 100n kondensaatori VLCD ja Gnd vahel. See ei muutnud minu LCD -d.)

Ühendage LCD -ekraan Nano -seadmega järgmiselt.

  • 1 CS = D10 *
  • 2 RST = D6 *
  • 3 CD = D7 *
  • 5 CLK = D13 *
  • 6 SDA = D11 *
  • 7 3V3 = 3V3
  • 8 0V = Gnd

("*" tähendab pinge vähendamiseks potentsiaalse jagaja kasutamist. Kui Arduino töötab sõltumatust toiteallikast 3 V3, ei vaja te takistite kasutamist.)

3.3 V väljundi annab Nano ja see võib LCD -le piisavalt voolu anda. (Ekraan võtab umbes 250uA.)

5 V väljundit annab ka Nano ja seda saab kasutada taustvalgustuse toiteks. Piirake 100 oomi takisti abil taustvalgustuse voolu.

Kui Nano nööpnõelad hakkavad otsa saama, saate RST ühendada 3V3 -ga - siis saate D6 -d kasutada millekski muuks. U1701 saab tarkvaras lähtestada SPI käsuga. Mul pole sellega kunagi probleeme olnud, kuid kui kasutate oma vooluringi mürarikkas keskkonnas, võib olla parem kasutada riistvara lähtestamist.

Samm: tarkvara

Tarkvara
Tarkvara

Teoreetiliselt saate UC1701 sõita U8g2 teegist (või Ucglibist või muudest saadaolevatest raamatukogudest). Nägin mitu päeva vaeva, et see toimima saada, ja ebaõnnestusin. U8g2 raamatukogu on koletis, kuna see võib juhtida tohutult erinevaid kiipe ja koodi järgimine on väga raske. Nii et ma loobusin ja kirjutasin oma väiksema raamatukogu. See võtab Arduinos palju vähem ruumi (umbes 3400 baiti pluss fondid).

Minu kogu saate alla laadida siit (nupp Laadi alla sellel lehel). Kaasas on näidisjoonis ja kasutusjuhend. Veebilehel https://www.arduino.cc/en/Guide/Libraries kirjeldatakse raamatukogu importimist; minge jaotisse.zip -kogu importimine.

Vormindage LCD -ekraan nupuga

UC1701Begin ();

UC1701Begin võib võtta parameetreid tihvtide vahetamiseks või RST -tihvti ignoreerimiseks. Raamatukogu kasutab ainult riistvara SPI -d (tarkvara SPI pole kaasas). Ekraani saab pöörata x- ja y -teljel. See on kasulik, kui soovite LCD -ekraani paigaldada erinevas suunas.

U8g2 raamatukogust on dubleeritud mitmeid protseduure:

  • DrawLine
  • DrawPixel
  • DrawHLine
  • DrawVLine
  • DrawBox
  • DrawFrame
  • DrawCircle
  • DrawDisc
  • DrawFilledEllipse
  • DrawEllipse
  • Joonista kolmnurk
  • UC1701SetCursor
  • UC1701ClearDisplay

Mõned protseduurid on veidi erinevad:

  • tühine DrawChar (uint8_t c, sõna Font);
  • tühi DrawString (sümbolid *, sõna Font);
  • void DrawInt (int i, sõna Font);

Stringide joonistamise protseduurid läbivad fondi indeksi. Fondid on Arduino välkmälus deklareeritud, nii et need ei hõivata väärtuslikku SRAM -i. Pakutakse kolme fonti (väike, keskmine ja suur). Need on ühendatud ja hõivavad välkmälu ainult siis, kui neid kasutate (igaüks umbes 500–2000 baiti).

"Värvi" käsitletakse erinevalt U8g2 raamatukogust. Kui LCD -ekraan on kustutatud, on selle taust tume. Kui MakeMark (globaalne muutuja) on tõene, joonistatakse valgega. Kui MakeMark on vale, joonistatakse pimedas.

Mõned protseduurid on UC1701 jaoks ainulaadsed:

SetInverted joonistab pigem must-valge kui valge-must.

tühine SetInverted (bool inv);

UC1701 heledust ja kontrasti määravad:

  • tühine SetContrast (väärtus uint8_t); // soovitatakse 14
  • tühine SetResistor (väärtus uint8_t); // soovitatav on 7

Nad töötavad koos üsna ebarahuldaval viisil.

SetEnabled lülitab LCD -ekraani välja:

void SetEnabled (bool en);

Ekraan võtab magades 4uA. Samuti peaksite taustvalgustuse välja lülitama - juhtige seda Nano nööpnõelast. Pärast uuesti lubamist on UC1701 lähtestatud; ekraan tühjendatakse ning kontrast ja takisti taastatakse vaikeväärtustele.

Kokkuvõtteks võib öelda, et COG -kuvarid on odavad ja korraliku suurusega. Neid on lihtne Arduinoga ühendada.

Soovitan: