Përmbajtje:

Lëvizni një linjë LCD të vetme: 4 hapa (me fotografi)
Lëvizni një linjë LCD të vetme: 4 hapa (me fotografi)

Video: Lëvizni një linjë LCD të vetme: 4 hapa (me fotografi)

Video: Lëvizni një linjë LCD të vetme: 4 hapa (me fotografi)
Video: Я ОДЕРЖИМЫЙ ДЕМОНАМИ 2024, Nëntor
Anonim
Image
Image

Biblioteka Liquid Crystal ka dy funksione të dobishme scrollDisplayLeft () dhe scrollDisplayRight (). Këto funksione lëvizin të gjithë ekranin. Kjo do të thotë, ata lëvizin të dy rreshtat në një LCD 1602 dhe të katër rreshtat në një LCD 2004. Ajo që na nevojitet shpesh është aftësia për të lëvizur një rresht të vetëm në këto ekrane sesa të lëvizim të gjithë ekranin.

Ky udhëzues siguron dy funksione shtesë, scrollInFromRight (rreshti për të shfaqur tekstin, vargu që do të rrotullohet) dhe scrollInFromLeft (rreshti për të shfaqur tekstin, vargu për të lëvizur). Këto dy funksione të cilat rrotullojnë linjat në ekranin LCD të kombinuara me dy funksionet, scrollLineRight (rreshti për të shfaqur tekstin, vargu që do të rrotullohet) dhe scrollLineLeft (rreshti për të shfaqur tekstin, vargu për të lëvizur) nga Instructable im i mëparshëm, i cili u prezantua funksionon për të lëvizur linjat jashtë ekranit, na jep disa mënyra të fuqishme për të kontrolluar sesi teksti mund të paraqitet ose hiqet nga një ekran LCD.

Hapi 1: Çfarë nevojitet

Lidhje
Lidhje

- Një ekran LCD i pavarur 1602 ose 2004, ose mburoja LCD

- Shih shënimin më poshtë në lidhje me përdorimin e një ekrani LCD 2004

- Një Arduino UNO R3 ose klon

- Një kabllo USB për të lidhur Arduino me një kompjuter

- Një gjysmë madhësi, 400 pikë lidhëse, pjatë buke

- Arduino IDE

- Një platformë eksperimentale (opsionale, por e dobishme)

