Taula de continguts:

Desplaçament d'una sola línia LCD: 4 passos (amb imatges)
Desplaçament d'una sola línia LCD: 4 passos (amb imatges)

Vídeo: Desplaçament d'una sola línia LCD: 4 passos (amb imatges)

Vídeo: Desplaçament d'una sola línia LCD: 4 passos (amb imatges)
Vídeo: НЕ ВЫБРОСИЛА СТАРЫЙ ТЮЛЬ И ХОРОШО СЭКОНОМИЛА СЕМЕЙНЫЙ БЮДЖЕТ! 4 КРУТЫЕ ИДЕИ ИЗ ТЮЛЯ! 2024, Desembre
Anonim
Image
Image

La biblioteca de cristalls líquids té dues funcions útils scrollDisplayLeft () i scrollDisplayRight (). Aquestes funcions desplacen la pantalla sencera. És a dir, desplacen les dues línies en una pantalla LCD de 1602 i les quatre línies en una pantalla LCD de 2004. El que sovint necessitem és la possibilitat de desplaçar-se per una sola línia en aquestes pantalles en lloc de desplaçar-se per tota la pantalla.

Aquest instructable proporciona dues funcions addicionals, scrollInFromRight (línia per mostrar el text, cadena per desplaçar-se) i scrollInFromLeft (línia per mostrar el text, cadena per desplaçar-se). Aquestes dues funcions que desplacen les línies a la pantalla LCD combinades amb les dues funcions, scrollLineRight (línia on es mostra el text, cadena que es desplaça) i scrollLineLeft (línia on es mostra el text, cadena que es desplaça) del meu anterior Instructable, que presentava funcions per desplaçar línies de la pantalla, ens proporciona diverses maneres poderoses de controlar com es pot presentar o eliminar el text en una pantalla LCD.

Pas 1: què cal

Enganxa't
Enganxa't

- Una pantalla LCD independent de 1602 o 2004 o escut LCD

- Vegeu la nota següent sobre l'ús d'una pantalla LCD del 2004

- Un Arduino UNO R3 o clon

- Un cable USB per connectar l'Arduino a un ordinador

- Un tauler de mitja mida, 400 punts d'empat

- L’IDE Arduino

- Una plataforma experimental (opcional, però útil)

Els elements necessaris són una pantalla LCD 1602 o 2004 [si s’utilitza un 2004, funcionarà sense problemes per desplaçar-se des de la dreta canviant la funció lcd.begin () per reflectir que ara utilitzeu una línia de 20 caràcters x 4 visualització. [Per desplaçar-vos des de l'esquerra mitjançant una pantalla del 2004, és necessària una reescriptura del codi de la funció s crollInFromLeft ()]. A més d’un LCD, necessitareu un Arduino UNO o un clon, l’Arduino IDE i un cable USB per connectar l’Arduino a un ordinador.

Es pot utilitzar una pantalla LCD en lloc de la pantalla LCD independent que es mostra aquí. Si aquest és el cas, caldrà canviar les assignacions de pins per a la pantalla LCD de l'esbós següent.

- Per a la pantalla LCD 1602 independent, he utilitzat les següents assignacions de pins als meus esbossos:

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

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

i va incloure la biblioteca Liquid Crystal LiquidCrystal.h.

- Per a la pantalla LCD, faig servir les següents assignacions de pins als meus esbossos i també he inclòs la biblioteca Liquid Crystal LiquidCrystal.h.

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

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

Qualsevol ruta executarà el codi aquí, és a dir, un escut LCD o un LCD independent. En aquesta instrucció s’utilitzava una pantalla LCD independent 1602, però, com s’ha dit, també es pot utilitzar un blindatge 1602 si es tenen en compte les diferents assignacions de pins.

Vaig utilitzar una "plataforma experimental" per connectar l'Arduino UNO a un tauler intermedi de 400 punts d'empat. (Consulteu una de les meves instruccions anteriors, "Plataforma experimental per a l'Arduino UNO R3, com es prepara per al seu ús"). Tot i això, no cal una plataforma experimental, tot i que per a mi fa que la connexió de la pantalla LCD a l’ONU sigui molt més fàcil i ràpida.

Les tasques que he utilitzat per connectar la pantalla LCD a l’ONU es poden veure més amunt.

Pas 2: connecteu-vos

La pantalla LCD es connecta a una placa de connexió i, a continuació, es connecten cables de connexió des de la placa de connexió als pins adequats de l’Arduino (consulteu el pas 2 si teniu cap pregunta sobre les connexions que he fet servir).

Vaig preferir una pantalla LCD independent per a aquest projecte que un escut, ja que em resultava més satisfactori i em va permetre veure fàcilment quins pins estaven disponibles. També em permet utilitzar un potenciòmetre que té un pom, en lloc d’un potenciòmetre d’escut que s’ha d’ajustar amb un tornavís.

La pantalla LCD independent requereix l’ús d’un potenciòmetre separat de 10 k ohmis. Com es va assenyalar anteriorment, n'he utilitzat un amb un pom que té el netejador connectat al tercer pin LCD (comptant des de la dreta amb els pins LCD orientats cap a vosaltres). El potenciòmetre s’utilitza per controlar el contrast de la pantalla LCD. Les connexions són les mateixes per al 1602 i el 2004. Tot i això, cal canviar la declaració lcd.begin (16, 2) a l'esbós per lcd.begin (20, 4) per demostrar que la nostra pantalla LCD ha canviat de 16 visualització de caràcters per dues línies fins a 20 caràcters per quatre línies una.

Un cop d'ull a les fotografies adjuntes es mostra la connexió que he utilitzat, inclosa la plataforma experimental i el potenciòmetre de 10 k.

Pas 3: l’esbós

L’esbós
L’esbós
L’esbós
L’esbós
L’esbós
L’esbós

Només cal que introduïu l'esbós adjunt a l'IDE Arduino. Tingueu en compte que el lloc instructable sol eliminar tots els signes majors i menors que i el text entre ells. Per tant, assegureu-vos i incloeu el text, #include LiquidCrystal.h i inclogueu les paraules LiquidCrystal.h a l'interior de símbols superiors o inferiors.

// Esbós per desplaçar caràcters a una pantalla LCD

#include // Vegeu la nota al text sobre el que cal aquí, és a dir, LiquidCrystal.h inclòs dins

// més gran que i menys que símbols

// Aquest lloc sovint elimina més o menys que els símbols i el text entre ells

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

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

// Declareu lcd com a objecte LiquidCrystal

int i = 0;

int j = 0;

int k = 0;

int delayTime2 = 350; // Retard entre torns

void scrollInFromRight (int line, char str1 ) {

// Escrit per R. Jordan Kreindler el juny de 2016

i = strlen (str1);

per a (j = 16; j> = 0; j--) {

lcd.setCursor (0, línia);

per a (k = 0; k <= 15; k ++) {

lcd.print (""); // Esborra la línia

}

lcd.setCursor (j, línia);

lcd.print (str1);

demora (delayTime2);

}

}

void scrollInFromLeft (int line, char str1 ) {

// Escrit per R. Jordan Kreindler el juny de 2016

i = 40 - strlen (str1);

línia = línia - 1;

per a (j = i; j <= i + 16; j ++) {

per a (k = 0; k <= 15; k ++) {

lcd.print (""); // Esborra la línia

}

lcd.setCursor (j, línia);

lcd.print (str1);

endarreriment (delayTime2);

}

}

configuració nul·la () {

Serial.begin (9600);

Serial.println ("Inici de la prova …");

lcd.begin (16, 2);

lcd.clear ();

lcd.print ("Només prova");

}

bucle buit () {

lcd.clear ();

scrollInFromRight (0, "Línia1 des de la dreta");

scrollInFromRight (1, "Línia2 des de la dreta");

lcd.clear ();

scrollInFromLeft (0, "Línia1 des de l'esquerra");

scrollInFromLeft (1, "Línia2 des de l'esquerra");

lcd.clear ();

scrollInFromRight (0, "Línia1 des de la dreta");

scrollInFromLeft (1, "Línia2 des de l'esquerra");

lcd.clear ();

}

Les dues funcions: scrollInFromRight (línia on es mostra el text, cadena que es desplaça) i scrollInFromLeft (línia on es mostra el text, cadena que es pot desplaçar) es poden moure al croquis per controlar les línies que es desplacen a la pantalla LCD. Aquestes funcions proporcionen una manera elegant de moure text nou a la pantalla.

Quan es combinen amb les dues funcions de l'esbós contingut a l'instrumentable "Desplaceu-vos per una sola línia LCD cap a l'esquerra o cap a la dreta, Com fer", les quatre funcions ofereixen formes elegants de desplaçar text des d'una pantalla LCD o desapareixer-la. Aquestes funcions permeten desplaçar el text una línia a la vegada i no requereixen que es desplaci tota la pantalla, igual que les funcions, scrollDisplayLeft () i scrollDisplayRight ().

Aquesta capacitat de desplaçament ens permet presentar línies més llargues que la pantalla que normalment es pot mostrar. És a dir, per a una pantalla de 1602 no estem restringits a només 16 caràcters per línia (tot i que només es mostraran 16 alhora), i per a un 2004 no estem restringits a 20 caràcters per línia.

Com a part, és possible que vulgueu ajustar el temps de visualització entre els desplaçaments per tal que coincideixi amb les vostres necessitats.

Pas 4: després

Això és tot el que hi ha. Aquestes funcions i les dues del meu anterior instructable es poden afegir a qualsevol esbós que tingueu que utilitzi una pantalla LCD i mostri text. Com es va assenyalar, la possibilitat d'utilitzar línies més llargues és un avantatge definitiu que és possible mitjançant l'ús del desplaçament.

Si voleu contactar amb mi per qualsevol dubte o informació addicional o per ampliar els meus coneixements a l’àrea presentada, em pot contactar amb mi a [email protected]. (substituïu la segona "i" per una "e" per posar-vos en contacte amb mi.

Recomanat: