Tembeza Mstari wa LCD Moja: Hatua 4 (na Picha)
Tembeza Mstari wa LCD Moja: Hatua 4 (na Picha)
Anonim
Image
Image

Maktaba ya Crystal ya Liquid ina kazi mbili muhimu scrollDisplayLeft () na scrollDisplayRight (). Kazi hizi hutembeza onyesho lote. Hiyo ni, hutembeza mistari yote kwenye LCD ya 1602 na mistari yote minne kwenye LCD ya 2004. Tunachohitaji mara nyingi ni uwezo wa kusogeza laini moja kwenye maonyesho haya badala ya kusogeza onyesho lote.

Hii ya kufundisha hutoa kazi mbili za ziada, scrollInFromRight (mstari wa kuonyesha maandishi, kamba itafutwa) na scrollInFromLeft (mstari wa kuonyesha maandishi, kamba itafutwa). Kazi hizi mbili ambazo hutembeza mistari kwenye skrini ya LCD pamoja na kazi mbili, scrollLineRight (mstari kuonyesha maandishi, kamba itafutwa) na scrollLineLeft (laini kuonyesha maandishi, kamba itafutwa) kutoka kwa Agizo langu la mapema, ambalo liliwasilisha kazi za kusogeza mistari mbali na skrini, hutupa njia kadhaa zenye nguvu za kudhibiti jinsi maandishi yanaweza kuwasilishwa kwenye, au kuondolewa kutoka, skrini ya LCD.

Hatua ya 1: Kinachohitajika

Kuunganishwa
Kuunganishwa

- Maonyesho ya LCD ya 1602 au 2004, au ngao ya LCD

- Angalia maelezo hapa chini kuhusu matumizi ya onyesho la LCD la 2004

- Arduino UNO R3 au Clone

- kebo ya USB kuunganisha Arduino kwenye kompyuta

- Ukubwa wa nusu, alama za kufunga 400, ubao wa mkate

- IDE ya Arduino

- Jukwaa la majaribio (hiari, lakini inasaidia)