Artikujt e kërkuar janë një ekran LCD ose 1602 ose 2004 [nëse përdoret një 2004, do të funksionojë pa probleme të lëvizni nga e djathta duke ndryshuar funksionin lcd.begin () për të pasqyruar se tani po përdorni një linjë 20 karaktere x 4 shfaqje. [Për të lëvizur nga e majta duke përdorur një ekran 2004, është i nevojshëm një rishkrim i kodit të funksionit s crollInFromLeft ()]. Përveç një LCD do t'ju duhet një Arduino UNO ose klon, Arduino IDE dhe një kabllo USB për të lidhur Arduino me një kompjuter.

Një mburojë LCD mund të përdoret në vend të LCD -it të pavarur të treguar këtu. Nëse është kështu, atëherë caktimet e kunjave për LCD në skicën më poshtë do të duhet të ndryshohen.

- Për ekranin LCD të pavarur 1602 kam përdorur detyrat e mëposhtme të pinit në skicat e mia:

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

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

dhe përfshiu bibliotekën Liquid Crystal LiquidCrystal.h.

- Për mburojën LCD, unë përdor detyrat e mëposhtme të pinit në skicat e mia, dhe gjithashtu përfshija bibliotekën Liquid Crystal LiquidCrystal.h.

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

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

Secila rrugë do të ekzekutojë kodin këtu, domethënë, një mburojë LCD ose një LCD të pavarur. Një ekran LCD i pavarur 1602 u përdor në këtë Instructable, por siç u vu re një mburojë 1602 mund të përdoret gjithashtu nëse caktimet e ndryshme të kunjave merren parasysh.

Kam përdorur një "platformë eksperimentale" për të lidhur Arduino UNO me një gjysmë madhësi, 400 pikë lidhëse, pjatë. (Shihni një Udhëzues të mëparshëm timin, "Platforma Eksperimentale Për Arduino UNO R3, Si ta Përgatitni Për Përdorim"). Sidoqoftë, një platformë eksperimentale nuk është e nevojshme, edhe pse për mua kjo e bën lidhjen e LCD me UNO shumë më të lehtë dhe më të shpejtë.

Detyrat që kam përdorur për lidhjen e LCD me UNO mund të shihen më lart.

Hapi 2: Lidhja

LCD -ja është e kyçur në një dërrasë buke dhe pastaj telat e lidhjes lidhen nga paneli i bukës me kunjat e duhura në Arduino (shih hapin 2 nëse keni ndonjë pyetje në lidhje me lidhjet që kam përdorur).

Unë preferova një LCD të pavarur për këtë projekt sesa një mburojë pasi ishte më e kënaqshme për mua, dhe më lejoi të shikoja me lehtësi se cilat kunja ishin në dispozicion. Gjithashtu më lejon të përdor një potenciometër i cili ka një çelës, në vend të potenciometrit të një mburoje i cili duhet të rregullohet me një kaçavidë.

LCD i pavarur kërkon përdorimin e një potenciometri të veçantë 10khm. Siç u tha më lart, unë përdor një me një çelës i cili ka fshirësin e tij të lidhur me kunjin e tretë LCD (duke numëruar nga e djathta me kunjat LCD përballë jush). Potenciometri përdoret për të kontrolluar kontrastin e LCD -së. Lidhjet janë të njëjta për 1602 dhe 2004. Megjithatë, deklarata lcd.fillo (16, 2) duhet të ndryshohet në skicë në lcd.fillo (20, 4) për të treguar se LCD -ja jonë ka ndryshuar nga një 16 karakter me dy rreshta shfaqje në një karakter 20 me katër rreshta një.

Një vështrim në fotografitë e bashkangjitura tregon lidhjen që kam përdorur, përfshirë platformën eksperimentale, dhe potenciometër 10k.

Hapi 3: Skica

Skica
Skica
Skica
Skica
Skica
Skica

Thjesht futni skicën e bashkangjitur në Arduino IDE. Ju lutemi mbani në mend se siti Instructable shpesh heq të gjitha shenjat më të mëdha se dhe më pak se shenjat dhe tekstin midis tyre. Kështu, sigurohuni dhe përfshini tekstin, #përfshini LiquidCrystal.h dhe mbyllni fjalët LiquidCrystal.h brenda më të mëdha se dhe më pak se simbolet.

// Skiconi për të lëvizur personazhet në një ekran LCD

#include // Shih shënimin në tekst për atë që nevojitet këtu, dmth., LiquidCrystal.h e mbyllur brenda

// më e madhe se dhe më pak se simbolet

// Kjo faqe shpesh heq simbole më të mëdha se dhe më pak se tekstet midis tyre

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

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

// Deklaroni LCD si një objekt LiquidCrystal

int i = 0;

int j = 0;

int k = 0;

int delayTime2 = 350; // Vonesa midis ndërrimeve

void scrollInFromRight (int line, char str1 ) {

// Shkruar nga R. Jordan Kreindler Qershor 2016

i = strlen (str1);

për (j = 16; j> = 0; j--) {

lcd.setCursor (0, rreshti);

për (k = 0; k <= 15; k ++) {

lcd.print (""); // Linja e qartë

}

lcd.setCursor (j, line);

lcd.print (str1);

vonesa (delayTime2);

}

}

void scrollInFromLeft (int line, char str1 ) {

// Shkruar nga R. Jordan Kreindler Qershor 2016

i = 40 - strlen (str1);

rresht = rresht - 1;

për (j = i; j <= i+16; j ++) {

për (k = 0; k <= 15; k ++) {

lcd.print (""); // Linja e qartë

}

lcd.setCursor (j, line);

lcd.print (str1);

vonesa (delayTime2);

}

}

void setup () {

Serial.filloj (9600);

Serial.println ("Fillimi i testit …");

lcd.filloni (16, 2);

lcd.qartë ();

lcd.print ("Vetëm Test");

}

lak void () {

lcd.qartë ();

scrollInFromRight (0, "Line1 From Right");

scrollInFromRight (1, "Line2 From Right");

lcd.qartë ();

scrollInFromLeft (0, "Linja1 Nga e majta.");

scrollInFromLeft (1, "Linja2 Nga e majta.");

lcd.qartë ();

scrollInFromRight (0, "Line1 From Right");

scrollInFromLeft (1, "Linja2 Nga e majta.");

lcd.qartë ();

}

Dy funksionet: scrollInFromRight (rreshti për të shfaqur tekstin, vargu për t'u rrotulluar) dhe scrollInFromLeft (rreshti për të shfaqur tekstin, vargu për t'u rrotulluar) mund të zhvendosen në skicën tuaj për të kontrolluar linjat që lëvizin në ekranin LCD. Këto funksione ofrojnë një mënyrë elegante për të zhvendosur tekstin e ri në ekran.

Kur kombinohen me dy funksionet në skicën e përmbajtur në Instructable "Lëvizni një vijë të vetme LCD nga e majta ose e djathta, Si të", katër funksionet ofrojnë mënyra elegante për të lëvizur tekstin mbi dhe jashtë një ekrani LCD. Këto funksione ju lejojnë të lëvizni tekstin një rresht në të njëjtën kohë dhe nuk kërkojnë që i gjithë ekrani të rrotullohet siç bëjnë funksionet, scrollDisplayLeft () dhe scrollDisplayRight ().

Kjo aftësi rrotullimi na lejon të paraqesim rreshta më gjatë që ekrani normalisht është në gjendje të shfaqë. Kjo do të thotë, për një ekran 1602 ne nuk jemi të kufizuar në vetëm 16 karaktere për rresht (edhe pse vetëm 16 do të shfaqen në të njëjtën kohë), dhe për një 2004 ne nuk jemi të kufizuar në 20 karaktere për rresht.

Përveç kësaj, ju mund të dëshironi të rregulloni kohën e shfaqjes midis rrotullave që të përputhen me nevojat tuaja.

Hapi 4: Më pas

Kjo është gjithçka që ka për të. Këto funksione dhe të dyja nga Instructable im i mëparshëm mund të shtohen në çdo skicë që keni që përdor një LCD dhe shfaq tekst. Siç u vu re, aftësia për të përdorur linja më të gjata është një përfitim i caktuar që është i mundur përmes përdorimit të rrotullimit.

Nëse dëshironi të më kontaktoni me ndonjë pyetje ose informacion shtesë, ose të zgjeroni njohuritë e mia në fushën e paraqitur, mund të më kontaktoni në [email protected]. (ju lutemi zëvendësoni "i" -n e dytë me një "e" për të më kontaktuar.

Recommended: