Sisällysluettelo:

LCD COG Arduino Nano: 3 vaihetta
LCD COG Arduino Nano: 3 vaihetta

Video: LCD COG Arduino Nano: 3 vaihetta

Video: LCD COG Arduino Nano: 3 vaihetta
Video: ЛУЧШИЙ ЭКРАН ДЛЯ АРДУИНО ARDUINO TFT LCD 1.44 SPI 128Х128 ЗА $3! 2024, Heinäkuu
Anonim
LCD COG Arduino Nano -laitteelle
LCD COG Arduino Nano -laitteelle

Tässä oppaassa kuvataan, miten COG -nestekidenäyttöä käytetään Arduino Nanon kanssa.

COG LCD -näytöt ovat halpoja, mutta niiden käyttöliittymä on hieman vaikeampi. (COG tarkoittaa "Chip On Glass".) Käyttämäni laite sisältää UC1701 -ohjainsirun. Se vaatii vain 4 nastaa Arduinosta: SPI-kello, SPI-data, sirunvalinta ja komento/data.

UC1701: tä ohjaa SPI -väylä ja se toimii 3,3 V: n jännitteellä.

Tässä kerron kuinka sitä käytetään Arduino Nanon kanssa. Sen pitäisi toimia myös Arduino Minin tai Unon kanssa - kokeilen sitä pian.

Tämä on ensimmäinen Arduino -projektini, enkä ole kirjoittanut C: tä vuosikymmeniin, joten jos teen ilmeisiä virheitä, ilmoita siitä minulle.

Vaihe 1: Laitteiston rakentaminen

Laitteiston rakentaminen
Laitteiston rakentaminen
Laitteiston rakentaminen
Laitteiston rakentaminen
Laitteiston rakentaminen
Laitteiston rakentaminen

Osta COG -nestekidenäyttö, joka sisältää UC1701 -sirun. Sen pitäisi käyttää SPI -väylää rinnakkaisliitännän sijasta. Siinä on noin 14 nastaa, jotka on merkitty alla lueteltuilla nimillä. (Et halua rinnakkaisliitäntää, jossa on paljon enemmän nastoja D0, D1, D2…)

Ostin seuraavan: https://www.ebay.co.uk/itm/132138390168 Tai voit etsiä eBayssa hakua "12864 LCD COG".

Valitse sellainen, jolla on melko leveä pyrstö, jonka tapit ovat 1,27 mm: n etäisyydellä - hienompia tappeja on vaikea juottaa. Varmista, että siinä on UC1701 -siru. Huomaa, kuinka ebay -sivun kuudennessa kuvassa lukee "CONNECTOR: COG/UC1701".

Näyttö on läpinäkyvä, ja on vaikea tietää, mikä on edessä ja takana. Tutki kuviani huolella. Huomaa, missä nastat 1 ja 14 ovat - ne on merkitty häntään.

Joustava pyrstö on melko helppo juottaa, mutta se vaatii sovittimen, joten voit liittää sen leipälautaan. Ostin: https://www.ebay.co.uk/itm/132166865767 Tai voit etsiä eBaysta "Sovitin Smd SSOP28 DIP28".

Sovitin ottaa 28-nastaisen SOP-sirun toiselle puolelle tai 28-nastaisen SSOP-sirun toiselle puolelle. SOP -sirun tapin väli on 0,05 (1,27 mm), mikä on sama kuin LCD -näytön takaosa.

Tarvitset myös joitain otsikkotappeja. Aina kun ostan Arduinon tai muun moduulin, siinä on enemmän otsikkotappeja kuin tarvitaan, joten sinulla on todennäköisesti jo joitain. Muussa tapauksessa etsi eBaysta "2,54 mm: n otsatapit".

Juotos 14 otsikkotapista sovittimen päälle. Älä työnnä niitä kokonaan läpi - se on mukavampaa, jos sovittimen takaosa on tasainen. Aseta se tasaiselle pöydälle, jotta tapit eivät pääse työntymään liian pitkälle reikiin. Varmista, että nastat ovat levyn SOP -puolella (eli isompi siru).

Häntätyynyt ovat eräänlaisessa ikkunassa. Tina niiden molemmat puolet juotoksella. Tina sovittimen tyynyt. Pidä sovittimen häntä paikallaan ja kosketa sitten jokaista tyynyä juotosraudalla (tarvitset melko hienon kärjen).

Sido lanka sovittimen reikien läpi toimimaan vedonpoistajana. (Käytin "muuntajalankaa").

Jos juotat sen väärin päin, älä yritä irrottaa häntä. Ota nastat yksi kerrallaan ja siirrä ne levyn toiselle puolelle. (Kyllä, tein tämän virheen ja juotin hännän uudelleen, minkä vuoksi se on hieman sotku kuvassa.)

Vaihe 2: Yhdistäminen Arduinoon

Yhdistäminen Arduinoon
Yhdistäminen Arduinoon
Yhdistäminen Arduinoon
Yhdistäminen Arduinoon

Tässä osassa kerrotaan, miten voit muodostaa yhteyden Arduino Nano -laitteeseen. Se on hyvin samanlainen Minille tai Unolle, mutta en ole vielä kokeillut sitä.

Tutki piirikaaviota.

USB -porttiin kytketty Arduino Nano toimii 5 V: n jännitteellä. Nestekidenäyttö toimii 3,3 V jännitteellä. Joten sinun on syötettävä virta LCD -näytölle Nanon 3 V3 -nastasta ja vähennettävä jokaisen ohjaustapin jännite 5 V: sta 3,3 V: iin.

Nestekidenäytön pistoke on:

  • 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 -sirun valitseminen (ottaminen käyttöön) vedetään alas. (CS: n nimi voi olla CS0 tai En tai vastaava.)

RST on nollaus. Se vedetään alas nollataksesi sirun. (RST: tä voidaan kutsua Resetiksi.)

CD on komento/data. Se on alhaalla, kun lähetetään komentoja sirulle SPI: n kautta. Se on korkea lähetettäessä dataa. (CD -levyn nimi voi olla A0.)

CLK ja SDA ovat SPI -väylän tappeja. (SDA: ta voidaan kutsua SPI-dataksi. CLK voi olla SCL tai SPI-kello.)

VB0+ ja VB0- käytetään UC1701: n sisäisessä latauspumpussa. Latauspumppu tuottaa nestekidenäytön tarvitsemat parittomat jännitteet. Liitä 100n kondensaattori VB0+ ja VB0- välille. UC1701 -dokumentaatiossa suositellaan 2uF: ää, mutta en nähnyt eroa tässä LCD -näytössä.

Jos nestekidenäytössäsi on VB1+ ja VB1- nastat, liitä niiden välille myös 100n kondensaattori. (Jos nestekidenäytössäsi on VLCD -nasta, voit yrittää liittää 100n kondensaattorin VLCD: n ja Gnd: n väliin. Se ei vaikuttanut LCD -näyttöni.)

Liitä nestekidenäyttö nanoon seuraavasti:

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

("*" tarkoittaa potentiaalijakajan käyttöä jännitteen pienentämiseen. Jos Arduino toimii 3 V3: n jännitteellä riippumattomasta virtalähteestä, et tarvitse vastuksia.)

3.3 V: n lähtö on Nano, ja se voi tuottaa riittävän virran nestekidenäytölle. (Näyttö kuluttaa noin 250 uA.)

5 V: n lähtö on myös Nano, ja sitä voidaan käyttää taustavalon virransyöttöön. Rajoita virta taustavaloon 100 ohmin vastuksella.

Jos nanoista on loppumassa, voit liittää RST: n 3V3: een - voit käyttää D6: ta johonkin muuhun. U1701 voidaan nollata ohjelmistossa SPI -komennolla. Minulla ei ole koskaan ollut mitään ongelmia sen kanssa, mutta jos käytät omaa piiriäsi meluisassa ympäristössä, saattaa olla parempi käyttää laitteiston nollausta.

Vaihe 3: Ohjelmisto

Ohjelmisto
Ohjelmisto

Teoriassa voit ajaa UC1701: tä U8g2 -kirjastosta (tai Ucglibistä tai muista käytettävissä olevista kirjastoista). Kamppailin päiviä saadakseni sen toimimaan ja epäonnistuin. U8g2 -kirjasto on hirviö, koska se voi ajaa valtavasti erilaisia siruja ja koodin noudattaminen on erittäin vaikeaa. Joten luovutin ja kirjoitin oman pienemmän kirjaston. Se vie paljon vähemmän tilaa Arduinossa (noin 3400 tavua plus fontit).

Voit ladata kirjastoni täältä (Lataa -painike tällä sivulla). Mukana on luonnosmalli ja käyttöopas. Verkkosivulla https://www.arduino.cc/en/Guide/Libraries kuvataan kirjaston tuonti; Siirry.zip -kirjaston tuonti -osaan.

Alusta LCD -näyttö näppäimellä

UC1701Begin ();

UC1701Begin voi ottaa parametreja nastojen vaihtamiseksi tai RST -nastan ohittamiseksi. Kirjasto käyttää vain laitteiston SPI: tä (ohjelmiston SPI ei sisälly toimitukseen). Näyttö voidaan kääntää x- ja y -akselilla. Siitä on hyötyä, jos haluat asentaa nestekidenäytön eri suuntaan.

Useita toimenpiteitä on kopioitu U8g2 -kirjastosta:

  • DrawLine
  • DrawPixel
  • PiirräLine
  • DrawVLine
  • DrawBox
  • DrawFrame
  • Piirrä ympyrä
  • DrawDisc
  • DrawFilledEllipse
  • PiirräEllipsi
  • PiirräKolmio
  • UC1701SetCursor
  • UC1701ClearDisplay

Jotkut toimenpiteet ovat hieman erilaisia:

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

Merkkijonojen piirtotoimenpiteet ohitetaan fontin indeksillä. Fontit julkaistaan Arduinon flash -muistissa, joten ne eivät käytä arvokasta SRAM -muistia. Tarjolla on kolme fonttia (pieni, keskikokoinen ja suuri). Ne on linkitetty ja vievät flash -muistia vain, jos käytät niitä (noin 500–2000 tavua kukin).

"Väri" käsitellään eri tavalla kuin U8g2 -kirjasto. Kun nestekidenäyttö on tyhjä, sen tausta on tumma. Jos MakeMark (globaali muuttuja) on tosi, piirustus tehdään valkoisella. Jos MakeMark on epätosi, piirustus tehdään pimeässä.

Jotkut toimenpiteet ovat ainutlaatuisia UC1701: lle:

SetInverted piirtää mustavalkoisena eikä valkoisena mustana.

void SetInverted (bool inv);

UC1701: n kirkkaus ja kontrasti asetetaan:

  • mitätön SetContrast (uint8_t -arvo); // ehdotettu on 14
  • mitätön SetResistor (arvo uint8_t); // ehdotettu on 7

He toimivat yhdessä melko epätyydyttävällä tavalla.

SetEnabled sammuttaa nestekidenäytön:

void SetEnabled (bool fi);

Näyttö kestää 4uA nukkuessa. Sinun pitäisi myös sammuttaa taustavalo - aja sitä Nanon nastasta. UC1701 nollataan uudelleen käyttöönoton jälkeen; näyttö tyhjennetään ja kontrasti ja vastus palautetaan oletusarvoihinsa.

Yhteenvetona voidaan todeta, että COG -näytöt ovat halpoja ja kunnollisia. Ne on helppo yhdistää Arduinoon.

Suositeltava: