Sadržaj:

LCD COG za Arduino Nano: 3 koraka
LCD COG za Arduino Nano: 3 koraka

Video: LCD COG za Arduino Nano: 3 koraka

Video: LCD COG za Arduino Nano: 3 koraka
Video: Введение в LCD2004 ЖК-дисплей с модулем I2C для Arduino 2024, Novembar
Anonim
LCD COG za Arduino Nano
LCD COG za Arduino Nano

Ovaj Instructable opisuje kako koristiti COG LCD s Arduino Nano.

COG LCD ekrani su jeftini, ali ih je malo teže spojiti. (COG znači "Chip On Glass".) Ovaj koji koristim sadrži upravljački čip UC1701. Potrebna su samo 4 pina Arduina: SPI-sat, SPI-podaci, odabir čipa i naredba/podaci.

UC1701 kontrolira SPI sabirnica i radi na 3.3V.

Ovdje opisujem kako ga koristiti s Arduino Nano -om. Također bi trebao raditi s Arduino Mini ili Uno - isprobaću uskoro.

Ovo je moj prvi Arduino projekt i nisam pisao C desetljećima pa ako napravim očite greške, molim vas obavijestite me.

Korak 1: Izgradnja hardvera

Izgradnja hardvera
Izgradnja hardvera
Izgradnja hardvera
Izgradnja hardvera
Izgradnja hardvera
Izgradnja hardvera

Kupite COG LCD koji sadrži čip UC1701. Trebao bi koristiti SPI sabirnicu, a ne paralelno sučelje. Imat će oko 14 pinova koji će biti označeni imenima poput onih navedenih u nastavku. (Ne želite paralelno sučelje s mnogo više pinova označenih D0, D1, D2 …)

Ovaj koji sam kupio je: https://www.ebay.co.uk/itm/132138390168 Ili možete pretraživati eBay za "12864 LCD COG".

Odaberite onu koja ima prilično širok rep s iglama razmaknutim na 1,27 mm - finije iglice bit će teško lemiti. Provjerite ima li čip UC1701. Primijetite kako na šestoj slici na eBay stranici piše "KONEKTOR: COG/UC1701".

Ekran je proziran i teško je znati koja je prednja i zadnja. Pažljivo proučite moje slike. Primijetite gdje su igle 1 i 14 - označene su na repu.

Fleksibilni rep je prilično lako lemiti, ali zahtijeva adapter tako da ga možete priključiti na ploču. Kupio sam: https://www.ebay.co.uk/itm/132166865767 Ili možete pretraživati eBay za "Adapter Smd SSOP28 DIP28".

Adapter uzima 28-pinski SOP čip s jedne strane ili 28-pinski SSOP čip s druge strane. SOP čip ima razmak između pin -ova 0,07 (1,27 mm) što je isto kao rep LCD -a.

Trebat će vam i neke igle zaglavlja. Kad god kupim Arduino ili neki drugi modul, dolazi s više pinova zaglavlja nego što je potrebno, pa ih vjerojatno već imate. U suprotnom, potražite na eBayu "2,54 mm zaglavlja zaglavlja".

Lemite 14 pinova zaglavlja na adapter. Ne gurajte ih do kraja - ljepše je ako je stražnja strana adaptera ravna. Stavite ga ravno na klupu tako da se igle ne mogu previše gurnuti u rupe. Uvjerite se da su pinovi na SOP strani ploče (tj. Veći čip).

Jastučići repa su u nekoj vrsti prozora. Limetajte im obje strane lemljenjem. Konzervirajte jastučiće adaptera. Držite rep adaptera na mjestu, a zatim dodirnite svaku podlogu lemilicom (trebat će vam prilično fin vrh).

Provucite konac kroz rupe na adapteru kako bi djelovao kao rasterećenje naprezanja. (Koristio sam "transformatorsku žicu").

Ako ste ga lemili na pogrešan način, nemojte pokušavati odmotati rep. Izvlačite igle jedan po jedan i premještajte ih na drugu stranu ploče. (Da, napravio sam tu grešku i ponovo zalemio rep, zbog čega je malo nereda na fotografiji.)

Korak 2: Povezivanje s Arduinom

Povezivanje s Arduinom
Povezivanje s Arduinom
Povezivanje s Arduinom
Povezivanje s Arduinom

Ovaj odjeljak objašnjava kako se spojiti na Arduino Nano. Bit će vrlo slično za Mini ili Uno, ali još nisam probao.

Proučite dijagram kola.

Arduino Nano spojen na USB priključak radi na 5V. LCD radi na 3.3V. Dakle, morate napajati LCD s 3V3 pina Nano -a i smanjiti napon na svakom kontrolnom pinu sa 5V na 3.3V.

Isključivanje LCD ekrana 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. Povlači se kako bi se odabrao (omogućio) čip UC1701. (CS se može zvati CS0 ili En ili slično.)

RST je resetirano. Povlači se nisko kako bi se čip resetirao. (RST se može nazvati Reset.)

CD je komanda/podaci. Smanjuje se pri slanju naredbi na čip preko SPI -ja. Visoka je prilikom slanja podataka. (CD bi se mogao zvati A0.)

CLK i SDA su pinovi sabirnice SPI. (SDA se može zvati SPI-podaci. CLK može biti SCL ili SPI-sat.)

VB0+ i VB0- koriste interna pumpa za punjenje UC1701. Pumpa za punjenje stvara neparne napone potrebne LCD -u. Spojite 100n kondenzator između VB0+ i VB0-. Dokumentacija UC1701 preporučuje 2uF, ali nisam vidio razliku s ovim LCD -om.

Ako vaš LCD ima pinove VB1+ i VB1-, spojite i 100n kondenzator između njih. (Ako vaš LCD ima VLCD pin, možete pokušati spojiti 100n kondenzator između VLCD -a i Gnd -a. Nije bilo razlike s mojim LCD -om.)

Priključite LCD na Nano na sljedeći način:

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

("*" znači korištenje razdjelnika potencijala za smanjenje napona. Ako Arduino radi na 3V3 iz neovisnog napajanja, otpornici vam neće trebati.)

3.3V se emitira pomoću Nano -a i može osigurati dovoljnu struju za LCD. (Ekran troši oko 250uA.)

5V također emitira Nano i može se koristiti za napajanje pozadinskog osvjetljenja. Ograničite struju na pozadinsko osvjetljenje sa 100ohm otpornikom.

Ako vam nedostaje pinova na Nano -u, možete spojiti RST na 3V3 - tada možete koristiti D6 za nešto drugo. U1701 se može resetirati u softveru naredbom na SPI -ju. Nikada nisam imao problema s tim, ali ako koristite vlastito kolo u bučnom okruženju, možda bi bilo bolje koristiti hardversko resetiranje.

Korak 3: Softver

Softver
Softver

U teoriji, možete upravljati UC1701 iz biblioteke U8g2 (ili Ucgliba ili drugih dostupnih biblioteka). Danima sam se borio da uspije i nije uspio. Biblioteka U8g2 je čudovište jer može pokretati veliki broj čipova i vrlo je teško slijediti kôd. Zato sam odustao i napisao vlastitu manju biblioteku. Zauzima puno manje prostora u Arduinu (približno 3400 bajtova plus fontovi).

Moju biblioteku možete preuzeti odavde (dugme Preuzmi na ovoj stranici). Uzorak skice i korisnički vodič su uključeni. Web stranica https://www.arduino.cc/en/Guide/Libraries opisuje kako se uvozi biblioteka; idite na odjeljak "Uvoz.zip biblioteke".

Pokrenite LCD ekran pomoću

UC1701Begin ();

UC1701Begin može uzeti parametre za promjenu pinova ili zanemarivanje RST pina. Biblioteka koristi samo hardverski SPI (softverski SPI nije isporučen). Prikaz se može okretati u osi x i y. To je korisno ako želite montirati LCD u drugom smjeru.

Nekoliko procedura je duplicirano iz biblioteke U8g2:

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

Neki postupci su malo drugačiji:

  • void DrawChar (uint8_t c, font Font);
  • void DrawString (char * s, font Font);
  • void DrawInt (int i, font Font);

Postupci za crtanje stringova prolaze kroz indeks fontova. Fontovi su deklarirani u flash memoriji Arduina tako da ne zauzimaju dragocjeni SRAM. Dostupna su tri fonta (mali, srednji i veliki). Oni su povezani i zauzimaju flash memoriju samo ako ih koristite (otprilike 500 do 2000 bajtova svaki).

"Bojom" se rukuje drugačije od biblioteke U8g2. Kada se LCD očisti, ima tamnu pozadinu. Ako je MakeMark (globalna varijabla) istina, crtanje se vrši bijelom bojom. Ako je MakeMark netačan, crtanje se vrši u mraku.

Neki postupci su jedinstveni za UC1701:

SetInverted crta crno-bijelo, a ne bijelo-crno.

void SetInverted (bool inv);

Svjetlinu i kontrast UC1701 postavljaju:

  • void SetContrast (vrijednost uint8_t); // predloženo je 14
  • void SetResistor (vrijednost uint8_t); // predloženo je 7

Oni rade zajedno na prilično nezadovoljavajući način.

Uključeno isključuje LCD:

void SetEnabled (bool sr);

Ekran zauzima 4uA tokom spavanja. Također biste trebali isključiti pozadinsko osvjetljenje - pogonite ga sa pin -a Nano -a. Nakon ponovnog omogućavanja, UC1701 će biti resetiran; zaslon se briše, a kontrast i otpornik bit će vraćeni na zadane vrijednosti.

Dakle, zaključno, COG ekrani su jeftini i pristojne veličine. Lako ih je povezati s Arduinom.

Preporučuje se: