Përmbajtje:

LCD COG për një Arduino Nano: 3 hapa
LCD COG për një Arduino Nano: 3 hapa

Video: LCD COG për një Arduino Nano: 3 hapa

Video: LCD COG për një Arduino Nano: 3 hapa
Video: How to use LCD LCD1602 with I2C module for Arduino - Robojax 2024, Korrik
Anonim
LCD COG për një Arduino Nano
LCD COG për një Arduino Nano

Ky udhëzues përshkruan se si të përdorni një LCD COG me një Arduino Nano.

Ekranet LCD COG janë të lira, por janë pak më të vështira për tu ndërlidhur. (COG qëndron për "Chip On Glass".) Ai që po përdor përmban një çip drejtuesi UC1701. Kërkon vetëm 4 kunja të Arduino: ora SPI, të dhënat SPI, përzgjedhja e çipit dhe komanda/të dhënat.

UC1701 kontrollohet nga autobusi SPI dhe funksionon në 3.3V.

Këtu unë përshkruaj se si ta përdor atë me një Arduino Nano. Gjithashtu duhet të punojë me një Arduino Mini ose Uno - do ta provoj së shpejti.

Ky është projekti im i parë Arduino dhe nuk kam shkruar C në dekada, kështu që nëse po bëj ndonjë gabim të dukshëm, ju lutem më tregoni.

Hapi 1: Ndërtimi i harduerit

Ndërtimi i harduerit
Ndërtimi i harduerit
Ndërtimi i harduerit
Ndërtimi i harduerit
Ndërtimi i harduerit
Ndërtimi i harduerit

Blini një LCD COG që përmban një çip UC1701. Duhet të jetë duke përdorur autobusin SPI sesa një ndërfaqe paralele. Do të ketë rreth 14 kunja të cilat do të etiketohen me emra si ata të listuar më poshtë. (Ju nuk doni një ndërfaqe paralele me shumë kunja të etiketuar D0, D1, D2 …)

Ai që bleva është: https://www.ebay.co.uk/itm/132138390168 Ose mund të kërkoni në eBay për "12864 LCD COG".

Zgjidhni atë që ka një bisht mjaft të gjerë me kunja të ndara në 1.27mm - kunjat më të imëta do të jenë të vështira për t'u bashkuar. Sigurohuni që të ketë një çip UC1701. Vini re se si në foton e gjashtë në faqen ebay, thuhet "LIDHS: COG/UC1701".

Ekrani është transparent dhe është e vështirë të dihet se cila është pjesa e përparme dhe e pasme. Studioni me kujdes fotografitë e mia. Vini re se ku janë kunjat 1 dhe 14 - ato janë shënuar në bisht.

Bishti fleksibël është shumë i lehtë për t'u bashkuar, por kërkon një përshtatës në mënyrë që ta lidhni atë në një dërrasë buke. Bleva: https://www.ebay.co.uk/itm/132166865767 Ose mund të kërkoni në eBay për "Përshtatës Smd SSOP28 DIP28".

Përshtatësi merr një çip SOP me 28 kunja në njërën anë ose një çip SSOP me 28 kunja në anën tjetër. Një çip SOP ka një distancë pin prej 0.05 (1.27mm) që është e njëjtë me bishtin e LCD.

Ju gjithashtu do të keni nevojë për disa kunja të kokës. Sa herë që blej një Arduino ose modul tjetër, ai vjen me më shumë kunja kokash nga sa nevojiten, kështu që ju ndoshta tashmë i keni disa. Përndryshe, kërkoni në eBay për "kunjat e kokës 2.54mm".

Ngjitësja 14 e kokës kapet në përshtatës. Mos i shtyni deri në fund - është më mirë nëse pjesa e pasme e përshtatësit është e sheshtë. Vendoseni atë në stolin tuaj në mënyrë që kunjat të mos shtyhen shumë në vrima. Sigurohuni që kunjat të jenë në anën SOP të tabelës (domethënë çipi më i madh).

Jastëkët e bishtit janë në një lloj dritareje. Kallaji të dyja anët e tyre me saldim. Kallaji jastëkët e përshtatësit. Mbajeni bishtin e përshtatësit në vend, pastaj prekni çdo jastëk me hekurin e saldimit (do t'ju duhet një majë mjaft e mirë).

Lidhni një fije përmes vrimave në përshtatës për të vepruar si lehtësim i tendosjes. (Kam përdorur "tela transformatori").

Nëse e lidhni atë në mënyrë të gabuar, mos u përpiqni të shpalosni bishtin. Nxirrni kunjat një nga një dhe lëvizini ato në anën tjetër të tabelës. (Po, kam bërë atë gabim dhe e kam lidhur përsëri bishtin, kjo është arsyeja pse është pak rrëmujë në foto.)

Hapi 2: Lidhja me Arduino

Lidhja me Arduino
Lidhja me Arduino
Lidhja me Arduino
Lidhja me Arduino

Ky seksion shpjegon se si të lidheni me një Arduino Nano. Do të jetë shumë e ngjashme për një Mini ose Uno, por nuk e kam provuar akoma.

Studioni diagramin e qarkut.

Një Arduino Nano që është i lidhur me një port USB funksionon në 5V. LCD funksionon në 3.3V. Kështu që ju duhet të ndizni ekranin LCD nga kunja 3V3 e Nano dhe të zvogëloni tensionin në secilën kunj kontrolli nga 5V në 3.3V.

Pista e LCD është:

  • 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 është Chip-Select. Tërhiqet poshtë për të zgjedhur (aktivizuar) çipin UC1701. (CS mund të quhet CS0 ose En ose të ngjashme.)

RST rivendoset. Isshtë tërhequr poshtë për të rivendosur çipin. (RST mund të quhet Reset.)

CD është komanda/të dhënat. Ai tërhiqet poshtë kur dërgoni komanda në çip mbi SPI. Highshtë e lartë kur dërgoni të dhëna. (CD mund të quhet A0.)

CLK dhe SDA janë kunjat e autobusit SPI. (SDA mund të quhet SPI-Data. CLK mund të jetë SCL ose SPI-Clock.)

VB0+ dhe VB0- përdoren nga pompa e ngarkimit të brendshëm të UC1701. Pompa e ngarkimit gjeneron tensione të çuditshme të nevojshme nga LCD. Lidhni një kondensator 100n midis VB0+ dhe VB0-. Dokumentacioni UC1701 rekomandon 2uF, por unë nuk mund të shoh një ndryshim me këtë LCD të veçantë.

Nëse LCD juaj ka kunja VB1+ dhe VB1, lidhni gjithashtu një kondensator 100n mes tyre. (Nëse LCD juaj ka një pin VLCD, mund të provoni të lidhni një kondensator 100n midis VLCD dhe Gnd. Nuk bëri asnjë ndryshim me LCD -in tim.)

Lidhni LCD me Nano si më poshtë:

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

("*" do të thotë të përdorni një ndarës potencial për të zvogëluar tensionin. Nëse Arduino funksionon në 3V3 nga një furnizim i pavarur, nuk do të keni nevojë për rezistorët.)

3.3V del nga Nano dhe mund të sigurojë rrymë të mjaftueshme për LCD. (Ekrani tërheq rreth 250uA.)

5V gjithashtu prodhohet nga Nano dhe mund të përdoret për të ndezur dritën e pasme. Kufizoni rrymën në dritën e prapme me një rezistencë 100ohm.

Nëse nuk keni kunja në Nano, mund të lidhni RST me 3V3 - atëherë mund të përdorni D6 për diçka tjetër. U1701 mund të rivendoset në softuer me anë të një komande në SPI. Unë kurrë nuk kam pasur ndonjë problem me këtë, por nëse jeni duke përdorur qarkun tuaj në një mjedis të zhurmshëm, mund të jetë më mirë të përdorni një rivendosje të harduerit.

Hapi 3: Softuer

Softuer
Softuer

Në teori, ju mund ta drejtoni UC1701 nga biblioteka U8g2 (ose Ucglib ose bibliotekat e tjera në dispozicion). Unë u përpoqa për ditë të tëra për të punuar dhe dështova. Biblioteka U8g2 është një përbindësh sepse mund të drejtojë një larmi të madhe të patate të skuqura dhe është shumë e vështirë të ndiqni kodin. Kështu që unë hoqa dorë dhe shkrova bibliotekën time më të vogël. Ajo merr shumë më pak hapësirë në Arduino (afërsisht 3400 bajtë plus shkronja).

Ju mund të shkarkoni bibliotekën time nga këtu (butoni Shkarkoni në këtë faqe). Përfshihen një skicë mostër dhe një udhëzues përdoruesi. Faqja në internet https://www.arduino.cc/en/Guide/Libraries përshkruan se si të importoni një bibliotekë; shkoni te seksioni "Importimi i një biblioteke.zip".

Filloni LCD me

UC1701Fillo ();

UC1701Begin mund të marrë parametra për të ndryshuar kunjat ose për të injoruar kunjin RST. Biblioteka përdor vetëm SPI të harduerit (një SPI softuer nuk ofrohet). Ekrani mund të kthehet në boshtet x dhe y. Kjo është e dobishme nëse doni të montoni LCD -në në një orientim tjetër.

Disa procedura janë kopjuar nga biblioteka U8g2:

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

Disa procedura janë paksa të ndryshme:

  • i pavlefshëm DrawChar (uint8_t c, font Font);
  • pavlefshme DrawString (char * s, word Font);
  • void DrawInt (int i, Font word);

Procedurat e vizatimit me tela i kalojnë indeksit të një Fonti. Fontet deklarohen në memorien flash të Arduino kështu që ato nuk zënë SRAM të çmuar. Janë dhënë tre shkronja (të vogla, të mesme dhe të mëdha). Ato lidhen dhe zënë memorie flash nëse i përdorni (përafërsisht 500 deri në 2000 bajt secila).

"Color" trajtohet ndryshe nga biblioteka U8g2. Kur LCD është pastruar ajo ka një sfond të errët. Nëse MakeMark (një ndryshore globale) është e vërtetë, vizatimi bëhet në të bardhë. Nëse MakeMark është i rremë, vizatimi bëhet në errësirë.

Disa procedura janë unike për UC1701:

SetInverted vizaton në të zezë në të bardhë sesa në të bardhë në të zezë.

void SetInverted (bool inv);

Shkëlqimi dhe kontrasti i UC1701 përcaktohen nga:

  • i pavlefshëm SetContrast (vlera uint8_t); // sugjeruar është 14
  • void SetResistor (vlera uint8_t); // sugjeruar është 7

Ata punojnë së bashku në një mënyrë mjaft të pakënaqshme.

SetEnabled fuqitë poshtë LCD:

void SetEnabled (bool en);

Ekrani merr 4uA kur fle. Ju gjithashtu duhet të fikni dritën e pasme - drejtojeni atë nga një kunj i Nano. Pas riaktivizimit, UC1701 do të jetë rivendosur; ekrani është pastruar dhe Kontrasti dhe Rezistori do të jenë rivendosur në vlerat e tyre të paracaktuara.

Pra, në përfundim, ekranet COG janë të lira dhe me një madhësi të mirë. Ata janë të lehtë për t'u lidhur me një Arduino.

Recommended: