LCD-näyttö: kaikki mitä sinun tarvitsee tietää

LCD-näyttö

Una LCD-näyttö voi olla ratkaisu niille projekteille, joissa sinun on näytettävä tietoja tarvitsematta olla riippuvainen jatkuvasti liitetystä tietokoneesta. Toisin sanoen Arduino / Raspberry Pi -projektissa voit käyttää sarjaporttia lähettämään näytöllä näkyviä tietoja anturilukemien saamiseksi, kaavion, tilien jne. Näyttämiseksi. Mutta jos projektisi on jatkuvasti käynnissä tai kaukana tietokoneesta, LCD-näyttö on pelastuksesi.

Kuvittele esimerkiksi, että asennat automaattisen kastelujärjestelmän ja haluat tarkistaa kosteus- ja lämpötilalukemat käydessäsi kasvipuutarhassasi tai puutarhassasi. Tietokoneen vieminen sinne Arduino-kortin liittämiseksi tietokoneeseen ei ole käytännöllinen ratkaisu. Tässä tapauksessa voit muokata koodiasi niin sanotulla tavalla tiedot näkyvät LCD-näytöllä ja jopa lisätä joitain näppäimiä tai painikkeita erilaisten tietojen näyttämiseksi.

Mikä on LCD-paneeli?

Nestekidenäyttö tai LCD (nestekidenäyttö) Se on eräänlainen ohut, litteä paneeli, joka voi näyttää kuvia. Jokainen paneeli koostuu tietystä määrästä värillisiä tai yksivärisiä pikseleitä, jotka on sijoitettu valonlähteen eteen. Niiden kulutus on pieni, minkä vuoksi ne ovat ihanteellisia tämän tyyppisiin DIY-pienitehoisiin elektroniikkaprojekteihin.

Jokainen LCD-näytön pikseli koostuu molekyylikerroksesta, joka on kohdistettu kahden läpinäkyvän elektrodin väliin, ja kahdesta polarisointisuodattimesta. Välillä polarisoivat suodattimet on nestekidenäyttö, tästä johtuen sen nimi, ja estää ensimmäisen suodattimen läpi kulkevan valon estävän toisen.

Jos olet huomannut, kun kosketat yhtä näistä näytöistä kuva on epämuodostunut ja painettaessa näkyy eräänlainen musta tahra, koska painat nestekidenäyttöä, eikä sitä ole suositeltavaa tehdä niin. Näytön värit saattavat heikentyä, valaistus jakautuu epätasaisesti. tai jopa kuolleita pikseleitä (mustia pisteitä tai ruudun alueita, jotka eivät mene pois).

LCD-näytöt Arduinolle ja Raspberry Pi: lle

LCD-näyttö, kuten elektroniikkaa tai Arduinoa varten olemassa olevat moduulit, on tyypillisesti useita sarakkeita aakkosnumeeristen merkkien tai symbolien näyttämiseksi ja yksi tai kaksi riviä tietojen näyttämiseksi. Se tekee niistä paljon mielenkiintoisempia kuin seitsemän segmentin näyttö, jonka on liitettävä useita nastoja, jotta vain yksi numero, symboli tai kirjain voidaan näyttää. Jos haluat näyttää enemmän, sijoita useita näyttöjä.

Sen sijaan yhdellä LCD-näytöllä voit näyttää paljon enemmän tietoa. Mutta sinun on tiedettävä tämän tyyppisten moduulien pinout, jotta voit liittää ne oikein. Suosittelen, että näet aina valmistajan tietolomake ja tietty malli sinulla on, koska ne voivat vaihdella.

Esimerkiksi Voit ostaa tämän Adafruitista Amazonista, joka on yksi suosituimmista näppäimistön kanssa ja sisältää mahdollisuuden näyttää enintään 16 merkkiä kummallakin rivillä. Ja siellä on jopa 20 × 4, tai jotain edistyneempää jaUsean tuuman väri näyttää monimutkaisemmat kuvat.

LCD-näytölle Adafruit 16 × 2 näet tämän tietolomakkeen...

Arduinolle ehkä yksinkertaisempi kuin se on parempi 16x2 LCD-näyttö ilman näppäimistöä. Jos katsot tätä levyä, sen takana on 16 nastaa. Jos otat laudan ja käännät sen ylösalaisin ja katsot sen nastoja vasemmalta oikealle, sinulla on pinout:

  • Tappi 16: GND taustavalolle
  • Tappi 15: Vcc taustavalolle
  • Tappi 7-14: 8-bittinen (seuraavat 8 nastaa) lähettämään näytöllä näytettävät tiedot
  • Pin 6: luku ja kirjoitus synkronointi
  • Tappi 5. R / W (kirjoita ja lue tietoja ja komentoja)
  • Nasta 4: RS (valitsin komentojen ja tietojen välillä)
  • Tappi 3: kontrastin säätö
  • Tappi 2: 5 Vcc: n teho
  • Tappi 1: GND (0v) virtaa varten

Muista, että kun asetat sen oikeaan asentoon, nastat ovat päinvastaiset ...

Integrointi Arduinon kanssa

16x2 LCD-liitäntäkaavio Arduino Uno

että Liitä se arduinoon Se ei ole liian monimutkainen, sinun on vain harkittava 220 ohmin vastuksen sisällyttämistä näytön tehon syöttöjännitteen säätämiseen ja potentiometriä näytön kontrastin säätämiseen. Liitä sitten kaikki nastat Arduino-korttiin asianmukaisesti ja olet valmis. Voit katsoa kuvaa Fritzing ...

Kuten näet, potentiometri tulee olemaan, jonka kautta se syötetään myös LCD-näyttö ja kontrasti säädetään. Siksi se kytketään sekä näytön GND- ja Vcc-arvoihin että taustavalon ohjausjohtoon ja kontrastisäätöön. Ehkä se on monimutkaisinta, sitten kyse on jäljellä olevien nastojen liittämisestä tuloihin / lähtöihin, joita aiot käyttää projektissasi.

Ohjelmointi Arduino IDE: llä

Ohjelmointia varten sinun on otettava huomioon joitain erityispiirteitä, Muista, että sinun ei tarvitse vain osata lähettää tietoja, vaan myös siirtää niitä, sijoittaa ne hyvin näytölle jne. Ja sinun tulisi käyttää myös kirjastoa nimeltä LiquidCrystal.h, kunhan nestekidenäytölläsi on yhteensopiva Hitachi HD44780 -piirisarja. Sinulla on tässä esimerkki koodista:

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

Lisää tietoa - Arduino-ohjelmointikäsikirja (ilmainen PDF)


Ole ensimmäinen kommentti

Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

*

*

  1. Vastuussa tiedoista: Miguel Ángel Gatón
  2. Tietojen tarkoitus: Roskapostin hallinta, kommenttien hallinta.
  3. Laillistaminen: Suostumuksesi
  4. Tietojen välittäminen: Tietoja ei luovuteta kolmansille osapuolille muutoin kuin lain nojalla.
  5. Tietojen varastointi: Occentus Networks (EU) isännöi tietokantaa
  6. Oikeudet: Voit milloin tahansa rajoittaa, palauttaa ja poistaa tietojasi.