LCD-ekraan: kõik, mida peate teadma

LCD ekraan

A. LCD-ekraan võib olla lahendus nende projektide jaoks, mille puhul peate kuvama teavet, ilma et peaksite sõltuma pidevalt ühendatud arvutist. See tähendab, et Arduino / Raspberry Pi projektis saate jadapordi abil kuvada ekraanil kuvatavat teavet andurite näitude saamiseks, graafiku, kontode kuvamiseks jne. Kuid kui teie projekt töötab pidevalt või kaugel sellest, kus teil on arvuti, on teie päästmiseks LCD-ekraan.

Näiteks kujutage ette, et installite automaatse niisutussüsteemi ja soovite oma köögiviljaaeda või aeda minnes kontrollida niiskuse ja temperatuuri näitajaid. Arduino plaadi arvutiga ühendamiseks peab arvuti sinna viima, pole praktiline lahendus. Sellisel juhul saate oma koodi muuta nii, nagu öeldud teave kuvatakse LCD-ekraanil ja isegi lisage mõned klahvid või nupud, et oleks võimalik erinevat teavet näidata.

Mis on LCD-paneel?

Vedelkristallekraan või LCD (vedelkristallkuvar) See on omamoodi õhuke lameekraan, mis suudab pilte kuvada. Iga paneel koosneb teatud arvust värvilistest või ühevärvilistest pikslitest, mis on paigutatud valgusallika ette. Nende tarbimine on väike, mistõttu on need ideaalsed seda tüüpi DIY väikese võimsusega elektroonikaprojektide jaoks.

Iga piksel LCD-ekraanil koosneb molekulide kihist, mis on joondatud kahe läbipaistva elektroodi vahel, ja kahest polarisatsioonifiltrist. Vahel polariseerivad filtrid on vedelkristallekraan, sellest ka selle nimi ja see takistab esimest filtrit läbivat valgust teise poolt.

Samuti, kui olete märganud, kui puudutate ühte neist ekraanidest pilt on deformeerunud ja vajutamisel ilmub mingi must plekk, see on seetõttu, et te avaldate vedelkristallile survet ja seda pole soovitatav teha ... Võite lõpuks saada madalama kvaliteediga ekraanivärve, ebaühtlase valgustuse jaotuse või isegi surnud pikslid (mustad täpid või alad ekraanil, mis ei kao).

LCD-ekraanid Arduino ja Raspberry Pi jaoks

LCD-ekraan, näiteks elektroonika või Arduino jaoks olemas olevad moodulid, on tavaliselt mitu veergu tähtnumbriliste märkide või sümbolite kuvamiseks ja üks või kaks rida teabe kuvamiseks. See muudab nad palju huvitavamaks kui seitsmesegmendiline kuva, mis peaks ühendama mitu tihvti, et kuvada ainult ühte numbrit, sümbolit või tähte. Kui soovite rohkem näidata, peaksite paigutama mitu kuva.

Selle asemel saate ühe LCD-ekraaniga kuvada palju rohkem teavet. Kuid peate õigesti teadma seda tüüpi moodulite kinnitust, et neid korralikult ühendada. Ma soovitan teil alati näha tootja andmeleht ja konkreetne mudel mis teil on, kuna need võivad erineda.

Nt Selle saate osta Amazonist Adafruitist, mis on klaviatuuri seas üks populaarsemaid ja sisaldab võimalust kuvada mõlemas reas kuni 16 tähemärki. Ja seal on isegi 20 × 4 või midagi arenenumat jaMitmetolline värv keerukamate piltide kuvamiseks.

LCD-ekraani jaoks Adafruit 16 × 2 näete seda andmelehte...

Arduino jaoks võib-olla on lihtsam selline nagu parem 16x2 LCD ekraan ilma klaviatuurita. Kui vaatate seda tahvlit, on selle tagaküljel 16 tihvti. Kui võtate laua ja pöörate selle tagurpidi ja vaatate selle tihvte vasakult paremale, on teil pinout:

  • Pin 16: taustvalguse GND
  • Pin 15: taustvalgustuse Vcc
  • Pin 7-14: 8-bitine (järgmised 8 tihvti) ekraanil kuvatava teabe edastamiseks
  • Pin 6: sünkrooni lugemine ja kirjutamine
  • Pin 5. R / W (andmete ja käskude kirjutamine ja lugemine)
  • 4. tihvt: RS (käskude ja andmete vahel olev valija)
  • Pin 3: kontrastsuse juhtimine
  • Pin 2: Vcc 5v voolu jaoks
  • Pin 1: GND (0v) toide

Pidage meeles, et kui asetate selle õigesse asendisse, on tihvtid vastupidised ...

Integreerimine Arduinoga

16x2 LCD ühendusskeem Arduino Uno

et ühendage see arduinoga See pole liiga keeruline, ekraani võimsuse sisendpinge reguleerimiseks peaksite kaaluma ainult 220-oomise takisti lisamist ja ekraani kontrastsuse reguleerimiseks potentsiomeetrit. Seejärel ühendage kõik tihvtid Arduino tahvliga sobivalt ja olete valmis. Võite vaadata Fritzingi pilti ...

Nagu sa näed, potentsiomeeter on see, mille kaudu seda toidetakse reguleeritakse ka LCD-ekraani ja kontrasti. Seetõttu seotakse see nii ekraani GND kui ka Vcc, samuti taustvalguse juhtjoone ja kontrastsuse juhtimisega. Võib-olla on see kõige keerulisem, siis on tegemist ülejäänud tihvtide ühendamisega sisendite / väljunditega, mida kavatsete oma projektis kasutada.

Programmeerimine Arduino IDE-ga

Programmeerimiseks peate arvestama mõningate eripäradega, Pidage meeles, et peate mitte ainult teadma, kuidas andmeid saata, vaid ka neid teisaldada, hästi ekraanile panna jne. Samuti peaksite kasutama raamatukogu nimega LiquidCrystal.h, kui teie LCD-ekraanil on ühilduv Hitachi HD44780 kiibistik. Siin on koodinäide:

#include <LiquidCrystal.h>

// Definimos las constantes
#define COLS 16 // Aqui va el num de columnas del LCD, 16 en nuestro caso
#define ROWS 2 // Aqui las filas x2
#define VELOCIDAD 200 // Velocidad a la que se movera el texto

// Indicamos los pines de la interfaz donde hayas conectado el LCD
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

// Para el texto que se muestra
String texto_fila = "Ejemplo LCD";

void setup() {
  // Configura el monitor serie
  Serial.begin(9600);

  // Configurde filas y columnas
  lcd.begin(COLS, ROWS);
}

void loop() {

  // Tamaño del texto a mostrar
  int tam_texto=texto_fila.length();

  // Indicamos que la entrada de texto se hace por la izquierda
  for(int i=tam_texto; i>0 ; i--)
  {
    String texto = texto_fila.substring(i-1);

    // Limpia la pantalla para poder mostrar informacion diferente
    lcd.clear();

    //Situar el cursor en el lugar adecuado, en este caso al inicio
    lcd.setCursor(0, 0);

    // Escribimos el texto "Ejemplo LCD"
    lcd.print(texto);

    // Esperara la cantidad de milisegundos especificada, en este caso 200
    delay(VELOCIDAD);
  }

  // Desplazar el texto a la izquierda en primera fila
  for(int i=1; i<=16;i++) { 
    lcd.clear();
    lcd.setCursor(i, 0); 
    lcd.print(texto_fila); 
    delay(VELOCIDAD); } 
  // Desplazar el texto a izquierda en la segunda fila 
    for(int i=16;i>=1;i--)
  {
    lcd.clear();
    lcd.setCursor(i, 1);
    lcd.print(texto_fila);
    delay(VELOCIDAD);
  }
  for(int i=1; i<=tam_texto ; i++)
  {
    String texto = texto_fila.substring(i-1);
    lcd.clear();
    lcd.setCursor(0, 1);
    lcd.print(texto);
    delay(VELOCIDAD);
  }
}

Rohkem informatsiooni - Arduino programmeerimisjuhend (tasuta PDF)


Ole esimene kommentaar

Jäta oma kommentaar

Sinu e-postiaadressi ei avaldata. Kohustuslikud väljad on tähistatud *

*

*

  1. Andmete eest vastutab: Miguel Ángel Gatón
  2. Andmete eesmärk: Rämpsposti kontrollimine, kommentaaride haldamine.
  3. Seadustamine: teie nõusolek
  4. Andmete edastamine: andmeid ei edastata kolmandatele isikutele, välja arvatud juriidilise kohustuse alusel.
  5. Andmete salvestamine: andmebaas, mida haldab Occentus Networks (EL)
  6. Õigused: igal ajal saate oma teavet piirata, taastada ja kustutada.