INHOUDSOPGAWE:

Rol enkele LCD -lyn: 4 stappe (met foto's)
Rol enkele LCD -lyn: 4 stappe (met foto's)

Video: Rol enkele LCD -lyn: 4 stappe (met foto's)

Video: Rol enkele LCD -lyn: 4 stappe (met foto's)
Video: Памяти Андрея Зяблых. Холангиокарцинома 4 стадии 2024, November
Anonim
Image
Image

Die Liquid Crystal -biblioteek het twee nuttige funksies scrollDisplayLeft () en scrollDisplayRight (). Hierdie funksies blaai deur die hele skerm. Dit wil sê, hulle blaai beide lyne op 'n 1602 LCD en al vier reëls op 'n 2004 LCD. Wat ons gereeld nodig het, is die vermoë om 'n enkele reël na hierdie skerms te blaai eerder as om deur die hele skerm te blaai.

Hierdie Instructable bied twee bykomende funksies, scrollInFromRight (reël om teks te vertoon, string om te blaai) en scrollInFromLeft (reël om teks te vertoon, string om te blaai). Hierdie twee funksies waarmee lyne na die LCD -skerm gekombineer word, gekombineer met die twee funksies, scrollLineRight (reël om teks te vertoon, tou om te blaai) en scrollLineLeft (reël om teks te vertoon, tou om te blaai) uit my vorige Instructable, wat aangebied het funksies om lyne van die skerm af te blaai, bied ons verskeie kragtige maniere om te beheer hoe teks op 'n LCD -skerm voorgestel of verwyder kan word.

Stap 1: Wat is nodig

Aansluiting
Aansluiting

- 'n Onafhanklike LCD -skerm van 1602 of 2004, of 'n LCD -skerm

- Sien die aantekening hieronder oor die gebruik van 'n 2004 LCD-skerm

- 'n Arduino UNO R3 of kloon

- 'n USB -kabel om die Arduino aan 'n rekenaar te koppel

- 'n Halwe grootte, 400 bindpunte, broodbord

- Die Arduino IDE

- 'n Eksperimentele platform (opsioneel, maar nuttig)

Die benodigde items is 'n LCD -skerm, óf 1602 óf 2004 [as 'n 2004 gebruik word, sal dit sonder probleme werk om van regs te blaai deur die lcd.begin () -funksie te verander om aan te dui dat u nou 'n lyn van 20 tekens x 4 gebruik vertoon. [Om van links met 'n 2004 -skerm in te blaai, is 'n kodeherskrywing van die funksie s crollInFromLeft () nodig]. Benewens 'n LCD, benodig u 'n Arduino UNO of kloon, die Arduino IDE en 'n USB -kabel om die Arduino aan 'n rekenaar te koppel.

'N LCD -skerm kan gebruik word in plaas van die selfstandige LCD wat hier getoon word. As dit die geval is, moet die pen -toewysings vir die LCD in die onderstaande skets verander word.

- Vir die onafhanklike 1602 LCD -skerm het ek die volgende penopdragte in my sketse gebruik:

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

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

en het die Liquid Crystal -biblioteek LiquidCrystal.h ingesluit.

- Vir die LCD -skild gebruik ek die volgende penopdragte in my sketse, en ek bevat ook die Liquid Crystal -biblioteek LiquidCrystal.h.

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

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

Elke roete sal die kode hier gebruik, dit wil sê 'n LCD -skild of 'n selfstandige LCD. 'N Onafhanklike LCD -skerm van 1602 is in hierdie instruksies gebruik, maar soos opgemerk, kan 'n 1602 -skild ook gebruik word as die verskillende penopdragte in ag geneem word.

Ek het 'n 'eksperimentele platform' gebruik om die Arduino UNO aan 'n halfgrootte, 400 bindpunte, broodbord te koppel. (Sien 'n vorige instruksie van my, "Eksperimentele platform vir die Arduino UNO R3, hoe om dit voor te berei vir gebruik"). 'N Eksperimentele platform is egter nie nodig nie, hoewel dit vir my makliker en vinniger die aansluiting van die LCD op die UNO maak.

Die opdragte wat ek gebruik het om die LCD met die UNO aan te sluit, kan hierbo gesien word.

Stap 2: Aansluiting

Die LCD word ingeprop in 'n broodbord en dan word aansluitdrade van die broodbord gekoppel aan die toepaslike penne op die Arduino (sien stap 2 as u enige vrae het oor die verbindings wat ek gebruik het).

Ek verkies 'n selfstandige LCD vir hierdie projek eerder as 'n skild, aangesien dit vir my meer bevredigend was en my maklik kon sien watter penne beskikbaar was. Dit laat my ook toe om 'n potensiometer met 'n knop te gebruik, eerder as 'n skildpotentiometer wat met 'n skroewedraaier verstel moet word.

Die selfstandige LCD vereis die gebruik van 'n aparte 10k ohm potensiometer. Soos hierbo opgemerk, het ek een met 'n knop gebruik waarmee die ruitveër gekoppel is aan die derde LCD -pen (tel van regs met die LCD -penne na u toe). Die potensiometer word gebruik om die kontras van die LCD te beheer. Die verbindings is dieselfde vir die 1602 en die 2004. Die stelling lcd.begin (16, 2) moet egter in die skets verander word na lcd.begin (20, 4) om aan te toon dat ons LCD van 16 verander het teken met twee reëls vertoon tot 'n 20 karakter by vier reël een.

'N Kykie na die aangehegte foto's toon die aansluiting wat ek gebruik het, insluitend die eksperimentele platform en die 10k potensiometer.

Stap 3: Die skets

Die Skets
Die Skets
Die Skets
Die Skets
Die Skets
Die Skets

Tik net die aangehegte skets in die Arduino IDE. Hou in gedagte dat die Instructable -webwerf gereeld alle tekens wat groter is as die tekens en die teks tussen hulle, verwyder. Maak dus seker dat u die teks insluit, #include LiquidCrystal.h en sluit die woorde LiquidCrystal.h in binne groter as en kleiner as simbole.

// Skets om karakters na 'n LCD -skerm te blaai

#include // Sien opmerking in die teks oor wat hier nodig is, dit wil sê LiquidCrystal.h omhul binne

// groter as en minder as simbole

// Hierdie webwerf verwyder dikwels groter as en minder as simbole en die teks tussen hulle

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

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

// Verklaar lcd as 'n LiquidCrystal -voorwerp

int i = 0;

int j = 0;

int k = 0;

int delayTime2 = 350; // Vertraging tussen skofte

void scrollInFromRight (int line, char str1 ) {

// Geskryf deur R. Jordan Kreindler Junie 2016

i = strlen (str1);

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

lcd.setCursor (0, reël);

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

lcd.print (""); // Duidelike lyn

}

lcd.setCursor (j, reël);

lcd.print (str1);

vertraging (delayTime2);

}

}

void scrollInFromLeft (int line, char str1 ) {

// Geskryf deur R. Jordan Kreindler Junie 2016

i = 40 - strlen (str1);

reël = reël - 1;

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

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

lcd.print (""); // Duidelike lyn

}

lcd.setCursor (j, reël);

lcd.print (str1);

vertraging (delayTime2);

}

}

ongeldige opstelling () {

Serial.begin (9600);

Serial.println ("Begin toets …");

lcd.begin (16, 2);

lcd.clear ();

lcd.print ("slegs toets");

}

leemte -lus () {

lcd.clear ();

scrollInFromRight (0, "Reël1 van regs");

scrollInFromRight (1, "Line2 From Right");

lcd.clear ();

scrollInFromLeft (0, "Reël1 van links.");

scrollInFromLeft (1, "Reël2 van links.");

lcd.clear ();

scrollInFromRight (0, "Reël1 van regs");

scrollInFromLeft (1, "Reël2 van links.");

lcd.clear ();

}

Die twee funksies: scrollInFromRight (reël om teks op te wys, string om te blaai) en scrollInFromLeft (reël om teks op te wys, string om te blaai) kan in u skets ingeskuif word om die lyne wat op die LCD -skerm rol, te beheer. Hierdie funksies bied 'n elegante manier om nuwe teks na die skerm te skuif.

In kombinasie met die twee funksies in die skets in die instruksionele 'Rol 'n enkele LCD -lyn na links of regs, hoe om', bied die vier funksies elegante maniere om teks na en van 'n LCD -skerm te blaai. Met hierdie funksies kan u een reël op 'n slag deur die teks blaai, en u hoef nie deur die hele skerm te blaai nie, net soos die funksies, scrollDisplayLeft () en scrollDisplayRight ().

Hierdie rolvermoë stel ons in staat om reëls langer aan te bied wat die skerm normaalweg kan vertoon. Dit wil sê, vir 'n 1602 -skerm is ons nie beperk tot slegs 16 karakters per reël nie (hoewel slegs 16 op 'n slag sal verskyn), en vir 'n 2004 is ons nie beperk tot 20 karakters per reël nie.

Ter syde, kan u die vertoontyd tussen die rolle aanpas om aan u behoeftes te voldoen.

Stap 4: Daarna

Dit is al wat daarby is. Hierdie funksies en die twee van my vorige Instructable kan bygevoeg word by enige skets wat u met 'n LCD gebruik en teks vertoon. Soos opgemerk, is die vermoë om langer lyne te gebruik 'n besliste voordeel wat moontlik is deur te blaai.

As u my wil kontak met enige vrae of vir meer inligting, of om my kennis uit te brei op die gebied wat ek aanbied, kan u my bereik by [email protected]. (vervang die tweede 'i' met 'n 'e' om my te kontak.

Aanbeveel: