Talaan ng mga Nilalaman:

Mag-scroll ng Single LCD Line: 4 Hakbang (na may Mga Larawan)
Mag-scroll ng Single LCD Line: 4 Hakbang (na may Mga Larawan)

Video: Mag-scroll ng Single LCD Line: 4 Hakbang (na may Mga Larawan)

Video: Mag-scroll ng Single LCD Line: 4 Hakbang (na may Mga Larawan)
Video: Nursing Student's Last Moments Recorded On Video - The Murder of Michelle Le | DEEP DIVE 2024, Nobyembre
Anonim
Image
Image

Ang Liquid Crystal Library ay may dalawang kapaki-pakinabang na pag-andar scrollDisplayLeft () at scrollDisplayRight (). Ang mga pagpapaandar na ito ay mag-scroll sa buong display. Iyon ay, i-scroll nila ang parehong mga linya sa isang 1602 LCD at lahat ng apat na linya sa isang 2004 LCD. Ang madalas naming kailangan ay ang kakayahang mag-scroll ng isang linya sa mga ipinapakitang ito kaysa i-scroll ang buong display.

Nagbibigay ang Instructable na ito ng dalawang karagdagang mga pag-andar, scrollInFromRight (linya upang ipakita ang teksto, string na mai-scroll) at scrollInFromLeft (linya upang maipakita ang teksto, ang string na dapat i-scroll). Ang dalawang pagpapaandar na ito kung saan mag-scroll ng mga linya sa LCD screen na sinamahan ng dalawang pag-andar, scrollLineRight (linya upang ipakita ang teksto, string na mai-scroll) at scrollLineLeft (linya upang ipakita ang teksto, string na mai-scroll) mula sa aking naunang Instructable, na ipinakita mga pagpapaandar upang mag-scroll ng mga linya sa screen, nagbibigay sa amin ng maraming makapangyarihang paraan upang makontrol kung paano maipakita ang teksto, o alisin mula sa, isang LCD screen.

Hakbang 1: Ano ang Kailangan

Hookup
Hookup

- Isang 1602 o 2004 LCD standalone display, o LCD na kalasag

- Tingnan ang tala sa ibaba tungkol sa paggamit ng isang 2004 LCD display

- Isang Arduino UNO R3 o clone

- Isang USB cable upang ikonekta ang Arduino sa isang computer

- Isang kalahating sukat, 400 itali na puntos, breadboard

- Ang Arduino IDE

- Isang pang-eksperimentong platform (opsyonal, ngunit kapaki-pakinabang)

Ang mga item na kinakailangan ay isang LCD screen alinman sa 1602 o 2004 [kung ginamit ang isang 2004, gagana ito nang walang mga problema upang mag-scroll mula sa kanan sa pamamagitan ng pagbabago ng lcd.begin () na function upang maipakita na gumagamit ka ngayon ng isang 20 character x 4 na linya ipakita [Upang mag-scroll mula sa kaliwa gamit ang isang 2004 display, isang muling pagsulat ng code ng pagpapaandar s crollInFromLeft () ay kinakailangan]. Bilang karagdagan sa isang LCD kakailanganin mo ang isang Arduino UNO o clone, ang Arduino IDE, at isang USB cable upang ikonekta ang Arduino sa isang computer.

Maaaring gamitin ang isang kalasag na LCD sa halip na ang nakapag-iisang LCD na ipinakita rito. Kung iyon ang kaso, kung gayon ang mga takdang-pin para sa LCD sa sketch sa ibaba ay kailangang baguhin.

- Para sa independiyenteng 1602 LCD display ginamit ko ang mga sumusunod na takdang-aralin sa aking mga sketch:

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

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

at isinama ang aklatan ng Liquid Crystal na LiquidCrystal.h.

- Para sa LCD na kalasag, ginagamit ko ang mga sumusunod na takdang-pin sa aking mga sketch, at isinama rin ang library ng Liquid Crystal na LiquidCrystal.h.

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

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

Ang alinmang ruta ay tatakbo ang code dito, ibig sabihin, alinman sa isang LCD kalasag o isang standalone LCD. Ang isang 1602 standalone LCD display ay ginamit sa Instructable na ito, ngunit tulad ng nabanggit na isang 1602 na kalasag ay maaaring magamit din kung ang iba't ibang mga takdang pin ay isinasaalang-alang.

Gumamit ako ng isang "pang-eksperimentong platform" upang ikonekta ang Arduino UNO sa isang kalahating sukat, 400 na puntos ng kurbatang, breadboard. (Tingnan ang isang naunang Instructable ng minahan, "Pang-eksperimentong Platform Para sa Arduino UNO R3, Paano Ito Ihahanda Para Sa Paggamit"). Gayunpaman, hindi kinakailangan ang isang pang-eksperimentong platform, bagaman para sa akin ginagawang mas madali at mas mabilis ang pagkonekta sa LCD sa UNO.

Ang mga takdang-aralin na ginamit ko para sa pagkonekta ng LCD sa UNO ay makikita sa itaas.

Hakbang 2: Hookup

Ang LCD ay naka-plug sa isang breadboard at pagkatapos ang mga hookup wires ay konektado mula sa breadboard sa naaangkop na mga pin sa Arduino (tingnan ang hakbang 2 kung mayroon kang anumang mga katanungan sa mga koneksyon na ginamit ko).

Mas ginusto ko ang isang standalone LCD para sa proyektong ito kaysa sa isang kalasag dahil mas kasiya-siya ito para sa akin, at pinapayagan akong makita nang madali kung aling mga pin ang magagamit. Pinapayagan din akong gumamit ng isang potensyomiter na may isang knob, sa halip na potentiometer ng isang kalasag na dapat ayusin sa isang distornilyador.

Ang standalone LCD ay nangangailangan ng paggamit ng isang hiwalay na 10k ohm potentiometer. Tulad ng nabanggit sa itaas, gumamit ako ng isa na may isang knob kung saan ang wiper nito ay konektado sa pangatlong LCD pin (pagbibilang mula sa kanan gamit ang mga LCD pin na nakaharap sa iyo). Ginagamit ang potentiometer upang makontrol ang kaibahan ng LCD. Ang mga koneksyon ay pareho para sa 1602 at 2004. Gayunpaman, ang pahayag na lcd.begin (16, 2) ay kailangang baguhin sa sketch sa lcd.begin (20, 4) upang maipakita na ang aming LCD ay nagbago mula sa isang 16 character sa pamamagitan ng dalawang linya na ipinapakita sa isang 20 character sa pamamagitan ng apat na linya ng isa.

Ang isang pagtingin sa mga nakalakip na litrato ay nagpapakita ng ginamit kong hookup, kasama ang pang-eksperimentong platform, at 10k potentiometer.

Hakbang 3: Ang Sketch

Ang Sketch
Ang Sketch
Ang Sketch
Ang Sketch
Ang Sketch
Ang Sketch

Ipasok lamang ang naka-attach na sketch sa Arduino IDE. Mangyaring tandaan na ang site na Makatuturo ay madalas na tinatanggal ang lahat ng mas malaki sa at mas mababa sa mga palatandaan at ang teksto sa pagitan nila. Kaya, siguraduhin at isama ang teksto, # isama ang LiquidCrystal.h at ipaloob ang mga salitang LiquidCrystal.h sa loob ng mas malaki kaysa sa at mas mababa sa mga simbolo.

// Sketch upang mag-scroll ng mga character sa isang LCD screen

#include // Tingnan ang tala sa teksto tungkol sa kung ano ang kinakailangan dito, ibig sabihin, LiquidCrystal.h nakapaloob sa loob

// mas malaki sa at mas mababa sa mga simbolo

// Ang site na ito ay madalas na nagtanggal ng higit sa at mas mababa sa mga simbolo at ang teksto sa pagitan nila

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

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

// Declare lcd as a LiquidCrystal Object

int i = 0;

int j = 0;

int k = 0;

int delayTime2 = 350; // Pagkaantala sa pagitan ng mga paglilipat

walang bisa scrollInFromRight (int line, char str1 ) {

// Isinulat ni R. Jordan Kreindler Hunyo 2016

i = strlen (str1);

para sa (j = 16; j> = 0; j--) {

lcd.setCursor (0, linya);

para sa (k = 0; k <= 15; k ++) {

lcd.print (""); // Malinaw na linya

}

lcd.setCursor (j, linya);

lcd.print (str1);

antala (delayTime2);

}

}

walang bisa scrollInFromLeft (int line, char str1 ) {

// Isinulat ni R. Jordan Kreindler Hunyo 2016

i = 40 - strlen (str1);

linya = linya - 1;

para sa (j = i; j <= i + 16; j ++) {

para sa (k = 0; k <= 15; k ++) {

lcd.print (""); // Malinaw na linya

}

lcd.setCursor (j, linya);

lcd.print (str1);

antala (delayTime2);

}

}

walang bisa ang pag-setup () {

Serial.begin (9600);

Serial.println ("Simula sa pagsubok …");

lcd.begin (16, 2);

lcd.clear ();

lcd.print ("Pagsubok Lamang");

}

void loop () {

lcd.clear ();

scrollInFromRight (0, "Line1 From Right");

scrollInFromRight (1, "Line2 From Right");

lcd.clear ();

scrollInFromLeft (0, "Line1 From Left.");

scrollInFromLeft (1, "Line2 From Left.");

lcd.clear ();

scrollInFromRight (0, "Line1 From Right");

scrollInFromLeft (1, "Line2 From Left.");

lcd.clear ();

}

Ang dalawang pag-andar: scrollInFromRight (linya upang ipakita ang teksto, string na mai-scroll) at scrollInFromLeft (linya upang ipakita ang teksto, string na mai-scroll) ay maaaring ilipat sa iyong sketch upang makontrol ang mga linya na mai-scroll papunta sa LCD screen. Ang mga pagpapaandar na ito ay nagbibigay ng isang matikas na paraan upang ilipat ang bagong teksto sa screen.

Kapag pinagsama sa dalawang pag-andar sa sketch na nilalaman sa Instructable na "Mag-scroll ng isang solong linya ng LCD sa kaliwa o kanan, Paano" ang apat na pag-andar ay nagbibigay ng mga matikas na paraan upang mag-scroll ng teksto papunta at i-off ang isang LCD display. Pinapayagan ka ng mga pagpapaandar na ito na mag-scroll ng teksto ng isang linya nang paisa-isa, at hindi kinakailangan na i-scroll ang buong display tulad ng ginagawa ng mga pag-andar, scrollDisplayLeft () at scrollDisplayRight ().

Pinapayagan kami ng kakayahang mag-scroll na magpakita ng mga linya nang mas matagal na ang display ay karaniwang may kakayahang ipakita. Iyon ay, para sa isang pagpapakita sa 1602 hindi kami pinaghihigpitan sa 16 na mga character lamang bawat linya (kahit na 16 lamang ang ipapakita sa isang pagkakataon), at para sa isang 2004 hindi kami pinaghihigpitan sa 20 mga character bawat linya.

Bilang isang tabi, baka gusto mong ayusin ang oras ng pagpapakita sa pagitan ng mga scroll upang tumugma sa iyong mga pangangailangan.

Hakbang 4: Pagkatapos

Iyon lang ang mayroon dito. Ang mga pagpapaandar na ito at ang dalawa mula sa aking nakaraang Instructable ay maaaring idagdag sa anumang sketch na mayroon ka na gumagamit ng isang LCD at nagpapakita ng teksto. Tulad ng nabanggit, ang kakayahang gumamit ng mas mahahabang linya ay isang tiyak na benepisyo na posible sa pamamagitan ng paggamit ng pag-scroll.

Kung nais mong makipag-ugnay sa akin ng anumang mga katanungan o para sa karagdagang impormasyon, o upang mapalawak ang aking kaalaman sa lugar na ipinakita, maaari akong maabot sa [email protected]. (mangyaring palitan ang pangalawang 'ako' ng isang 'e' upang makipag-ugnay sa akin.

Inirerekumendang: