Satura rādītājs:

LCD COG Arduino Nano: 3 soļi
LCD COG Arduino Nano: 3 soļi

Video: LCD COG Arduino Nano: 3 soļi

Video: LCD COG Arduino Nano: 3 soļi
Video: ЛУЧШИЙ ЭКРАН ДЛЯ АРДУИНО ARDUINO TFT LCD 1.44 SPI 128Х128 ЗА $3! 2024, Jūlijs
Anonim
LCD COG Arduino Nano
LCD COG Arduino Nano

Šajā pamācībā ir aprakstīts, kā izmantot COG LCD ar Arduino Nano.

COG LCD displeji ir lēti, taču tos ir nedaudz grūtāk saskarties. (COG apzīmē "Chip On Glass".) Manis izmantotajā ir UC1701 draivera mikroshēma. Tam ir vajadzīgas tikai 4 Arduino tapas: SPI pulkstenis, SPI dati, mikroshēmas izvēle un komanda/dati.

UC1701 kontrolē SPI kopne un darbojas pie 3.3V.

Šeit es aprakstīju, kā to izmantot ar Arduino Nano. Tam vajadzētu strādāt arī ar Arduino Mini vai Uno - drīz izmēģināšu.

Šis ir mans pirmais Arduino projekts, un es neesmu rakstījis C gadu desmitiem, tāpēc, ja es pieļauju acīmredzamas kļūdas, lūdzu, dariet man to zināmu.

1. darbība: aparatūras izveide

Aparatūras veidošana
Aparatūras veidošana
Aparatūras veidošana
Aparatūras veidošana
Aparatūras veidošana
Aparatūras veidošana

Pērciet COG LCD, kurā ir UC1701 mikroshēma. Tam vajadzētu izmantot SPI kopni, nevis paralēlu saskarni. Tam būs aptuveni 14 tapas, kas tiks apzīmētas ar nosaukumiem, piemēram, zemāk uzskaitītajiem. (Jūs nevēlaties paralēlu saskarni ar daudzām tapām, kas apzīmētas ar D0, D1, D2…)

Es nopirku: https://www.ebay.co.uk/itm/132138390168 Vai arī eBay varat meklēt "12864 LCD COG".

Izvēlieties tādu, kuram ir diezgan plaša aste ar tapām, kas atrodas 1,27 mm attālumā - smalkākas tapas būs grūti lodēt. Pārliecinieties, vai tam ir UC1701 mikroshēma. Ievērojiet, kā ebay lapas sestajā attēlā ir rakstīts "CONNECTOR: COG/UC1701".

Displejs ir caurspīdīgs, un ir grūti zināt, kura ir priekšpuse un aizmugure. Rūpīgi izpētiet manas bildes. Ievērojiet, kur atrodas 1. un 14. tapa - tie ir atzīmēti uz astes.

Elastīgo asti ir diezgan viegli pielodēt, taču tam ir nepieciešams adapteris, lai to varētu iespraust maizes dēļā. Es nopirku: https://www.ebay.co.uk/itm/132166865767 Vai arī eBay varat meklēt "Adapter Smd SSOP28 DIP28".

Adapteris paņem 28 kontaktu SOP mikroshēmu vienā pusē vai 28 kontaktu SSOP mikroshēmu otrā pusē. SOP mikroshēmas tapu atstatums ir 0,05 collas (1,27 mm), kas ir tāds pats kā LCD ekrāna aste.

Jums būs vajadzīgas arī dažas galvenes tapas. Ikreiz, kad es pērku Arduino vai citu moduli, tam ir vairāk galvenes tapas, nekā nepieciešams, tāpēc jums, iespējams, jau ir daži. Pretējā gadījumā meklējiet vietnē eBay "2,54 mm galvenes tapas".

Lodējiet 14 no galvenes tapām uz adaptera. Nespiediet tos līdz galam - tas ir jaukāk, ja adaptera aizmugure ir plakana. Novietojiet to uz sava sola, lai tapas nevarētu pārāk tālu iespiest caurumos. Pārliecinieties, ka tapas atrodas tāfeles SOP pusē (t.i., lielāka mikroshēma).

Astes spilventiņi atrodas sava veida logā. Alvas abas puses ar lodmetālu. Alvas adaptera spilventiņi. Turiet adaptera asti vietā, pēc tam pieskarieties katram spilventiņam ar lodāmuru (jums būs nepieciešams diezgan smalks gals).

Piesaistiet dažus pavedienus caur adaptera caurumiem, lai tie darbotos kā deformācijas mazinātāji. (Es izmantoju "transformatora vadu").

Ja lodējat nepareizi, nemēģiniet atlocīt asti. Pa vienam izņemiet tapas un pārvietojiet tās uz dēļa otru pusi. (Jā, es pieļāvu šo kļūdu un atkārtoti lodēju asti, tāpēc fotoattēlā ir mazliet juceklis.)

2. solis: izveidojiet savienojumu ar Arduino

Savienojuma izveide ar Arduino
Savienojuma izveide ar Arduino
Savienojuma izveide ar Arduino
Savienojuma izveide ar Arduino

Šajā sadaļā ir paskaidrots, kā izveidot savienojumu ar Arduino Nano. Tas būs ļoti līdzīgs Mini vai Uno, bet es to vēl neesmu izmēģinājis.

Izpētiet shēmas shēmu.

Arduino Nano, kas ir pievienots USB portam, darbojas ar 5 V. LCD darbojas pie 3.3V. Tātad jums ir nepieciešams barot LCD no Nano 3V3 tapas un samazināt katras vadības tapas spriegumu no 5 V līdz 3,3 V.

LCD ekrāns ir šāds:

  • 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 ir Chip-Select. Lai atlasītu (iespējotu) UC1701 mikroshēmu, tas ir pavilkts zemu. (CS var saukt par CS0 vai En vai līdzīgi.)

RST ir atiestatīts. Tas tiek novilkts zemu, lai atiestatītu mikroshēmu. (RST var saukt par Reset.)

CD ir komanda/dati. Nosūtot komandas mikroshēmā, izmantojot SPI, tas tiek samazināts. Tas ir augsts, nosūtot datus. (CD var saukties par A0.)

CLK un SDA ir SPI kopnes tapas. (SDA var saukt par SPI-Data. CLK var būt SCL vai SPI-Clock.)

VB0+ un VB0- izmanto UC1701 iekšējais uzlādes sūknis. Uzlādes sūknis rada nepāra spriegumu, kas vajadzīgs LCD. Pievienojiet 100n kondensatoru starp VB0+ un VB0-. UC1701 dokumentācija iesaka 2uF, bet es nevarēju redzēt atšķirību ar šo LCD.

Ja jūsu LCD ir VB1+ un VB1-tapas, pievienojiet arī 100n kondensatoru. (Ja jūsu LCD ir VLCD tapa, varat mēģināt savienot 100n kondensatoru starp VLCD un Gnd. Tam nebija nekādas atšķirības ar manu LCD.)

Savienojiet LCD ar Nano šādi:

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

("*" nozīmē izmantot potenciālo dalītāju, lai samazinātu spriegumu. Ja Arduino darbojas ar 3 V3 spriegumu no neatkarīga barošanas avota, jums nebūs nepieciešami rezistori.)

3.3V izvada Nano un var nodrošināt pietiekamu strāvu LCD. (Displejs patērē aptuveni 250uA.)

5V izvada arī Nano, un to var izmantot fona apgaismojuma barošanai. Ierobežojiet strāvu līdz fona apgaismojumam ar 100 omu rezistoru.

Ja jums trūkst tapas uz Nano, varat savienot RST ar 3V3 - tad varat izmantot D6 kaut kam citam. U1701 var atiestatīt programmatūrā, izmantojot SPI komandu. Man nekad nav bijis nekādu problēmu ar to, bet, ja jūs izmantojat savu ķēdi trokšņainā vidē, iespējams, labāk ir izmantot aparatūras atiestatīšanu.

3. darbība: programmatūra

Programmatūra
Programmatūra

Teorētiski jūs varat vadīt UC1701 no U8g2 bibliotēkas (vai Ucglib vai citām pieejamajām bibliotēkām). Es vairākas dienas cīnījos, lai tas sāktu darboties, un neizdevās. U8g2 bibliotēka ir briesmonis, jo tā var vadīt ļoti dažādas mikroshēmas, un ir ļoti grūti ievērot kodu. Tāpēc es padevos un uzrakstīju savu mazāko bibliotēku. Arduino tas aizņem daudz mazāk vietas (aptuveni 3400 baiti plus fonti).

Manu bibliotēku varat lejupielādēt šeit (poga Lejupielādēt šajā lapā). Iekļauts skices paraugs un lietotāja rokasgrāmata. Tīmekļa vietnē https://www.arduino.cc/en/Guide/Libraries ir aprakstīts, kā importēt bibliotēku; dodieties uz sadaļu.zip bibliotēkas importēšana.

Inicializējiet LCD ar

UC1701Begin ();

UC1701Begin var ņemt parametrus, lai mainītu tapas vai ignorētu RST tapu. Bibliotēka izmanto tikai aparatūras SPI (programmatūras SPI netiek nodrošināta). Displeju var pagriezt pa x un y asīm. Tas ir noderīgi, ja vēlaties LCD uzstādīt citā virzienā.

No U8g2 bibliotēkas ir dublētas vairākas procedūras:

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

Dažas procedūras nedaudz atšķiras:

  • void DrawChar (uint8_t c, vārds Fonts);
  • void DrawString (simboli *, vārds Fonts);
  • void DrawInt (int i, vārds Fonts);

Virkņu zīmēšanas procedūras tiek nodotas fontu indeksam. Fonti ir deklarēti Arduino zibatmiņā, tāpēc tie neaizņem dārgo SRAM. Tiek piedāvāti trīs fonti (mazi, vidēji un lieli). Tie ir saistīti un aizņem zibatmiņu tikai tad, ja tos izmantojat (aptuveni 500–2000 baitu katrs).

“Krāsa” tiek apstrādāta atšķirīgi no U8g2 bibliotēkas. Kad LCD ir notīrīts, tam ir tumšs fons. Ja MakeMark (globāls mainīgais) ir patiess, zīmēšana tiek veikta baltā krāsā. Ja MakeMark ir nepatiesa, zīmēšana tiek veikta tumsā.

Dažas procedūras ir unikālas UC1701:

SetInverted zīmē melnbaltu, nevis baltu melnu.

void SetInverted (bool inv);

UC1701 spilgtumu un kontrastu nosaka:

  • void SetContrast (vērtība uint8_t); // ieteiktais ir 14
  • void SetResistor (vērtība uint8_t); // ieteiktais ir 7

Viņi strādā kopā diezgan neapmierinošā veidā.

SetEnabled izslēdz LCD:

void SetEnabled (bool lv);

Displejs miega laikā aizņem 4uA. Jums vajadzētu arī izslēgt fona apgaismojumu - vadīt to no Nano tapas. Pēc atkārtotas iespējošanas UC1701 tiks atiestatīts; displejs tiek notīrīts, un kontrasts un rezistors tiks atiestatīti uz noklusējuma vērtībām.

Tātad, visbeidzot, COG displeji ir lēti un pienācīga izmēra. Viņus ir viegli savienot ar Arduino.

Ieteicams: