Подключение LCD 2004A к Arduino

26-02-2020, 17:00 1 комментариев
Сегодня рассмотрим подключение экрана LCD 2004A к Ардуино. Данный модуль интересен для использования (и обзора) по многим причинам. Он достаточно прост в сборке, доступен по бюджетной цене, вполне функционален. Обычно такие устройства применяются в случаях, когда на дисплей необходимо вывести текстовые ∕ цифровые ∕ графические значения и изображения без лишних подключений и телодвижений (по шине I2C, например).

Нуждаетесь в отображении подсказок датчиков? Работаете над проектами, где необходимо отображение меню? Попробуйте поработать с обсуждаемым сегодня символьным ЖК дисплеем!
Его технические параметры таковы:
  • напряжение питания: 5V;
  • экран: 16 символов 2 строки или 20x04;
  • подсветка: синяя (текст выводится белым);
  • тип интерфейса: I2C
  • габариты: 82 x 35 x 18мм.
Подключение LCD 2004A к Arduino по шине I2C схематически выглядит следующим образом:

Для сборки схемы мы использовали такие аппаратные компоненты: управляющую плату расширения Arduino Uno, LCD I2C модуль, соединительные провода.
 
Для дальнейшей работы и проверки работоспособности микросхемы нам следует скачать и инсталлировать специализированные библиотеки - Wire (для управления интерфейсом) и LiquidCrystal_I2C1602V1. Не забываем распаковывать архивы с файлами подобного плана в папку libraries в среде Ардуино IDE.
 
Попробуем вывести на экран надпись «Hello, world!». Для этого загружаем скетч в плату:
#include <Wire.h> 
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27,16,2);   /* Задаем адрес и размерность дисплея. 
При использовании LCD I2C модуля с дисплеем 20х04 ничего в коде изменять не требуется, cледует только задать правильную размерность */

void setup()
{
  lcd.init();                            // Инициализация lcd             
  lcd.backlight();                       // Включаем подсветку
  // Курсор находится в начале 1 строки
  lcd.print("Hello, world!");            // Выводим текст
  lcd.setCursor(0, 1);                   // Устанавливаем курсор в начало 2 строки
 
}

void loop()
{
}
Напомним, при желании на дисплей можно выводить не только текстовые сообщения, но и другие символы, например, смайлики или геометрические фигуры. Для этого, естественно, понадобится написать другой программный код.
 
Ниже приведем еще один вариант прошивки:
#include <Wire.h>  
// библиотека для LCD I2C: 
// https://bitbucket.org/fmalpartida/new-liquidcrystal/downloads
#include <LiquidCrystal_I2C.h>
//  LCD адрес - 0x27 для 20 символьного 4 строкового дисплея
// назначение контактов на I2C LCD:
//                    addr, en,rw,rs,d4,d5,d6,d7,bl,blpol
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);  // bl - backlight, blpol - полярность подсветки
 
void setup()   
{
  Serial.begin(9600);  // 
 
  lcd.begin(20,4);   // инициализация lcd 20 символьного 4 строкового дисплея, подсветка включена
  delay(2000);
  lcd.noBacklight(); // выключить подсветку
  delay(2000);
  lcd.backlight();   // включить подсветку
  
  // нумерация позиции курсора для строки и символа начинается с 0  
  lcd.setCursor(0,0); // начало с символа 1 строка 1
  lcd.print("Char 1, Row 1");
  delay(1000);
  lcd.setCursor(1,1); // начало с символа 2 строка 2
  lcd.print("Char 2, Row 2");
  delay(1000);  
  lcd.setCursor(2,2); // начало с символа 3 строка 3
  lcd.print("Char 3, Row 3");
  lcd.setCursor(3,3); // начало с символа 4 строка 4
  delay(1000);   
  lcd.print("Char 4, Row 4");
  delay(5000);
  lcd.clear(); // очистка дисплея
  lcd.setCursor(0,0); 
  lcd.print("www.umnyjdomik.ru");
  lcd.setCursor(0,1); 
  lcd.print("Start Serial Monitor");
  lcd.setCursor(0,2);
  lcd.print("Type chars on keyboard");    
}
 
void loop()  
{
  {
      if (Serial.available()) {      
      delay(100); // задержка для получения всего сообщения
      lcd.clear();
      // чтение всех возможных символов
      while (Serial.available() > 0) {
        lcd.write(Serial.read()); // отображение каждого символа на дисплее LCD
      }
    }
Не бойтесь экспериментов – это очень увлекательно! На этом прощаемся! До новых встреч!
Поделись в социальных сетях:
О авторе
Калугин Антон

Программист микроконтроллеров с 8-ми летним стажем, работал в таких компаниях как IBM, ASUS, Microsoft.

В комментариях с радостью отвечу на ваши вопросы.

Все статьи автора
Похожие новости

Сегодня поговорим о том, как воплотить в жизнь подключение FPM10A к Arduino, что это за модуль, где используется, каковы параметры его работы и т.д. Речь идет...

Предлагаем на обзор подключение LCD дисплея на базе HD44780 к Ардуино. Модуль выбран как всегда не случайно, т.к. имеет определенные преимущества, о которых...

В этой статье мы рассмотрим подключение ADS1115 к Ардуино. Речь идет о 16-битном аналого-цифровом преобразователе, оснащенном 4 входами непосредственно для...

В новом информационном обзоре рассматриваем GSM модуль SIM800L к Arduino. Почему выбрано именно это устройство? Во-первых, оно достаточно известно и популярно...

Как подключить LCD 1602 к Ардуино в домашних условиях и пользоваться всеми преимуществами этого цифрового устройства – рассказываем сегодня в новой статье....

1 комментария
  1. Сергей
    29 июля 2021 18:35 Сергей

    Калугин Антон умеет только контрол ц и контрол в из интернета

    replyОтветить
Оставить комментарий