Orodha ya maudhui:

LCD COG kwa Nano ya Arduino: Hatua 3
LCD COG kwa Nano ya Arduino: Hatua 3

Video: LCD COG kwa Nano ya Arduino: Hatua 3

Video: LCD COG kwa Nano ya Arduino: Hatua 3
Video: How to activate brightness control on your LG TV 2024, Julai
Anonim
LCD COG kwa Nano ya Arduino
LCD COG kwa Nano ya Arduino

Hii inaelezea jinsi ya kutumia COG LCD na Arduino Nano.

Maonyesho ya COG LCD ni ya bei rahisi lakini ni ngumu kidogo ku-interface. (COG inasimama kwa "Chip On Glass".) Ninayotumia ina chip ya dereva ya UC1701. Inahitaji pini 4 tu za Arduino: saa ya SPI, data ya SPI, chagua chip na uamuru / data.

UC1701 inadhibitiwa na basi ya SPI na inaendesha saa 3.3V.

Hapa ninaamua jinsi ya kuitumia na Arduino Nano. Inapaswa pia kufanya kazi na Mini Arduino au Uno - nitaijaribu hivi karibuni.

Huu ni mradi wangu wa kwanza wa Arduino na sijaandika C kwa miongo kadhaa ikiwa ninafanya makosa yoyote dhahiri, tafadhali nijulishe.

Hatua ya 1: Kuunda vifaa

Kujenga vifaa
Kujenga vifaa
Kujenga vifaa
Kujenga vifaa
Kujenga vifaa
Kujenga vifaa

Nunua COG LCD ambayo ina chip ya UC1701. Inapaswa kuwa ikitumia basi ya SPI badala ya kiolesura sawa. Itakuwa na pini karibu 14 ambazo zitaandikwa na majina kama yale yaliyoorodheshwa hapa chini. (Hutaki kiolesura kinachofanana na pini nyingi zaidi zilizoandikwa D0, D1, D2…)

Ile niliyonunua ni: https://www.ebay.co.uk/itm/132138390168 Au unaweza kutafuta eBay kwa "12864 LCD COG".

Chagua moja ambayo ina mkia pana pana na pini zilizotengwa kwa 1.27mm - pini nzuri zaidi itakuwa ngumu kutengeneza. Hakikisha ina chip ya UC1701. Angalia jinsi kwenye picha ya sita kwenye ukurasa wa ebay, inasema "CONNECTOR: COG / UC1701".

Onyesho ni wazi na ni ngumu kujua ni ipi mbele na nyuma. Jifunze picha zangu kwa uangalifu. Angalia mahali pini 1 na 14 ziko - zimewekwa alama kwenye mkia.

Mkia rahisi ni rahisi kuuuza lakini inahitaji adapta ili uweze kuifunga kwenye ubao wa mkate. Nilinunua: https://www.ebay.co.uk/itm/132166865767 Au unaweza kutafuta eBay kwa "Adapter Smd SSOP28 DIP28".

Adapta inachukua chipu cha SOP cha pini 28 upande mmoja au pini ya SSOP ya pini 28 kwa upande mwingine. Chip ya SOP ina nafasi ya pini ya 0.05 (1.27mm) ambayo ni sawa na mkia wa LCD.

Utahitaji pia pini za kichwa. Wakati wowote ninaponunua Arduino au moduli nyingine, inakuja na pini nyingi za kichwa kuliko zinahitajika kwa hivyo labda tayari unayo. Vinginevyo, tafuta eBay kwa "pini za kichwa cha 2.54mm".

Solder 14 ya pini za kichwa kwenye adapta. Usiwasukume kwa njia yote - ni nzuri ikiwa nyuma ya adapta iko gorofa. Weka gorofa kwenye benchi lako ili pini haziwezi kusukuma mbali sana kwenye mashimo. Hakikisha kuwa pini ziko kwenye upande wa SOP wa bodi (i.e. chip kubwa).

Pedi za mkia ziko katika aina ya dirisha. Piga pande zote mbili na solder. Bati pedi za adapta. Shika mkia wa adapta mahali kisha gusa kila pedi na chuma cha kutengeneza (utahitaji ncha nzuri).

Funga uzi fulani kupitia mashimo kwenye adapta ili ufanye usaidizi wa shida. (Nilitumia "waya wa transformer").

Ikiwa umeiuza kwa njia isiyofaa, usijaribu kufunua mkia. Toa pini hizo moja kwa moja na uzipeleke upande wa pili wa ubao. (Ndio, nilifanya kosa hilo na kuuza tena mkia ndio sababu ni fujo kidogo kwenye picha.)

Hatua ya 2: Kuunganisha na Arduino

Kuunganisha na Arduino
Kuunganisha na Arduino
Kuunganisha na Arduino
Kuunganisha na Arduino

Sehemu hii inaelezea jinsi ya kuungana na Arduino Nano. Itafanana sana kwa Mini au Uno lakini sijaijaribu bado.

Jifunze mchoro wa mzunguko.

Nano ya Arduino ambayo imeunganishwa na bandari ya USB inaendesha saa 5V. LCD inaendesha kwa 3.3V. Kwa hivyo unahitaji kuwasha LCD kutoka kwa pini ya 3V3 ya Nano na kupunguza voltage kwenye kila pini ya kudhibiti kutoka 5V hadi 3.3V.

Pinout ya LCD ni:

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

CS ni Chip-Chagua. Imevutwa chini kuchagua (kuwezesha) chip ya UC1701. (CS inaweza kuitwa CS0 au En au sawa.)

RST imewekwa upya. Ni vunjwa chini kuweka upya chip. (RST inaweza kuitwa Kuweka upya.)

CD ni amri / data. Inavuta chini wakati wa kutuma amri kwa chip juu ya SPI. Ni juu wakati wa kutuma data. (CD inaweza kuitwa A0.)

CLK na SDA ni pini za basi za SPI. (SDA inaweza kuitwa SPI-Data. CLK inaweza kuwa SCL au SPI-Clock.)

VB0 + na VB0- hutumiwa na pampu ya malipo ya ndani ya UC1701. Pampu ya malipo inazalisha voltages isiyo ya kawaida inayohitajika na LCD. Unganisha capacitor ya 100n kati ya VB0 + na VB0-. Nyaraka za UC1701 zinapendekeza 2uF lakini sikuweza kuona tofauti na LCD hii.

Ikiwa LCD yako ina VB1 + na VB1- pini, pia unganisha capacitor ya 100n kati yao. (Ikiwa LCD yako ina pini ya VLCD, unaweza kujaribu kuunganisha capacitor ya 100n kati ya VLCD na Gnd. Haikufanya tofauti na LCD yangu.)

Unganisha LCD na Nano kama ifuatavyo:

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

3.3V inatolewa na Nano na inaweza kutoa sasa ya kutosha kwa LCD. (Maonyesho huvuta karibu 250uA.)

5V pia hutolewa na Nano na inaweza kutumika kutia taa ya nyuma. Punguza sasa taa ya nyuma na kontena la 100ohm.

Ikiwa unakosa pini kwenye Nano, unaweza kuunganisha RST hadi 3V3 - basi unaweza kutumia D6 kwa kitu kingine. U1701 inaweza kuwekwa upya kwenye programu kwa amri kwenye SPI. Sijawahi kuwa na shida yoyote na hiyo lakini ikiwa unatumia mzunguko wako mwenyewe katika mazingira yenye kelele, inaweza kuwa bora kutumia usanidi wa vifaa.

Hatua ya 3: Programu

Programu
Programu

Kwa nadharia, unaweza kuendesha UC1701 kutoka maktaba ya U8g2 (au Ucglib au maktaba zingine zinazopatikana). Nilijitahidi kwa siku kadhaa kuifanya ifanye kazi na nikashindwa. Maktaba ya U8g2 ni monster kwa sababu inaweza kuendesha aina kubwa ya chips na ni ngumu sana kufuata nambari. Kwa hivyo niliacha na kuandika maktaba yangu ndogo. Inachukua nafasi ndogo sana katika Arduino (takriban 3400 ka pamoja na fonti).

Unaweza kupakua maktaba yangu kutoka hapa (kitufe cha Pakua kwenye ukurasa huu). Mchoro wa mfano na mwongozo wa mtumiaji umejumuishwa. Ukurasa wa wavuti https://www.arduino.cc/en/Guide/Libraries inaelezea jinsi ya kuagiza maktaba; nenda kwenye sehemu ya "Kuingiza Maktaba ya.zip".

Anzisha LCD na

Kuanza ();

Anza inaweza kuchukua vigezo kubadilisha pini au kupuuza pini ya RST. Maktaba hutumia vifaa vya SPI tu (programu ya SPI haijatolewa). Onyesho linaweza kutupwa kwa shoka za x na y. Hiyo ni muhimu ikiwa unataka kuweka LCD katika mwelekeo tofauti.

Taratibu kadhaa zimerudiwa kutoka kwa maktaba ya U8g2:

  • DrawLine
  • ChoraPikseli
  • ChoraLine
  • DrawVLine
  • DrawBox
  • DrawFrame
  • DrawCircle
  • DrawDisc
  • DrawFilledEllipse
  • DrawEllipse
  • DrawTriangle
  • Mshale wa UC1701
  • UC1701ClearDisplay

Taratibu zingine ni tofauti kidogo:

  • batili DrawChar (uint8_t c, neno Fonti);
  • batili DrawString (char * s, neno Fonti);
  • utupu DrawInt (int i, neno Fonti);

Taratibu za kuchora kamba hupitishwa kwa fonti ya herufi. Fonti zimetangazwa katika kumbukumbu ya Arduino kwa hivyo haishiki SRAM ya thamani. Fonti tatu hutolewa (ndogo, kati na kubwa). Zinaunganishwa tu na huchukua kumbukumbu ndogo ikiwa unazitumia (takriban baiti 500 hadi 2000 kila moja).

"Rangi" inashughulikiwa tofauti na maktaba ya U8g2. Wakati LCD imesafishwa ina asili nyeusi. Ikiwa MakeMark (ubadilishaji wa ulimwengu) ni kweli, kuchora hufanywa kwa rangi nyeupe. Ikiwa MakeMark ni ya uwongo, kuchora hufanywa gizani.

Taratibu zingine ni za kipekee kwa UC1701:

SetInverted inachora rangi nyeusi-nyeupe badala ya nyeupe-nyeusi.

batili SetInverted (bool inv);

Mwangaza na tofauti ya UC1701 imewekwa na:

  • batili SetContrast (thamani ya uint8_t); // iliyopendekezwa ni 14
  • batili SetResistor (uint8_t thamani); // iliyopendekezwa ni 7

Wanafanya kazi pamoja kwa njia isiyoridhisha.

Weka Nguvu Zilizowezeshwa chini ya LCD:

batili SetEnabled (bool en);

Maonyesho huchukua 4uA wakati wa kulala. Unapaswa pia kuzima taa ya nyuma - iendeshe kutoka pini ya Nano. Baada ya kuwezesha tena, UC1701 itakuwa imewekwa upya; onyesho limesafishwa na Tofauti na Kizuizi kitakuwa kimewekwa tena kwa maadili yao chaguomsingi.

Kwa hivyo, kwa kumalizia, maonyesho ya COG ni ya bei rahisi na saizi nzuri. Ni rahisi kuungana na Arduino.

Ilipendekeza: