LCD ekranas: viskas, ką reikia žinoti

LCD ekranas

A Skystųjų kristalų ekranas gali būti sprendimas tiems projektams, kuriuose reikia rodyti informaciją, nepriklausant nuo nuolat prijungto kompiuterio. Tai yra, „Arduino“ / „Raspberry Pi“ projekte galite naudoti nuoseklųjį prievadą informacijai, kuri rodoma ekrane, perduoti, kad gautumėte jutiklio rodmenis, rodytumėte diagramą, sąskaitas ir kt. Bet jei jūsų projektas nuolat vykdomas arba toli nuo to, kur galite turėti kompiuterį, LCD ekranas yra jūsų išgelbėjimas.

Pavyzdžiui, įsivaizduokite, kad įdiegėte automatinę laistymo sistemą ir norėtumėte patikrinti drėgmės ir temperatūros rodmenis eidami į savo daržovių sodą ar sodą. Nešti ten kompiuterį, kad „Arduino“ plokštė būtų prijungta prie kompiuterio, nėra praktiškas sprendimas. Tokiu atveju galite pakeisti savo kodą taip, kaip pasakyta informacija rodoma LCD ekrane ir netgi pridėkite keletą klavišų ar mygtukų, kad galėtumėte parodyti skirtingą informaciją.

Kas yra LCD ekranas?

Skystųjų kristalų ekranas arba LCD (skystųjų kristalų ekranas) Tai yra plonas, plokščias skydelis, galintis rodyti vaizdus. Kiekvieną skydą sudaro tam tikras spalvų arba vienspalvių taškų skaičius, išdėstytas priešais šviesos šaltinį. Jų suvartojimas yra mažas, todėl jie idealiai tinka tokio tipo „pasidaryk pats“ mažos galios elektronikos projektams.

Kiekvieną LCD ekrano pikselį sudaro molekulių sluoksnis, sulygintas tarp dviejų skaidrių elektrodų, ir du poliarizacijos filtrai. Tarp poliarizuojantys filtrai yra skystųjų kristalų ekranas, todėl jo pavadinimas ir neleidžia šviesai, praeinančiai per pirmąjį filtrą, užblokuoti antrasis.

Be to, jei pastebėjote, kai paliesite vieną iš šių ekranų vaizdas deformuojamas ir spaudžiant atsiranda tam tikra juoda dėmė, tai yra todėl, kad jūs darote spaudimą skystiesiems kristalams ir to daryti nepatartina ... Gali atsirasti prastesnės kokybės ekrano spalvos, netolygus apšvietimo pasiskirstymas ar net negyvi pikseliai (juodos dėmės ar sritis ekrane, kurios neišnyksta).

Skystųjų kristalų ekranai, skirti „Arduino“ ir „Raspberry Pi“

LCD ekranas, pvz elektronikos ar „Arduino“ moduliai, paprastai turi kelis stulpelius, kad būtų rodomi raidiniai ir skaitiniai simboliai arba simboliai, ir vieną ar dvi eilutes, kad būtų rodoma informacija. Tai daro juos daug įdomesnius nei septynių segmentų ekranas, kuris turėtų sujungti kelis kaiščius, kad būtų galima rodyti tik vieną skaičių, simbolį ar raidę. Jei norite parodyti daugiau, turėtumėte įdėti kelis ekranus.

Vietoj to, turėdami vieną LCD ekraną, galite rodyti daug daugiau informacijos. Bet jūs turite gerai žinoti tokio tipo modulių kištuką, kad juos tinkamai sujungtumėte. Aš rekomenduoju jums visada pamatyti gamintojo duomenų lapas ir konkretus modelis kad turite, nes jie gali skirtis.

Pavyzdžiui, Šį galite nusipirkti iš „Adafruit“ „Amazon“, kuri yra viena populiariausių su klaviatūra ir kurioje kiekvienoje iš dviejų eilučių galima rodyti iki 16 simbolių. Ir yra net 20 × 4, arba kažkas pažangesnio irKelių colių spalvos, kad būtų rodomi sudėtingesni vaizdai.

Skystųjų kristalų ekranui „Adafruit 16 × 2“ galite pamatyti šį duomenų lapą...

Arduino gal paprastesnis, toks, koks yra, yra geresnis 16x2 LCD ekranas be klaviatūros. Jei pažvelgsite į šią lentą, jos gale yra 16 kaiščių. Jei paimsite lentą ir apversite ją aukštyn kojomis ir pažvelgsite į jos kaiščius iš kairės į dešinę, turite pinout:

  • 16 kaištis: GND apšvietimui
  • 15 kaištis: „Vcc“ apšvietimui
  • 7–14 kaiščiai: 8 bitų (kiti 8 kontaktai) perduoti ekrane rodomą informaciją
  • 6 kaištis: skaitymo ir rašymo sinchronizavimas
  • 5 kontaktas. R / W (rašyti ir skaityti duomenims ir komandoms)
  • 4 kaištis: RS (parinkiklis tarp komandų ir duomenų)
  • 3 kaištis: kontrasto valdymas
  • 2 kaištis: 5 Vcc galia
  • 1 kaištis: GND (0v) galiai

Atminkite, kad kai jį pastatysite teisingoje padėtyje, kaiščiai bus pakeisti.

Integracija su „Arduino“

16x2 LCD jungties schema į Arduino Uno

į prijunkite jį prie „arduino“ Tai nėra labai sudėtinga, tiesiog reikia apsvarstyti galimybę įtraukti 220 omų varžą, kad būtų galima reguliuoti ekrano galios įėjimo įtampą, ir potenciometrą, kad būtų galima reguliuoti ekrano kontrastą. Tada tinkamai prijunkite kiekvieną kaištį prie „Arduino“ plokštės ir viskas. Galite pažvelgti į Fritzing vaizdą ...

Kaip matai, bus potenciometras, per kurį jis bus tiekiamas taip pat bus sureguliuotas LCD ekranas ir kontrastas. Todėl jis bus susietas su ekrano GND ir Vcc, taip pat su apšvietimo valdymo linija ir kontrasto valdymu. Galbūt tai yra sudėtingiausia, tada reikia prijungti likusius kaiščius prie įvesties / išvesties, kurią ketinate naudoti savo projekte.

Programavimas naudojant „Arduino IDE“

Programavimui turite atsižvelgti į kai kuriuos ypatumus, Atminkite, kad turite ne tik mokėti siųsti duomenis, bet ir juos perkelti, gerai patalpinti ekrane ir pan. Taip pat turėtumėte naudotis biblioteka, vadinama Skystųjų kristalų.h, jei jūsų LCD ekrane yra suderinamas „Hitachi HD44780“ lustų rinkinys. Čia yra kodo pavyzdys:

#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);
  }
}

Daugiau informacijos - „Arduino“ programavimo vadovas (nemokamas PDF)


Būkite pirmas, kuris pakomentuos

Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Atsakingas už duomenis: Miguel Ángel Gatón
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.