Sisukord:

Kerige ühe LCD rida: 4 sammu (piltidega)
Kerige ühe LCD rida: 4 sammu (piltidega)

Video: Kerige ühe LCD rida: 4 sammu (piltidega)

Video: Kerige ühe LCD rida: 4 sammu (piltidega)
Video: Электрика в квартире своими руками. Финал. Переделка хрущевки от А до Я. #11 2024, Juuli
Anonim
Image
Image

Liquid Crystal Library -l on kaks kasulikku funktsiooni scrollDisplayLeft () ja scrollDisplayRight (). Need funktsioonid kerivad kogu ekraani. See tähendab, et nad kerivad 1602 LCD -ekraanil mõlemat rida ja 2004. aasta LCD -ekraanil kõiki nelja rida. Meil on sageli vaja võimalust kerida nendele kuvaritele ühte rida, mitte kogu ekraani.

Selles juhendis on kaks lisafunktsiooni: scrollInFromRight (rida teksti kuvamiseks, string, mida tuleb kerida) ja scrollInFromLeft (rida teksti kuvamiseks, string, mida tuleb kerida). Need kaks funktsiooni, mis kerivad ridu LCD -ekraanile koos kahe funktsiooniga, scrollLineRight (rida teksti kuvamiseks, string, mida tuleb kerida) ja scrollLineLeft (rida teksti kuvamiseks, string, mida kerida) minu varasemast Instructable'ist, mis esitati funktsioonid joonte ekraanilt kerimiseks, annab meile mitmeid tõhusaid viise, kuidas kontrollida, kuidas teksti LCD -ekraanil esitada või sealt eemaldada.

Samm: mida on vaja

Ühendus
Ühendus

- 1602 või 2004 eraldiseisev LCD -ekraan või LCD -ekraan

- Vt allpool olevat märkust 2004. aasta LCD-ekraani kasutamise kohta

- Arduino UNO R3 või kloon

- USB -kaabel Arduino ühendamiseks arvutiga

- Poole suurusega, 400 lipsupunkti, leivalaud

- Arduino IDE

- Katseplatvorm (valikuline, kuid kasulik)

Vajalikud elemendid on vedelkristallekraan kas 1602 või 2004 [kui kasutate 2004. aasta numbrit, töötab ilma probleemideta kerimine paremalt, muutes funktsiooni lcd.begin (), et kajastada, et kasutate nüüd 20 märki x 4 rida kuvada. [2004. aasta ekraani abil vasakult sisse kerimiseks on vajalik funktsiooni s crollInFromLeft () koodi ümberkirjutamine]. Lisaks LCD -le vajate Arduino arvutiga ühendamiseks Arduino UNO -d või klooni, Arduino IDE -d ja USB -kaablit.

Siin näidatud eraldiseisva LCD asemel võib kasutada LCD -ekraani. Kui see nii on, siis tuleb allolevas visandis LCD -i tihvtide määramist muuta.

- Sõltumatu 1602 LCD -ekraani jaoks kasutasin oma visandites järgmisi tihvtide määramisi:

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

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

ja sisaldas vedelkristallide raamatukogu LiquidCrystal.h.

- LCD -kaitsekilbi puhul kasutan oma visandites järgmisi tihvtide määramisi ja lisasin ka vedelkristallide raamatukogu LiquidCrystal.h.

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

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

Kumbki marsruut käivitab siin koodi, st kas LCD -ekraan või eraldiseisev LCD -ekraan. Selles juhendis kasutati eraldiseisvat 1602 LCD -ekraani, kuid nagu märgitud, saab kasutada ka 1602 varjestust, kui võtta arvesse erinevaid tihvtide paigutusi.

Kasutasin “eksperimentaalset platvormi”, et ühendada Arduino UNO poole väiksema, 400 sidumispunktiga, leivaplaadiga. (Vt minu varasemat juhendit “Arduino UNO R3 eksperimentaalne platvorm, kuidas seda kasutamiseks ette valmistada”). Katseplatvormi pole aga vaja, kuigi minu jaoks muudab see LCD -i ühendamise UNO -ga palju lihtsamaks ja kiiremaks.

Ülesandeid, mida kasutasin LCD ühendamiseks UNO -ga, näete ülal.

2. samm: ühendamine

Vedelkristallekraan on ühendatud leivaplaadiga ja seejärel ühendatakse leivaplaadist ühenduskaablid Arduino vastavate tihvtidega (vaadake 2. sammu, kui teil on küsimusi minu kasutatud ühenduste kohta).

Ma eelistasin selle projekti jaoks eraldiseisvat LCD -d, mitte kilpi, kuna see pakkus mulle rohkem rahuldust ja võimaldas mul hõlpsasti näha, millised tihvtid olid saadaval. See võimaldab mul kasutada ka nupuga potentsiomeetrit, mitte kilbi potentsiomeetrit, mida tuleb kruvikeerajaga reguleerida.

Eraldiseisev LCD nõuab eraldi 10k oomise potentsiomeetri kasutamist. Nagu eespool märgitud, kasutasin ühte nupuga, mille klaasipuhasti on ühendatud kolmanda LCD -tihvtiga (lugedes paremalt, LCD -tihvtid teie poole). Potentsiomeetrit kasutatakse LCD -ekraani kontrastsuse reguleerimiseks. Ühendused on samad nii mudelite 1602 kui ka 2004. aasta puhul. Siiski tuleb avalduses lcd.begin (16, 2) eskiis muuta lcd.begin (20, 4), et näidata, et meie LCD on muutunud 16 -st tähemärk kahe reaga kuni 20 tähemärki nelja reaga üks.

Vaadates lisatud fotosid, näete ühendamist, mida kasutasin, sealhulgas katseplatvorm ja 10k potentsiomeeter.

3. samm: visand

Sketš
Sketš
Sketš
Sketš
Sketš
Sketš

Lihtsalt sisestage lisatud visand Arduino IDE -sse. Pidage meeles, et Instructable sait eemaldab sageli kõik suuremad ja väiksemad märgid ning nendevahelise teksti. Seega olge kindel ja lisage tekst, #include LiquidCrystal.h ja lisage sõnad LiquidCrystal.h sisse suuremad ja väiksemad kui sümbolid.

// Visand sümbolite kerimiseks LCD -ekraanile

#include // Vaadake tekstis olevat märget selle kohta, mida siin vaja on, st selle sees olev LiquidCrystal.h

// suurem ja väiksem kui sümbolid

// See sait eemaldab sageli suuremad ja väiksemad sümbolid ja nendevaheline tekst

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

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

// Kuuluta lcd LiquidCrystal objektiks

int i = 0;

int j = 0;

int k = 0;

int delayTime2 = 350; // Viivitus vahetuste vahel

void scrollInFromRight (int rida, char str1 ) {

// Kirjutanud R. Jordan Kreindler 2016. aasta juunis

i = strlen (str1);

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

lcd.setCursor (0, rida);

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

lcd.print (""); // Selge joon

}

lcd.setCursor (j, rida);

lcd.print (str1);

viivitus (delayTime2);

}

}

void scrollInFromLeft (int rida, char str1 ) {

// Kirjutas R. Jordan Kreindler 2016. aasta juunis

i = 40 - strlen (str1);

rida = rida - 1;

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

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

lcd.print (""); // Selge joon

}

lcd.setCursor (j, rida);

lcd.print (str1);

viivitus (delayTime2);

}

}

tühine seadistus () {

Seriaalne algus (9600);

Serial.println ("Testi alustamine …");

lcd.algus (16, 2);

lcd.clear ();

lcd.print ("Ainult test");

}

void loop () {

lcd.clear ();

scrollInFromRight (0, "Rida1 paremalt");

scrollInFromRight (1, "Rida2 paremalt");

lcd.clear ();

scrollInFromLeft (0, "1. rida vasakult");

scrollInFromLeft (1, "Rida2 vasakult");

lcd.clear ();

scrollInFromRight (0, "Rida1 paremalt");

scrollInFromLeft (1, "Rida2 vasakult");

lcd.clear ();

}

Kaks funktsiooni: scrollInFromRight (rida teksti kuvamiseks, string, mida tuleb kerida) ja scrollInFromLeft (rida teksti kuvamiseks, string, mida tuleb kerida) saab teie visandisse teisaldada, et juhtida jooni, mida keritakse LCD -ekraanile. Need funktsioonid pakuvad elegantset viisi uue teksti ekraanile teisaldamiseks.

Kombineerituna kahe funktsiooniga, mis sisalduvad visandis, mis sisaldub juhendis „Ühe LCD -rea kerimine vasakule või paremale, kuidas seda teha“, pakuvad need neli funktsiooni elegantseid viise teksti kerimiseks LCD -ekraanile ja sealt välja. Need funktsioonid võimaldavad teksti kerida rida korraga ja ei nõua kogu ekraani kerimist, nagu ka funktsioonid scrollDisplayLeft () ja scrollDisplayRight ().

See kerimisvõimalus võimaldab meil esitada ridu kauem, kui kuvar on tavaliselt võimeline näitama. See tähendab, et 1602 kuvari puhul ei ole me piiratud ainult 16 tähemärgiga rea kohta (kuigi korraga kuvatakse ainult 16 tähemärki) ja 2004. aasta puhul ei ole see piiratud 20 tähemärgiga rea kohta.

Lisaks võiksite kohandada kerimiste vahelist kuvamisaega vastavalt oma vajadustele.

Samm: pärast seda

See on kõik. Neid ja minu eelmise Instructable'i kahte funktsiooni saab lisada mis tahes visandile, mis kasutab LCD -ekraani ja kuvab teksti. Nagu märgitud, on pikemate ridade kasutamise võimalus kindel eelis, mis on võimalik kerimise abil.

Kui soovite minuga küsimuste või lisateabe saamiseks ühendust võtta või laiendada oma teadmisi esitatud valdkonnas, võidakse minuga ühendust võtta aadressil [email protected]. (palun minuga ühenduse võtmiseks asendage teine „i” tähega „e”.

Soovitan: