Взаимодействие 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)
7DB0
8DB1
9DB2
10DB3
11DB4
12DB5
13DB6
14DB7
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
DB44
DB55
DB66
DB77
RS8
EN9
Схема подключения 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 дисплей

На сайте работает сервис комментирования DISQUS, который позволяет вам оставлять комментарии на множестве сайтов, имея лишь один аккаунт на Disqus.com.

В случае комментирования в качестве гостя (без регистрации на disqus.com) для публикации комментария требуется время на премодерацию.