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, Srpanj
Anonim
LCD COG za Arduino Nano
LCD COG za Arduino Nano

Ovaj Instructable opisuje kako koristiti COG LCD s Arduino Nano.

COG LCD zasloni 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 upravlja SPI sabirnicom i radi na 3.3V.

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

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

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 igle bit će teško lemiti. Provjerite ima li čip UC1701. Primijetite kako na šestoj slici na ebay stranici piše "KONEKTOR: COG/UC1701".

Zaslon je proziran i teško je znati koja je sprijeda i straga. 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 pinova 0,05 (1,27 mm) što je isto kao rep LCD -a.

Također će vam trebati igle zaglavlja. Kad god kupim Arduino ili neki drugi modul, dolazi s više zaglavlja zaglavlja nego što je potrebno pa ih vjerojatno već imate. U suprotnom, potražite "eBay zaglavlja 2,54 mm".

Lemite 14 pinova zaglavlja na adapter. Nemojte ih gurati 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 nalaze se u nekoj vrsti prozora. Limetajte im obje strane lemljenjem. Konzervirajte jastučiće adaptera. Držite rep adaptera na mjestu, a zatim lemilicom dodirnite svaku podlogu (trebat će vam prilično fin vrh).

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

Ako ste ga lemili na pogrešan način, nemojte pokušavati odspojiti rep. Izvadite iglice jednu po jednu i pomaknite ih na drugu stranu ploče. (Da, napravio sam tu pogrešku i ponovno lemio rep, zbog čega je malo nereda na fotografiji.)

Korak 2: Spajanje na Arduino

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

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

Proučite dijagram kruga.

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 upravljačkom pinu s 5V na 3.3V.

Isključivanje LCD -a je:

  • 1 CS
  • 2 RST
  • 3 CD -a
  • 4
  • 5 CLK
  • 6 SDA
  • 7 3V3
  • 8 0V Gnd
  • 9 VB0+
  • 10 VB0-
  • 11
  • 12
  • 13
  • 14

CS je Chip-Select. Povučeno je za odabir (omogućavanje) čipa UC1701. (CS se može zvati CS0 ili En ili slično.)

RST je resetirano. Povlači se kako bi se čip resetirao. (RST bi se mogao nazvati Reset.)

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

CLK i SDA su igle sabirnice SPI. (SDA se može nazvati SPI-podacima. CLK može biti SCL ili SPI-sat.)

VB0+ i VB0- koriste unutarnja pumpa za punjenje UC1701. Pumpa za punjenje generira neparne napone potrebne LCD -u. Spojite 100n kondenzator između VB0+ i VB0-. UC1701 dokumentacija 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.)

Spojite 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. (Zaslon 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 na Nano -u nedostaju pinovi, 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. Nikad nisam imao problema s tim, ali ako koristite vlastiti krug u bučnom okruženju, možda bi bilo bolje upotrijebiti resetiranje hardvera.

Korak 3: Softver

Softver
Softver

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

Moju biblioteku možete preuzeti odavde (gumb Preuzmi na ovoj stranici). Uključeni su uzorak skice i korisnički vodič. Web stranica https://www.arduino.cc/en/Guide/Libraries opisuje kako uvesti knjižnicu; idite na odjeljak "Uvoz.zip biblioteke".

Pokrenite LCD zaslon pomoću

UC1701Begin ();

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

Nekoliko postupaka je duplicirano iz biblioteke U8g2:

  • DrawLine
  • DrawPixel
  • DrawHLine
  • DrawVLine
  • DrawBox
  • DrawFrame
  • DrawCircle
  • DrawDisc
  • DrawFilledEllipse
  • DrawEllipse
  • DrawTriangle
  • UC1701Postavite kursor
  • 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 crtanja nizova prolaze kroz indeks fonta. 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 bajta svaki).

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

Neki su postupci 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); // predlaže se 14
  • void SetResistor (vrijednost uint8_t); // predlaže se 7

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

Uključeno isključuje LCD:

void SetEnabled (bool hr);

Zaslon uzima 4uA dok spava. Također biste trebali isključiti pozadinsko osvjetljenje - pogonite ga sa pin -a Nano -a. Nakon ponovnog omogućavanja, UC1701 će se resetirati; zaslon se briše, a kontrast i otpornik bit će vraćeni na zadane vrijednosti.

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

Preporučeni: