LCD képernyő: minden, amit tudnia kell

LCD képernyő

egy Az LCD képernyő megoldás lehet azokhoz a projektekhez, amelyekben információkat kell megjelenítenie anélkül, hogy folyamatosan függő számítógéptől kellene függenie. Vagyis egy Arduino / Raspberry Pi projektben a soros port segítségével továbbíthatja a képernyőn megjelenő információkat az érzékelők leolvasásához, grafikon, számlák stb. De ha a projektje folyamatosan fut, vagy messze van attól, ahol számítógépe van, akkor az LCD képernyő az Ön üdvössége.

Képzelje el például, hogy telepít egy automatizált öntözőrendszert, és ellenőrizni szeretné a páratartalom és a hőmérsékleti értékeket, amikor a kertjébe vagy kertjébe megy. Nem praktikus megoldás, hogy oda kell vinni a számítógépet az Arduino kártya PC-hez való csatlakoztatásához. Ebben az esetben módosíthatja a kódot úgy, ahogy mondták információ jelenik meg az LCD képernyőn és még adjon hozzá néhány gombot vagy gombot, hogy különböző információkat jelenítsen meg.

Mi az LCD panel?

Folyadékkristályos kijelző vagy LCD (folyadékkristályos kijelző) Ez egyfajta vékony, lapos panel, amely képes megjeleníteni a képeket. Minden panel bizonyos számú színes vagy monokróm képpontból áll, amelyeket egy fényforrás elé helyeznek. Fogyasztásuk alacsony, ezért ideálisak az ilyen típusú, barkácsolású, kis fogyasztású elektronikai projektekhez.

Az LCD-képernyőn minden egyes képpont két átlátszó elektród között egy vonalban lévő molekularétegből és két polarizációs szűrőből áll. Között polarizáló szűrők vannak folyadékkristályos kijelzővel, innen ered a neve, és megakadályozza, hogy az első szűrőn áthaladó fényt a második blokkolja.

Továbbá, ha észrevetted, amikor megérinti ezen képernyők egyikét a kép deformálódik, és egyfajta fekete folt jelenik meg a megnyomásakor, ez azért van, mert nyomást gyakorol a folyadékkristályra, és ezt nem tanácsos megtenni ... Előfordulhat, hogy rosszabb színű képernyő színei vannak, a megvilágítás egyenetlen eloszlása ​​lehet vagy akár holt pixelek (fekete foltok vagy a képernyőn nem múló területek).

LCD képernyők az Arduino és a Raspberry Pi készülékekhez

Egy LCD képernyő, például az elektronika vagy az Arduino számára létező modulok, általában több oszloppal rendelkezik az alfanumerikus karakterek vagy szimbólumok megjelenítéséhez, és egy vagy két sor az információk megjelenítéséhez. Ez sokkal érdekesebbé teszi őket, mint egy hét szegmenses kijelző, amelyhez több csapot kell csatlakoztatni ahhoz, hogy csak egyetlen számot, szimbólumot vagy betűt jeleníthessenek meg. Ha többet szeretne megjeleníteni, több kijelzőt kell elhelyeznie.

Ehelyett egyetlen LCD-képernyővel sokkal több információt jeleníthet meg. De jól ismernie kell az ilyen típusú modulok csatlakozását a megfelelő csatlakoztatáshoz. Javaslom, hogy mindig lássa az adott gyártó és modell adatlapja hogy van, mivel változhatnak.

Pl. Ezt megvásárolhatja az Adafruit-tól az Amazon-on, amely az egyik legnépszerűbb a billentyűzeten, és magában foglalja annak lehetőségét, hogy a két sorban legfeljebb 16 karakter jelenjen meg. És vannak még 20 × 4, vagy valami fejlettebb ésTöbb hüvelykes színes bonyolultabb képek megjelenítéséhez.

- LCD képernyőhöz Adafruit 16 × 2 láthatja ezt az adatlapot...

Arduino számára talán jobb egy egyszerűbb, mint amilyen 16x2 LCD képernyő billentyűzet nélkül. Ha ránéz erre a táblára, annak 16 csapja van a hátulján. Ha megfogja a táblát és fejjel lefelé fordítja, és balról jobbra nézi a csapjait, akkor kitűző van:

  • 16. tű: GND a háttérvilágításhoz
  • 15. tű: Vcc a háttérvilágításhoz
  • 7-14 tű: 8 bites (következő 8 érintkező) a képernyőn megjelenítendő információk továbbításához
  • 6. tű: olvasási és írási szinkron
  • 5. tű. R / W (írás és olvasás adatokhoz és parancsokhoz)
  • 4. tű: RS (választó a parancsok és az adatok között)
  • 3. tű: kontrasztszabályozás
  • 2. tű: Vcc 5v teljesítményre
  • 1. tű: GND (0v) az áramellátáshoz

Ne feledje, hogy amikor a megfelelő helyzetbe helyezi, a csapok megfordulnak ...

Integráció az Arduinóval

16x2 LCD csatlakozási rajz Arduino Uno

hogy csatlakoztassa az arduino-hoz Nem túl bonyolult, csak egy 220 ohmos ellenállást kell fontolóra venni a képernyő teljesítményének bemeneti feszültségének szabályozására, és egy potenciométert a képernyő kontrasztjának módosítására. Ezután csatlakoztassa mindegyik csapot megfelelően az Arduino táblához, és kész. Megnézheti Fritzing képét ...

Amint látod, a potenciométer lesz, amelyen keresztül táplálják az LCD képernyőt és a kontrasztot is beállítja. Ezért összekapcsolódik a kijelző GND-jével és Vcc-jével, valamint a háttérvilágítás vezérlő vonalával és a kontraszt vezérlésével. Talán ez a legbonyolultabb, akkor a fennmaradó csapok összekapcsolása a bemenetekkel / kimenetekkel, amelyeket a projektben használni fog.

Programozás az Arduino IDE-vel

Programozáshoz figyelembe kell vennie néhány sajátosságot, Ne feledje, hogy nem csak tudnia kell az adatok küldését, hanem mozgatnia, jól elhelyeznie a képernyőn stb. És használnia kell egy könyvtárat is LiquidCrystal.h, mindaddig, amíg az LCD képernyőn kompatibilis Hitachi HD44780 lapkakészlet található. Itt van egy kódpélda:

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

Több információ - Arduino programozási kézikönyv (ingyenes PDF)


Legyen Ön az első hozzászóló

Hagyja megjegyzését

E-mail címed nem kerül nyilvánosságra. Kötelező mezők vannak jelölve *

*

*

  1. Az adatokért felelős: Miguel Ángel Gatón
  2. Az adatok célja: A SPAM ellenőrzése, a megjegyzések kezelése.
  3. Legitimáció: Az Ön beleegyezése
  4. Az adatok közlése: Az adatokat csak jogi kötelezettség alapján továbbítjuk harmadik felekkel.
  5. Adattárolás: Az Occentus Networks (EU) által üzemeltetett adatbázis
  6. Jogok: Bármikor korlátozhatja, helyreállíthatja és törölheti adatait.