ЛЦД екран: све што треба да знате

лЦД екран

А ЛЦД екран може бити решење за оне пројекте у којима треба да прикажете информације а да не морате да зависите од стално повезаног рачунара. То јест, у пројекту Ардуино / Распберри Пи можете користити серијски порт за пренос информација које се приказују на екрану да бисте добили очитавања сензора, приказали графикон, рачуне итд. Али ако ваш пројекат непрестано ради или је далеко од места где можете да имате рачунар, ЛЦД екран је ваш спас.

На пример, замислите да инсталирате аутоматизовани систем за наводњавање и желели бисте да проверите очитавање влажности и температуре када идете у свој повртњак или башту. Морате одвести рачунар тамо да бисте повезали Ардуино плочу са рачунаром није практично решење. У овом случају, можете да измените свој код тако да каже информације се приказују на ЛЦД екрану па чак и додати неке тастере или дугмад да бисте могли да прикажете различите информације.

Шта је ЛЦД панел?

Дисплеј са течним кристалима или ЛЦД (Ликуид Цристал Дисплаи) То је врста танког, равног панела који може да прикаже слике. Свака плоча је састављена од одређеног броја боја или монохроматских пиксела који су постављени испред извора светлости. Њихова потрошња је мала, због чега су идеални за ову врсту ДИИ електроничких пројеката мале снаге.

Сваки пиксел на ЛЦД екрану састоји се од слоја молекула поређаних између две прозирне електроде и два поларизациона филтра. Између поларизациони филтери постоји екран са течним кристалима, отуда и његово име, и спречава да светлост која пролази кроз први филтер блокира други.

Такође, ако сте приметили, када додирнете један од ових екрана слика се деформише и при притиску се појављује нека врста црне мрље, то јест зато што вршите притисак на течни кристал, а то није препоручљиво ... Можда ћете завршити са нижим квалитетом боја екрана, неравномерном расподелом осветљења или чак мртве пикселе (црне тачке или подручја на екрану која не нестају).

ЛЦД екрани за Ардуино и Распберри Пи

ЛЦД екран, као што је модули који постоје за електронику или за Ардуино, обично има више колона за приказ алфанумеричких знакова или симбола и један или два реда за приказ информација. То их чини много занимљивијим од дисплеја од седам сегмената, који би морао да повеже неколико пинова да би могао приказати само један број, симбол или слово. Ако желите да прикажете више, требало би да поставите неколико екрана.

Уместо тога, са једним ЛЦД екраном можете приказати много више информација. Али морате добро знати пиноут ове врсте модула да бисте их правилно повезали. Препоручујем да увек видите технички лист одређеног произвођача и модела које имате јер се они могу разликовати.

Нпр Ову можете купити од компаније Адафруит на Амазону, која је једна од најпопуларнијих код тастатуре и садржи могућност приказивања до 16 знакова у свакој од две линије. А има их чак 20 × 4, или нешто напредније иВише инча у боји за приказ сложенијих слика.

За ЛЦД екран од Адафруит 16 × 2 можете видети овај технички лист...

За ардуино можда је једноставнији попут овог бољи ЛЦД екран од 16к2 без тастатуре. Ако погледате ову плочу, она има 16 игла на полеђини. Ако узмете таблу и окренете је наопако и погледате њене игле слева удесно, добићете пиноут:

  • Пин 16: ГНД за позадинско осветљење
  • Пин 15: Вцц за позадинско осветљење
  • Пин 7-14: 8-битни (следећих 8 пинова) за пренос информација које ће се приказати на екрану
  • Пин 6: синхронизација читања и писања
  • Пин 5. Р / В (писање и читање података и команди)
  • Пин 4: РС (бирач између команди и података)
  • Пин 3: контрола контраста
  • Пин 2: Вцц од 5в за напајање
  • Пин 1: ГНД (0в) за напајање

Запамтите да када је поставите у правилан положај, игле су обрнуте ...

Интеграција са Ардуином

16к2 ЛЦД дијаграм повезивања са Arduino Uno

у повежите га са ардуином Није превише компликовано, требало би размотрити укључивање отпора од 220 ома за регулацију улазног напона снаге екрана и потенциометра за модулацију контраста екрана. Затим на одговарајући начин повежите сваку иглу са плочом Ардуино и готови сте. Можете погледати слику Фритзинга ...

Као што видите, потенциометар ће бити кроз који ће се напајати ЛЦД екран и контраст ће такође бити подешени. Због тога ће бити повезан и са ГНД и Вцц екрана, као и са линијом за контролу позадинског осветљења и контролом контраста. Можда је то најкомпликованије, онда је ствар повезивања преосталих пинова са улазима / излазима које ћете користити у свом пројекту.

Програмирање са Ардуино ИДЕ

За програмирање морате узети у обзир неке посебности, Имајте на уму да морате не само да знате како да пошаљете податке, већ и да их преместите, добро поставите на екран итд. Такође бисте требали користити библиотеку тзв ЛикуидЦристал.х, све док ваш ЛЦД екран има компатибилни Хитацхи ХД44780 чипсет. Овде имате пример кода:

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

Више информација - Ардуино приручник за програмирање (бесплатни ПДФ)


Будите први који ће коментарисати

Оставите свој коментар

Ваша емаил адреса неће бити објављена. Обавезна поља су означена са *

*

*

  1. За податке одговоран: Мигуел Ангел Гатон
  2. Сврха података: Контрола нежељене поште, управљање коментарима.
  3. Легитимација: Ваш пристанак
  4. Комуникација података: Подаци се неће преносити трећим лицима, осим по законској обавези.
  5. Похрана података: База података коју хостује Оццентус Нетворкс (ЕУ)
  6. Права: У било ком тренутку можете ограничити, опоравити и избрисати своје податке.