Vitu vinavyohitajika ni skrini ya LCD ama 1602 au 2004 [ikiwa 2004 inatumiwa, itafanya kazi bila shida kutembeza kutoka kulia kwa kubadilisha lcd.begin () kazi kuonyesha kwamba sasa unatumia herufi 20 x 4 laini onyesha. [Kuingia kutoka kushoto ukitumia onyesho la 2004, nambari ya kuandika tena ya kazi s crollInFromLeft () ni muhimu]. Mbali na LCD utahitaji Arduino UNO au mkoni, Arduino IDE, na kebo ya USB kuunganisha Arduino kwenye kompyuta.

Ngao ya LCD inaweza kutumika badala ya LCD iliyosimama iliyoonyeshwa hapa. Ikiwa ndivyo ilivyo, basi kazi za pini za LCD kwenye mchoro hapa chini zitahitaji kubadilishwa.

- Kwa onyesho la kujitegemea la 1602 LCD nilitumia kazi zifuatazo za pini kwenye michoro yangu:

// LiquidCrystal (rs, wezesha, d4, d5, d6, d7)

LiquidCrystal LCD (12, 11, 5, 4, 3, 2);

na ni pamoja na maktaba ya Liquid Crystal LiquidCrystal.h.

- Kwa ngao ya LCD, ninatumia kazi zifuatazo za pini kwenye michoro yangu, na pia ni pamoja na maktaba ya Liquid Crystal LiquidCrystal.h.

// LiquidCrystal (rs, wezesha, d4, d5, d6, d7)

LiquidCrystal LCD (8, 13, 9, 4, 5, 6, 7);

Njia yoyote itaendesha nambari hapa, yaani, ngao ya LCD au LCD ya pekee. Onyesho la LCD la 1602 lililotumiwa lilitumika katika Maagizo haya, lakini kama ilivyoonyeshwa ngao ya 1602 inaweza kutumika pia ikiwa mgawanyo tofauti wa pini utazingatiwa.

Nilitumia "jukwaa la majaribio" kuunganisha Arduino UNO kwa ukubwa wa nusu, alama za kufunga 400, ubao wa mkate. (Tazama Agizo langu la mapema, "Jukwaa la Majaribio la Arduino UNO R3, Jinsi ya Kuiandaa Kwa Matumizi"). Walakini, jukwaa la majaribio halihitajiki, ingawa kwangu inafanya kuunganisha LCD na UNO iwe rahisi na haraka zaidi.

Kazi nilizotumia kuunganisha LCD na UNO zinaweza kuonekana hapo juu.

Hatua ya 2: Kuunganishwa

LCD imechomekwa kwenye ubao wa mkate na kisha waya za kushikamana zimeunganishwa kutoka kwenye ubao wa mkate hadi pini zinazofaa kwenye Arduino (angalia hatua ya 2 ikiwa una maswali yoyote juu ya unganisho nililotumia).

Nilipendelea LCD ya pekee kwa mradi huu badala ya ngao kwani iliniridhisha zaidi, na ikaniruhusu kuona kwa urahisi ni pini zipi zilipatikana. Pia inaniruhusu kutumia potentiometer ambayo ina kitasa, badala ya potentiometer ya ngao ambayo lazima ibadilishwe na bisibisi.

LCD ya kawaida inahitaji matumizi ya potentiometer tofauti ya 10k ohm. Kama ilivyoonyeshwa hapo juu, nilitumia moja na kitovu ambacho wiper yake imeunganishwa na pini ya tatu ya LCD (kuhesabu kutoka kulia na pini za LCD zinazokukabili). Potentiometer hutumiwa kudhibiti tofauti ya LCD. Uunganisho ni sawa kwa 1602 na 2004. Walakini, taarifa lcd.anza (16, 2) inahitaji kubadilishwa kwenye mchoro kuwa lcd. Kuanza (20, 4) kuonyesha kuwa LCD yetu imebadilika kutoka 16 herufi kwa kuonyesha laini mbili kwa tabia 20 kwa safu nne moja.

Kuangalia picha zilizoambatanishwa kunaonyesha uunganisho niliotumia, pamoja na jukwaa la majaribio, na potentiometer 10k.

Hatua ya 3: Mchoro

Mchoro
Mchoro
Mchoro
Mchoro
Mchoro
Mchoro

Ingiza tu mchoro ulioambatishwa kwenye IDE ya Arduino. Tafadhali kumbuka kuwa wavuti inayoweza kufundishwa mara nyingi huondoa kila kitu kikubwa na kidogo kuliko ishara na maandishi kati yao. Kwa hivyo, hakikisha na ujumuishe maandishi, # pamoja na LiquidCrystal.h na uweke maneno LiquidCrystal.h ndani kubwa kuliko na chini ya alama.

// Mchoro wa kusogeza herufi kwenye skrini ya LCD

#jumuisha // Angalia maandishi katika maandishi juu ya kile kinachohitajika hapa, yaani, LiquidCrystal.h iliyofungwa ndani

// kubwa kuliko na chini ya alama

// Tovuti hii mara nyingi huondoa zaidi na chini ya alama na maandishi kati yao

// LiquidCrystal (rs, wezesha, d4, d5, d6, d7)

LiquidCrystal LCD (12, 11, 5, 4, 3, 2);

// Tangaza LCD kama kitu cha LiquidCrystal

int i = 0;

int j = 0;

int k = 0;

kuchelewesha mudaTime2 = 350; // Kuchelewa kati ya zamu

batili scrollInFromRight (mstari wa ndani, char str1 ) {

// Imeandikwa na R. Jordan Kreindler Juni 2016

i = strlen (str1);

kwa (j = 16; j> = 0; j--) {

lcd.setCursor (0, mstari);

kwa (k = 0; k <= 15; k ++) {

lcd.print (""); // Futa laini

}

lcd.setCursor (j, mstari);

lcd.print (str1);

kuchelewesha (kucheleweshaTime2);

}

}

batili scrollInFromLeft (int line, char str1 ) {

// Imeandikwa na R. Jordan Kreindler Juni 2016

i = 40 - strlen (str1);

mstari = mstari - 1;

kwa (j = i; j <= i + 16; j ++) {

kwa (k = 0; k <= 15; k ++) {

lcd.print (""); // Futa laini

}

lcd.setCursor (j, mstari);

lcd.print (str1);

kuchelewesha (kucheleweshaTime2);

}

}

usanidi batili () {

Kuanzia Serial (9600);

Serial.println ("Anza mtihani…");

lcd kuanza (16, 2);

lcd wazi ();

lcd.print ("Jaribio tu");

}

kitanzi batili () {

lcd wazi ();

scrollInFromRight (0, "Line1 Kutoka Kulia");

scrollInFromRight (1, "Line2 Kutoka Kulia");

lcd wazi ();

scrollInFromLeft (0, "Line1 Kutoka Kushoto.");

scrollInFromLeft (1, "Line2 Kutoka Kushoto.");

lcd wazi ();

scrollInFromRight (0, "Line1 Kutoka Kulia");

scrollInFromLeft (1, "Line2 Kutoka Kushoto.");

lcd wazi ();

}

Kazi mbili: scrollInFromRight (mstari wa kuonyesha maandishi juu, kamba itafutwa) na scrollInFromLeft (mstari wa kuonyesha maandishi, kamba itafutwa) inaweza kuhamishiwa kwenye mchoro wako kudhibiti mistari inayoingia kwenye skrini ya LCD. Kazi hizi hutoa njia nzuri ya kuhamisha maandishi mapya kwenye skrini.

Wakati unachanganywa na kazi mbili kwenye mchoro uliomo kwenye Kitabu kinachoweza kuagizwa "Tembeza laini moja ya LCD kwenda kushoto au kulia, Jinsi ya" kazi hizi nne kutoa njia nzuri za kutembeza maandishi na kuzima onyesho la LCD. Kazi hizi zinakuruhusu kusogeza maandishi kwa mstari mmoja kwa wakati, na hauitaji kwamba onyesho lote lipigwe kama kazi, scrollDisplayLeft () na scrollDisplayRight ().

Uwezo huu wa kusogeza huturuhusu kuwasilisha mistari ndefu zaidi ambayo onyesho kawaida lina uwezo wa kuonyesha. Hiyo ni, kwa onyesho la 1602 hatuzuiliwi kwa wahusika 16 tu kwa kila mstari (ingawa ni 16 tu wataonyesha kwa wakati mmoja), na kwa 2004 hatuzuiliwi kwa herufi 20 kwa kila mstari.

Kama kando, unaweza kutaka kurekebisha wakati wa kuonyesha kati ya hati ili kuendana na mahitaji yako.

Hatua ya 4: Baadaye

Hiyo ni yote kuna hiyo. Kazi hizi na hizo mbili kutoka kwa Agizo langu la awali linaweza kuongezwa kwenye mchoro wowote ulio nao ambao hutumia LCD na kuonyesha maandishi. Kama ilivyoonyeshwa, uwezo wa kutumia laini ndefu ni faida dhahiri inayowezekana kupitia matumizi ya kusogeza.

Ikiwa ungependa kuwasiliana nami kwa maswali yoyote au kwa habari ya ziada, au kupanua maarifa yangu katika eneo lililowasilishwa, ninaweza kufikiwa kwa [email protected]. (tafadhali badilisha 'i' ya pili na 'e' kuwasiliana nami.

Ilipendekeza: