LCD екран: всичко, което трябва да знаете

LCD екран

а LCD екранът може да бъде решение за тези проекти, в които трябва да показвате информация, без да се налага да разчитате на постоянно свързан компютър. Тоест, в проект на Arduino / Raspberry Pi можете да използвате серийния порт за предаване на информация, която се показва на екрана, за да получите показания на сензора, да покажете графика, акаунти и т.н. Но ако вашият проект се изпълнява постоянно или е далеч от мястото, където можете да имате компютър, LCD екранът е вашето спасение.

Например, представете си, че инсталирате автоматизирана напоителна система и бихте искали да проверите показанията за влажност и температура, когато отидете във вашата зеленчукова градина или градина. Налагането да занесете компютъра там, за да свържете платката Arduino към компютъра, не е практично решение. В този случай можете да промените кода си така информацията се показва на LCD екрана и дори добавете някои клавиши или бутони, за да можете да показвате различна информация.

Какво представлява LCD панелът?

Дисплей с течни кристали или LCD (дисплей с течни кристали) Това е вид тънък, плосък панел, който може да показва изображения. Всеки панел е съставен от определен брой цветни или монохромни пиксели, които са поставени пред светлинен източник. Консумацията им е ниска, поради което те са идеални за този тип проекти за електроника с ниска мощност.

Всеки пиксел на LCD екрана се състои от слой молекули, подредени между два прозрачни електрода и два поляризационни филтъра. Между поляризиращи филтри има дисплей с течни кристали, откъдето идва и името му, и предотвратява блокирането на светлината, която преминава през първия филтър от втория.

Също така, ако сте забелязали, когато докоснете един от тези екрани изображението се деформира и при натискане се появява някакво черно петно, което е, защото оказвате натиск върху течния кристал и не е препоръчително да го правите ... Може да се окажете с по-нискокачествени цветове на екрана, неравномерно разпределение на осветлението или дори мъртви пиксели (черни петна или области на екрана, които не изчезват).

LCD екрани за Arduino и Raspberry Pi

LCD екран, като напр модулите, които съществуват за електроника или за Arduino, обикновено има множество колони за показване на буквено-цифрови знаци или символи и един или два реда за показване на информация. Това ги прави много по-интересни от седемсегментния дисплей, който ще трябва да свърже няколко щифта, за да може да показва само едно число, символ или буква. Ако искате да покажете повече, трябва да поставите няколко дисплея.

Вместо това, с един LCD екран можете да покажете много повече информация. Но трябва добре да знаете пиновете на този тип модули, за да ги свържете правилно. Препоръчвам Ви винаги да виждате листа с данни на производителя и конкретния модел че имате, тъй като те могат да варират.

Например Можете да си купите този от Adafruit на Amazon, който е един от най-популярните сред клавиатурата и съдържа възможност за показване на до 16 знака във всеки от двата му реда. А има дори 20 × 4, или нещо по-напреднало иМного инчов цвят за показване на по-сложни изображения.

За LCD екран на Adafruit 16 × 2 можете да видите този лист с данни...

За arduino може би по-прост като този е по-добър 16x2 LCD екран без клавиатура. Ако погледнете тази дъска, тя има 16 щифта на гърба. Ако вземете дъската и я обърнете с главата надолу и погледнете щифтовете й отляво надясно, имате пиноут:

  • ПИН 16: GND за подсветка
  • ПИН 15: Vcc за подсветка
  • Пин 7-14: 8-битов (следващите 8 пина) за предаване на информацията, която ще се показва на екрана
  • ПИН 6: синхронизиране на четене и запис
  • Пин 5. R / W (запис и четене за данни и команди)
  • Pin 4: RS (селектор между команди и данни)
  • Pin 3: контрол на контраста
  • Pin 2: Vcc от 5v за захранване
  • Pin 1: GND (0v) за захранване

Не забравяйте, че когато го поставите в правилното му положение, щифтовете се обръщат ...

Интеграция с Arduino

16x2 LCD схема на свързване към Arduino Uno

за свържете го с arduino Не е твърде сложно, просто трябва да помислите за включване на резистор от 220 ома за регулиране на входното напрежение за мощността на екрана и потенциометър за модулиране на контраста на екрана. След това свържете всеки от щифтовете към дъската на Arduino по подходящ начин и сте готови. Можете да погледнете образа на Fritzing ...

Както виждаш, потенциометърът ще бъде през който ще се подава LCD екранът и контрастът също ще бъдат коригирани. Следователно той ще бъде свързан както с GND, така и с Vcc на дисплея, както и с контролната линия за подсветка и контрола на контраста. Може би това е най-сложното, тогава става въпрос за свързване на останалите щифтове към входовете / изходите, които ще използвате във вашия проект.

Програмиране с Arduino IDE

За програмиране трябва да вземете предвид някои особености, Имайте предвид, че трябва не само да знаете как да изпратите данни, но и да ги преместите, да ги поставите добре на екрана и т.н. И вие също трябва да използвате библиотека, наречена LiquidCrystal.h, стига вашият LCD екран да има съвместим чипсет Hitachi HD44780. Тук имате пример за код:

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

Повече информация - Ръководство за програмиране на Arduino (безплатен PDF)


Бъдете първите, които коментират

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

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорен за данните: Мигел Анхел Гатон
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.