Мы в социальных сетях

подчеркивание красное для правой колонки

Наш официальный YouTube канал

подчеркивание красное для правой колонки

lcd дисплей с надписью на практике

Подключение LCD-дисплея на базе HD44780 к Arduino

При работе с Arduino иногда возникает необходимость вывести какие-либо данные на дисплей, но передавать для этого данные на ПК имеет смысл только если устройство будет использоваться в связке с ПК. А как же быть с автономными устройствами? Тут на помощь придут LCD-дисплеи. Рассмотрим LCD-дисплеи на базе контроллера HD44780

экран lcd описание экран lcd описание

Этот монохромный дисплей имеет опциональную подсветку и может отображать 2 строки по 16 символов. Разрешение символов — 5x8 точек. Существует поддержка кириллицы.

Чем хороши такие дисплеи? LCD-экран HD44780 — стандартный и часто используемый среди небольших монохромных LCD-дисплеев, поэтому библиотека для работы с дисплеями на его базе записана профессионалами. Разработчики Arduino написали библиотеку для своей платформы, и называется она LiquidCrystal. Её мы и используем для работы с выбранным мной дисплеем.

Для подключения LCD экрана нам понадобятся такие компоненты

  • Любая Arduino(в нашем случае Arduino UNO)
  • LCD-дисплей на базе HD44780
  • Breadboard(макетная плата)
  • Соединительные провода
  • Потенциометр (не обязателен)
необходимые компоненты для подключения lcd экрана к Arduino

Подключение LCD экрана

Подключение LCD экрана к Ардуино не сложно даже для ребенка. Закрепите экран на breadboard'е и подведите к рельсам питания breaboard'а питание +5 В и "землю" с Arduino как показано на фотографии. (Так как питание и "землю" мы будем использовать много раз , удобнее подключить к рельсам, да и вообще, нужно привыкать подключать именно так)

правильное подключение lcd экрана к Arduino

Для полноценной работы Arduino с дисплеем подключим 12 выводов:

  • 1 — Vss, земля ⇨ GND
  • 2 — Vdd, питание ⇨ +5 В
  • 3 — Vo, управление контрастностью напряжением ⇨ выход потенциометра
  • 4 — RS, выбор регистра ⇨ пин 12 Arduino
  • 5 — R/W, чтение/запись ⇨ земля (режим записи)
  • 6 — E, он же Enable, cтроб по спаду ⇨ пин 11 Arduino
  • 7-10 — DB0-DB3, младшие биты 8-битного интерфейса; не подключены
  • 11-14 — DB4-DB7, старшие биты интерфейса ⇨ пины 5-2 Arduino
  • 15 — A, питание для подсветки ⇨ +5 В
  • 16 — K, земля для подсветки ⇨ GND
правильное подключение lcd экрана к Arduino

Этот дисплей, как и прочие на контроллере HD44780, поддерживает два варианта параллельного интерфейса:

  • 8-битный, выводы DB0-DB7, за один такт передаётся 1 байт (8 бит)
  • 4-битный, выводы DB4-DB7, за один такт передаётся половина байта (4 бита)

Смысла использовать 8-битный вариант нет, потому что это требует больше ног, а выигрыша в скорости всё равно нет: частота обновления дисплея не больше 10 раз в секунду, так что мы всё равно не сможем увидеть часто обновляемые данные. Поэтому выводы DB0-DB3 оставляем неподключенными.

Экран подключен и готов к приёму данных. Осталось написать программу для Arduino.

Программирование

Для вывода текста с Arduino воспользуемся библиотекой Liquid Crystal, о которой мы говорили выше.

Для работы датчика на Arduino нужно скачать и установить библиотеку DHT11 .


Скачать библиотеку можно здесь .


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

Диск C стрелка Progtam Files стрелка Arduino стрелка Libraries

папка с экрана

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


/* Подключаем библиотеку для работы с LCD */
#include <LiquidCrystal.h>

/* Создаём объект LCD-дисплея, используя конструктор класса LiquidCrystal
* с 6ю аргументами. Библиотека по количеству аргументов сама определит,
* что нужно использовать 4-битный интерфейс.
* Указываем, к каким пинам Arduino подключены выводы дисплея:
*   RS, E, DB4, DB5, DB6, DB7
*/

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup()
{
 
/* Инициализируем дисплей: 2 строки по 16 символов */
 lcd
.begin(16, 2);
 
/* Выводим на дисплей фразу */
 lcd
.print("hello from HelpDuino!");
}

void loop()
{
 
/* Устанавливаем курсор в 1 столбец 2й строки. Нумерация идёт с нуля,
  * первым аргументом идёт номер столбца.
  */

 lcd
.setCursor(0, 1);
 
/* Выводим на дисплей число секунд, прошедших с момента старта Arduino */
 lcd
.print(millis() / 1000);
}
составляющее

Вот, что у вас должно получиться, это самый простой скетч, в состав него входят всего 4 основные строчки , но вы можете разобраться и уже по этому принципу создать то, что нужно именно вам!


Вам возможно будет интересно

Комментарии


x