ЖК-экран: все, что вам нужно знать

ЖК-экран

Una ЖК-экран может быть решением для тех проектов, в которых вам нужно отображать информацию, не полагаясь на постоянно подключенный компьютер. То есть в проекте Arduino / Raspberry Pi вы можете использовать последовательный порт для передачи информации, которая отображается на экране для получения показаний датчиков, отображения графика, учетных записей и т. Д. Но если ваш проект постоянно запущен или находится далеко от того места, где у вас может быть компьютер, ЖК-экран - ваше спасение.

Например, представьте, что вы устанавливаете автоматизированную систему полива и хотите проверять показания влажности и температуры, когда вы идете в свой огород или огород. Необходимость брать с собой компьютер для подключения платы Arduino к ПК - непрактичное решение. В этом случае вы можете изменить свой код, чтобы он сказал информация отображается на ЖК-экране и даже добавить несколько клавиш или кнопок, чтобы иметь возможность отображать различную информацию.

Что такое ЖК-панель?

Жидкокристаллический дисплей или ЖК-дисплей (жидкокристаллический дисплей) Это своего рода тонкая плоская панель, на которой можно отображать изображения. Каждая панель состоит из определенного количества цветных или монохромных пикселей, которые помещаются перед источником света. Их потребление невелико, поэтому они идеально подходят для этого типа проектов маломощной электроники DIY.

Каждый пиксель на ЖК-экране состоит из слоя молекул, выровненных между двумя прозрачными электродами и двумя поляризационными фильтрами. Между поляризационные фильтры есть жидкокристаллический дисплей, отсюда и его название, и предотвращает блокировку света, проходящего через первый фильтр, вторым.

Также, если вы заметили, когда вы касаетесь одного из этих экранов изображение деформируется и при нажатии появляется что-то вроде черного пятна, то есть из-за того, что вы оказываете давление на жидкий кристалл, и этого делать не рекомендуется ... Вы можете получить более низкое качество цветов экрана, неравномерное распределение освещения или даже битые пиксели (черные точки или участки на экране, которые не исчезают).

ЖК-экраны для Arduino и Raspberry Pi

ЖК-экран, например модули, которые существуют для электроники или для Arduino, обычно имеет несколько столбцов для отображения буквенно-цифровых символов или символов и одну или две строки для отображения информации. Это делает их намного более интересными, чем семисегментный дисплей, который должен соединять несколько контактов, чтобы отображать только одно число, символ или букву. Если вы хотите показать больше, вам следует разместить несколько дисплеев.

Вместо этого на одном ЖК-экране можно отобразить гораздо больше информации. Но вы должны хорошо знать распиновку этого типа модулей, чтобы правильно их подключить. Я рекомендую тебе всегда видеть паспорт производителя и конкретной модели что у вас есть, поскольку они могут отличаться.

Например, Вы можете купить это у Adafruit на Amazon., который является одним из самых популярных с клавиатурой и содержит возможность отображения до 16 символов в каждой из двух строк. А есть даже 20х4 или что-то более продвинутое иМультидюймовый цвет для отображения более сложных изображений.

Для ЖК-экрана Adafruit 16 × 2 вы можете увидеть это техническое описание...

Для ардуино может быть, более простой, как тот, лучше ЖК-экран 16x2 без клавиатуры. Если вы посмотрите на эту плату, она имеет 16 контактов сзади. Если вы возьмете плату, перевернете ее вверх ногами и посмотрите на ее контакты слева направо, у вас будет распиновка:

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

Помните, что когда вы устанавливаете его в правильное положение, штифты меняются местами ...

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

Схема подключения ЖК-дисплея 16x2 к Arduino Uno

к подключите его к ардуино Это не слишком сложно, вам следует подумать только о включении резистора 220 Ом для регулирования входного напряжения для питания экрана и потенциометра для регулирования контрастности экрана. Затем подключите каждый из контактов к плате Arduino соответствующим образом, и все готово. Вы можете посмотреть изображение Фритцинга ...

Как вы видете, потенциометр будет через который он будет питаться ЖК-экран и контраст также будут отрегулированы. Следовательно, он будет связан как с GND, так и с Vcc дисплея, а также с линией управления подсветкой и контролем контрастности. Возможно, это самый сложный вариант, тогда речь идет о подключении оставшихся контактов к входам / выходам, которые вы собираетесь использовать в своем проекте.

Программирование с помощью Arduino IDE

Для программирования необходимо учитывать некоторые особенности, Имейте в виду, что вы должны не только уметь отправлять данные, но и перемещать их, размещать на экране и т. Д. И вы также должны использовать библиотеку под названием Жидкий Кристалл.h, если ваш ЖК-экран оснащен совместимым набором микросхем 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. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.