Përmbajtje:
Video: Lëvizni një linjë LCD të vetme: 4 hapa (me fotografi)
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:10
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
- 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
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:
Rindërtimi 3D nga një fotografi e vetme: 8 hapa
Rindërtimi 3D nga një fotografi e vetme: Detyra e rindërtimit 3D zakonisht lidhet me vizionin binokular. Përndryshe, ju mund të lëvizni një aparat të vetëm rreth objektit. Ndërkohë, nëse dihet forma e objektit, detyra mund të zgjidhet nga një fotografi e vetme. Kjo është ajo që keni mbi
Shtimi i një linje në një boombox me një kasetë: 5 hapa
Shtimi i një linje në një Boombox Me një Tape Player: ** Ashtu si me të gjitha udhëzimet, ju merrni artikullin / shëndetin tuaj / çfarëdo në duart tuaja kur përpiqeni! Kini parasysh tensionet e larta në pllakën kryesore të energjisë, hekurin e saldimit të nxehtë, etj. Të qenit i kujdesshëm dhe i durueshëm do t'ju sjellë sukses. ** Th
Ekran dyshifror duke përdorur një matricë të vetme 8x8 të udhëhequr: 3 hapa
Ekran Dy shifror Duke përdorur Matricën e Vetëm 8x8 Led: Këtu do të doja të ndërtoja një tregues të temperaturës dhe lagështisë për dhomën time. Kam përdorur një matricë LED 8x8 për shfaqjen e numrave dyshifrorë dhe mendoj se një pjesë e projektit u bë më e dobishme. Boksova finalen e ndërtuar duke përdorur një kuti kartoni, dhimbje
10 Projekte Themelore Arduino për Fillestarët! Bëni të paktën 15 projekte me një tabelë të vetme !: 6 hapa
10 Projekte Themelore Arduino për Fillestarët! Bëni të paktën 15 projekte me një bord të vetëm !: Projekti Arduino & Bordi Tutorial; Përfshin 10 projekte bazë Arduino. Të gjithë kodet burimore, skedari Gerber dhe më shumë. Jo SMD! Lidhje e lehtë për të gjithë. Komponentë të lehtë të lëvizshëm dhe të zëvendësueshëm. Mund të bëni të paktën 15 projekte me një bo
Si të lëvizni dhe fshini një udhëzues: 3 hapa
Si të lëvizni dhe fshini një Udhëzues: A keni zbuluar se paraqitja juaj është në vendin e gabuar dhe duhet të zhvendoset? Këtu keni një mënyrë për ta lëvizur atë dhe më pas për të fshirë sendet e vendosura gabimisht