Взаимодействие Arduino с символьным LCD дисплеем

Добавлено9 января 2017 в 03:00

В данной статье рассматривается, как легко работать с символьным LCD дисплеем, используя Arduino, чтобы снабдить ваше устройство на Arduino пользовательским интерфейсом.

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

В данной статье мы рассмотрим, как использовать LCD дисплей 16x2 совместно с Arduino. У LCD дисплея 16x2, который используется в эксперименте, всего 16 выводов. Как показано в таблице ниже, восемь выводов являются линиями данных (выводы 7-14), два – для питания и земли (выводы 1 и 16), три вывода используются для управления работой LCD (выводы 4-6), и один используется для регулировки контрастности LCD дисплея (вывод 3). Оставшиеся два вывода (15 и 16) питают подсветку. Описание выводов LCD дисплея приведено ниже:

Назначение выводов LCD дисплея на HD44780
Номер вывода Назначение вывода
1 земля
2 +5В
3 Средний вывод потенциометра (для регулировки контрастности)
4 Выбор регистра (RS)
5 Чтение/Запись (RW)
6 Включение (EN)
7 DB0
8 DB1
9 DB2
10 DB3
11 DB4
12 DB5
13 DB6
14 DB7
15 +4.2–5 В
16 земля
Выводы LCD дисплея на HD44780
Выводы LCD дисплея на HD44780

Эксперимент 1

В этом эксперименте мы подключим 16x2 LCD дисплей к Arduino Mega 2560 и отобразим на LCD какой-нибудь текст.

Необходимые комплектующие

Схема соединений

В этой схеме выводы LCD дисплея подключаются к выводам Arduino в соответствии с таблицей, приведенной ниже. Подключите крайние вывода потенциометра к 5В и земмле, а средний вывод – к выводу 3 LCD дисплея. Вращение потенциометра управляет контрастностью LCD дисплея. Выводы подсветки LCD дисплея подключаются к 5В и земле, как показано на рисунке ниже.

Подключение символьного LCD дисплея к плате Arduino
Выводы LCD дисплея Выводы платы Arduino
DB4 4
DB5 5
DB6 6
DB7 7
RS 8
EN 9
Схема подключения LCD дисплея к Arduino Mega 2560
Схема подключения LCD дисплея к Arduino Mega 2560

Код

#include "LiquidCrystal.h"

// инициализировать библиотеку, указав ей выводы подключения
LiquidCrystal lcd(8,9,4,5,6,7);

void setup() 
{
  lcd.begin(16,2);

  // установить курсор в начало первой строки LCD дисплея
  lcd.setCursor(0,0);
  // напечатать текст
  lcd.print("   16x2 LCD");
  // установить курсор в начало следующей строки
  lcd.setCursor(0,1);
  lcd.print("   DISPLAY");
}

void loop()
{}

Эксперимент 2

В данном эксперименте мы отобразим на LCD дисплее значение счетчика из программы на Arduino. Счетчик будет отсчитывать количество секунд до 100, после чего дисплей будет очищен.

Необходимые комплектующие

В данном эксперименте используются те же комплектующие, что и в первом эксперименте.

Схема соединений

Код

#include "LiquidCrystal.h"

// инициализировать библиотеку, указав ей номера выводов
LiquidCrystal lcd(8,9,4,5,6,7);

void setup() 
{
  lcd.begin(16,2);

  // установить курсор в начало первой строки LCD дисплея
  lcd.setCursor(0,0);
  // напечатать текст
  lcd.print("    COUNTER");
  delay(100);

  int a=0;
  lcd.setCursor(0,1);
  lcd.print("       ");
  lcd.print(a);
  while(a<=100)
  {
    a=a+1;
    delay(1000);
    lcd.setCursor(0,1);
    lcd.print("       ");
    lcd.print(a);
  }
}

void loop()
{
  lcd.clear();
}

Видео

Заключение

Для более подробной информации смотрите описание библиотеки LiquidCrystal.

Теги

ArduinoHD44780LCD дисплей