LCD obrazovka: vše, co potřebujete vědět

LCD obrazovka

A Řešení může být LCD obrazovka pro ty projekty, ve kterých potřebujete zobrazit informace, aniž byste museli záviset na neustále připojeném počítači. To znamená, že v projektu Arduino / Raspberry Pi můžete pomocí sériového portu přenášet informace, které se zobrazují na obrazovce, a získat údaje ze senzorů, zobrazit graf, účty atd. Ale pokud váš projekt neustále běží nebo daleko od místa, kde můžete mít počítač, LCD obrazovka je vaše spása.

Představte si například, že instalujete automatický zavlažovací systém a chcete zkontrolovat naměřené hodnoty vlhkosti a teploty, když jdete do své zeleninové zahrady nebo zahrady. To, že tam musíte vzít počítač, abyste připojili desku Arduino k počítači, není praktické řešení. V takovém případě můžete svůj kód upravit tak, aby bylo řečeno informace se zobrazí na LCD obrazovce a dokonce přidat některé klávesy nebo tlačítka, aby bylo možné zobrazit různé informace.

Co je to LCD panel?

Displej z tekutých krystalů nebo LCD displej (displej s tekutými krystaly) Je to druh tenkého plochého panelu, který dokáže zobrazit obrázky. Každý panel je tvořen určitým počtem barevných nebo černobílých pixelů, které jsou umístěny před světelným zdrojem. Jejich spotřeba je nízká, a proto jsou ideální pro tento typ projektů DIY s nízkou spotřebou elektroniky.

Každý pixel na obrazovce LCD je tvořen vrstvou molekul zarovnaných mezi dvěma průhlednými elektrodami a dvěma polarizačními filtry. Mezi polarizační filtry je displej z tekutých krystalů, odtud jeho název, a brání tomu, aby světlo, které prochází prvním filtrem, bylo blokováno druhým.

Také pokud jste si všimli, když se dotknete jedné z těchto obrazovek obraz je zdeformovaný a při stisknutí se objeví jakási černá skvrna, to je proto, že vyvíjíte tlak na tekuté krystaly a nedoporučuje se to ... Může dojít k nižší kvalitě barev obrazovky, nerovnoměrnému rozložení osvětlení nebo dokonce mrtvé pixely (černé skvrny nebo oblasti na obrazovce, které nezmizí).

LCD obrazovky pro Arduino a Raspberry Pi

LCD obrazovka, například moduly, které existují pro elektroniku nebo pro Arduino, obvykle má více sloupců pro zobrazení alfanumerických znaků nebo symbolů a jeden nebo dva řádky pro zobrazení informací. To je činí mnohem zajímavějšími než sedmisegmentový displej, který by musel spojit několik pinů, aby bylo možné zobrazit pouze jedno číslo, symbol nebo písmeno. Pokud chcete ukázat více, měli byste umístit několik displejů.

Místo toho můžete na jediné obrazovce LCD zobrazit mnohem více informací. Ale musíte správně znát pinout tohoto typu modulů, abyste je mohli správně připojit. Doporučuji vždy vidět technický list výrobce a konkrétní model které máte, protože se mohou lišit.

Např Tuto si můžete koupit od Adafruit na Amazonu, který je jedním z nejoblíbenějších s klávesnicí a obsahuje možnost zobrazení až 16 znaků v každém ze dvou řádků. A existují dokonce 20 × 4, nebo něco pokročilejšího aVícepalcová barva pro zobrazení složitějších obrázků.

Pro LCD obrazovku Adafruit 16 × 2 můžete vidět tento datový list...

Pro Arduino snad jednodušší, jako je ten, je lepší 16x2 LCD obrazovka bez klávesnice. Pokud se podíváte na tuto desku, má na zadní straně 16 pinů. Pokud vezmete desku a otočíte ji vzhůru nohama a podíváte se na její kolíky zleva doprava, máte pinout:

  • Pin 16: GND pro podsvícení
  • Pin 15: Vcc pro podsvícení
  • Pin 7-14: 8bitový (dalších 8 pinů) pro přenos informací, které se mají zobrazit na obrazovce
  • Pin 6: synchronizace čtení a zápisu
  • Pin 5. R / W (zápis a čtení pro data a příkazy)
  • Pin 4: RS (volič mezi příkazy a daty)
  • Pin 3: ovládání kontrastu
  • Pin 2: Vcc 5v pro napájení
  • Pin 1: GND (0v) pro napájení

Nezapomeňte, že když jej umístíte do správné polohy, kolíky se otočí ...

Integrace s Arduino

Schéma připojení LCD 16x2 k Arduino Uno

na připojte jej k Arduino Není to příliš složité, měli byste zvážit pouze zahrnutí odporu 220 ohmů pro regulaci vstupního napětí pro výkon obrazovky a potenciometru pro modulaci kontrastu obrazovky. Poté vhodně připojte každý z pinů k desce Arduino a máte hotovo. Můžete se podívat na obrázek Fritzinga ...

Jak můžete vidět, potenciometr bude skrz který bude napájen upraví se také obrazovka LCD a kontrast. Proto bude propojen jak s GND, tak s Vcc displeje, stejně jako s ovládací linkou podsvícení a kontrolou kontrastu. Možná je to nejsložitější, pak jde o připojení zbývajících pinů ke vstupům / výstupům, které budete používat ve svém projektu.

Programování pomocí Arduino IDE

Pro programování musíte vzít v úvahu některé zvláštnosti, Mějte na paměti, že musíte nejen vědět, jak odesílat data, ale také je přesouvat, dobře umístit na obrazovku atd. A měli byste také použít knihovnu s názvem LiquidCrystal.h, pokud má váš LCD displej kompatibilní čipovou sadu Hitachi HD44780. Zde máte příklad kódu:

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

Více informací - Programovací manuál Arduino (PDF zdarma)


Buďte první komentář

Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Odpovědný za údaje: Miguel Ángel Gatón
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.