Inhoudsopgave:

Scroll enkele LCD-lijn - Ajarnpa
Scroll enkele LCD-lijn - Ajarnpa

Video: Scroll enkele LCD-lijn - Ajarnpa

Video: Scroll enkele LCD-lijn - Ajarnpa
Video: Sonoff NSPanel - интерактивная панель для управления умным домом 2024, November
Anonim
Image
Image

De Liquid Crystal Library heeft twee handige functies scrollDisplayLeft() en scrollDisplayRight(). Deze functies scrollen door het hele display. Dat wil zeggen, ze scrollen beide regels op een LCD-scherm uit 1602 en alle vier de regels op een LCD-scherm uit 2004. Wat we vaak nodig hebben, is de mogelijkheid om een enkele regel op deze schermen te scrollen in plaats van over het hele scherm te scrollen.

Dit Instructable biedt twee extra functies, scrollInFromRight (regel om tekst weer te geven, string om te scrollen) en scrollInFromLeft (regel om tekst weer te geven, string om te scrollen). Deze twee functies die lijnen naar het LCD-scherm scrollen, gecombineerd met de twee functies, scrollLineRight (regel om tekst weer te geven, string om te scrollen) en scrollLineLeft (regel om tekst weer te geven, string om te scrollen) van mijn eerdere Instructable, die gepresenteerd functies om lijnen van het scherm af te schuiven, geeft ons verschillende krachtige manieren om te bepalen hoe tekst kan worden weergegeven op of verwijderd van een LCD-scherm.

Stap 1: Wat is nodig?

Aansluiting
Aansluiting

- Een standalone LCD-scherm uit 1602 of 2004 of LCD-scherm

-- Zie onderstaande opmerking over het gebruik van een LCD-scherm uit 2004

- Een Arduino UNO R3 of kloon

- Een USB-kabel om de Arduino op een computer aan te sluiten

- Een halve maat, 400 bindpunten, breadboard

- De Arduino IDE

- Een experimenteel platform (optioneel, maar nuttig)

De vereiste items zijn een LCD-scherm 1602 of 2004 [als een 2004 wordt gebruikt, werkt het zonder problemen om vanaf rechts te scrollen door de lcd.begin()-functie te wijzigen om aan te geven dat u nu een regel van 20 tekens x 4 gebruikt Scherm. [Om van links naar binnen te scrollen met behulp van een 2004-display, is een herschrijving van de code van de functie s crollInFromLeft() nodig]. Naast een LCD heb je een Arduino UNO of kloon, de Arduino IDE en een USB-kabel nodig om de Arduino op een computer aan te sluiten.

In plaats van het hier getoonde stand-alone LCD-scherm kan een LCD-scherm worden gebruikt. Als dat het geval is, moeten de pintoewijzingen voor het LCD-scherm in de onderstaande schets worden gewijzigd.

- Voor het onafhankelijke 1602 LCD-scherm heb ik de volgende pintoewijzingen gebruikt in mijn schetsen:

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

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

en omvatte de Liquid Crystal-bibliotheek LiquidCrystal.h.

- Voor het LCD-schild gebruik ik de volgende pintoewijzingen in mijn schetsen en heb ik ook de Liquid Crystal-bibliotheek LiquidCrystal.h opgenomen.

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

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

Beide routes voeren de code hier uit, d.w.z. een LCD-schild of een stand-alone LCD. Een 1602 standalone LCD-scherm werd gebruikt in deze Instructable, maar zoals opgemerkt kan een 1602 schild ook worden gebruikt als rekening wordt gehouden met de verschillende pintoewijzingen.

Ik gebruikte een "experimenteel platform" om de Arduino UNO aan te sluiten op een half-size, 400 verbindingspunten, breadboard. (Zie een eerdere Instructable van mij, "Experimenteel platform voor de Arduino UNO R3, hoe het klaar te maken voor gebruik"). Een experimenteel platform is echter niet nodig, hoewel het voor mij het aansluiten van het LCD-scherm op de UNO veel gemakkelijker en sneller maakt.

De opdrachten die ik heb gebruikt om het LCD-scherm op de UNO aan te sluiten, zie je hierboven.

Stap 2: Aansluiten

Het LCD-scherm is aangesloten op een breadboard en vervolgens worden de aansluitdraden van het breadboard aangesloten op de juiste pinnen op de Arduino (zie stap 2 als je vragen hebt over de verbindingen die ik heb gebruikt).

Ik gaf de voorkeur aan een op zichzelf staand LCD-scherm voor dit project in plaats van een schild, omdat het voor mij meer voldoening gaf en ik gemakkelijk kon zien welke pinnen beschikbaar waren. Het stelt me ook in staat om een potentiometer te gebruiken die een knop heeft, in plaats van een potentiometer van een schild die met een schroevendraaier moet worden afgesteld.

De standalone LCD vereist het gebruik van een aparte 10k ohm potentiometer. Zoals hierboven vermeld, heb ik er een gebruikt met een knop waarvan de wisser is aangesloten op de derde LCD-pin (van rechts geteld met de LCD-pinnen naar je toe). De potentiometer wordt gebruikt om het contrast van het LCD-scherm te regelen. De aansluitingen zijn hetzelfde voor de 1602 en de 2004. De instructie lcd.begin(16, 2) moet echter in de schets worden gewijzigd in lcd.begin(20, 4) om te laten zien dat ons LCD-scherm is veranderd van een 16 karakter door twee regels weer te geven naar een 20 karakter door vier regel één.

Een blik op de bijgevoegde foto's toont de aansluiting die ik heb gebruikt, inclusief het experimentele platform en de 10k-potentiometer.

Stap 3: De schets

de schets
de schets
de schets
de schets
de schets
de schets

Voer gewoon de bijgevoegde schets in de Arduino IDE in. Houd er rekening mee dat de Instructable-site vaak alle groter dan en kleiner dan tekens en de tekst ertussen verwijdert. Zorg er dus voor dat u de tekst #include LiquidCrystal.h opneemt en de woorden LiquidCrystal.h tussen groter dan en kleiner dan symbolen plaatst.

// Schets om tekens op een LCD-scherm te scrollen

#include //Zie de opmerking in de tekst over wat hier nodig is, d.w.z. LiquidCrystal.h binnenin ingesloten

// groter dan en kleiner dan symbolen

// Deze site verwijdert vaak groter dan en kleiner dan symbolen en de tekst ertussen

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

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

// Declareer lcd als een LiquidCrystal-object

int ik = 0;

intj = 0;

intk = 0;

int vertragingstijd2 = 350; // Vertraging tussen diensten

void scrollInFromRight (int regel, char str1) {

// Geschreven door R. Jordan Kreindler juni 2016

ik = strlen(str1);

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

lcd.setCursor(0, regel);

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

lcd.print(" "); // Duidelijke lijn

}

lcd.setCursor(j, regel);

lcd.print(str1);

vertraging (vertragingstijd2);

}

}

void scrollInFromLeft (int regel, char str1) {

// Geschreven door R. Jordan Kreindler juni 2016

ik = 40 - strlen(str1);

lijn = lijn - 1;

voor (j = ik; j <= ik + 16; j++) {

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

lcd.print(" "); // Duidelijke lijn

}

lcd.setCursor(j, regel);

lcd.print(str1);

vertraging (vertragingstijd2);

}

}

ongeldige setup() {

Serieel.begin(9600);

Serial.println("Begin test …");

lcd.begin (16, 2);

lcd.wissen();

lcd.print("Alleen Test");

}

lege lus() {

lcd.wissen();

scrollInFromRight(0, "Lijn1 Van Rechts");

scrollInFromRight(1, "Lijn2 Van Rechts");

lcd.wissen();

scrollInFromLeft(0, "Lijn1 Van Links.");

scrollInFromLeft(1, "Lijn2 Van Links.");

lcd.wissen();

scrollInFromRight(0, "Lijn1 Van Rechts");

scrollInFromLeft(1, "Lijn2 Van Links.");

lcd.wissen();

}

De twee functies: scrollInFromRight (regel om tekst weer te geven, string om te scrollen) en scrollInFromLeft (regel om tekst weer te geven, string om te scrollen) kunnen in uw schets worden verplaatst om de regels te regelen die op het LCD-scherm worden gescrolld. Deze functies bieden een elegante manier om nieuwe tekst naar het scherm te verplaatsen.

In combinatie met de twee functies in de schets in de Instructable "Scroll een enkele LCD-regel naar links of rechts, How to" bieden de vier functies elegante manieren om tekst op en van een LCD-scherm te schuiven. Met deze functies kunt u regel voor regel door tekst bladeren en hoeft niet over het hele scherm te worden gebladerd, zoals bij de functies scrollDisplayLeft() en scrollDisplayRight().

Dit scrollvermogen stelt ons in staat om lijnen langer weer te geven dan het scherm normaal gesproken kan weergeven. Dat wil zeggen, voor een display van 1602 zijn we niet beperkt tot slechts 16 tekens per regel (hoewel er slechts 16 tegelijk worden weergegeven), en voor een 2004 zijn we niet beperkt tot 20 tekens per regel.

Even terzijde, misschien wilt u de weergavetijd tussen scrollen aanpassen aan uw behoeften.

Stap 4: Daarna

Dat is alles. Deze functies en de twee van mijn vorige Instructable kunnen worden toegevoegd aan elke schets die je hebt die een LCD gebruikt en tekst weergeeft. Zoals opgemerkt, is de mogelijkheid om langere regels te gebruiken een duidelijk voordeel dat mogelijk is door het gebruik van scrollen.

Als u contact met mij wilt opnemen met vragen of voor aanvullende informatie, of om mijn kennis op het gepresenteerde gebied uit te breiden, ben ik bereikbaar via [email protected]. (vervang de tweede 'i' door een 'e' om contact met mij op te nemen.

Aanbevolen: