Жк дисплей для ардуино: инструкция по подключению и примеры использования [Амперка / Вики]

Содержание

инструкция по подключению и примеры использования [Амперка / Вики]

Текстовый экран 16×2 пригодится для вывода показаний датчиков, отображения простых меню, подсказок и приветствий.

Видеообзор

Примеры работы для Arduino

В качестве примера подключим дисплей к управляющей плате Arduino Uno.

Подключение к Arduino

Для коммуникации понадобится Breadboard Half и соединительные провода «папа-папа».

Вывод Обозначение Пин Arduino Uno
1 GND GND
2 VCC 5V
3 VO GND
4 RS 11
5 R/W GND
6 E 12
7 DB0
8 DB1
9 DB2
10 DB3
11 DB4 5
12 DB5 4
13 DB6 3
14 DB7 2
15 VCC 5V
16 GND GND

Для упрощения работы с LCD-дисплеем используйте встроенную библиотеку Liquid Crystal. В ней вы найдёте примеры кода с подробными комментариями.

Вывод текста

Для вывода первой программы приветствия, воспользуйтесь кодом вроде этого:

hello-amperka.ino
// подключаем стандартную библиотеку LiquidCrystal
#include <LiquidCrystal.h>
 
// инициализируем объект-экран, передаём использованные 
// для подключения контакты на Arduino в порядке:
// RS, E, DB4, DB5, DB6, DB7
LiquidCrystal lcd(11, 12, 5, 4, 3, 2);
 
void setup() {
  // устанавливаем размер (количество столбцов и строк) экрана
  lcd.begin(16, 2);
  // печатаем первую строку
  lcd.print("Hello world");
  // устанавливаем курсор в колонку 0, строку 1
  // на самом деле это вторая строка, т.к. нумерация начинается с нуля
  lcd.setCursor(0, 1);
  // печатаем вторую строку
  lcd.print("Do It Yourself");
}
 
void loop() {
}

Кириллица

Существует два способа вывода кириллицы на текстовые дисплеи:

Рассмотрим оба способа более подробно.

Таблица знакогенератора

Дисплейный модуль хранит в памяти две страницы знакогенератора, которые состоят из различных символов и букв.

Для вывода символа на дисплей необходимо передать его номер в шестнадцатеричной системе из таблицы знакогенератора.

Так букве Я соответствует код B1 в шестнадцатеричной системе. Чтобы передать на экран строку «Яndex», необходимо в явном виде с помощью последовательности \x## встроить в строку код символа:

lcd.print("\xB1ndex");

Вы можете смешивать в одной строке обычные символы и явные коды как угодно. Единственный нюанс в том, что после того, как компилятор в строке видит последовательность \x, он считывает за ним все символы, которые могут являться разрядами шестнадцатеричной системы даже если их больше двух. Из-за этого нельзя использовать символы из диапазона 0-9 и A-F следом за двузначным кодом символа, иначе на дисплее отобразится неправильная информация.

Чтобы обойти этот момент, можно использовать тот факт, что две записанные рядом строки склеиваются.

Сравните две строки кода для вывода надписи «Яeee»:

lcd.print("\xB1eee"); // ошибка
lcd.print("\xB1""eee"); // правильно

Используя полученную информацию выведем на дисплей сообщение «Привет, Амперка!»:

hello-amperka-rus.ino
// подключаем стандартную библиотеку LiquidCrystal
#include <LiquidCrystal.h>
 
// инициализируем объект-экран, передаём использованные 
// для подключения контакты на Arduino в порядке:
// RS, E, DB4, DB5, DB6, DB7
LiquidCrystal lcd(11, 12, 5, 4, 3, 2);
 
void setup() {
  // устанавливаем размер (количество столбцов и строк) экрана
  lcd.begin(16, 2);
  // устанавливаем курсор в колонку 5, строку 0
  // на самом деле это первая строка, т.к. нумерация начинается с нуля
  lcd.setCursor(5, 0);
  // печатаем первую строку
  lcd.print("\xA8""p""\xB8\xB3""e\xBF");
  // устанавливаем курсор в колонку 3, строку 1
  // на самом деле это вторая строка, т.
к. нумерация начинается с нуля lcd.setCursor(3, 1); // печатаем вторую строку lcd.print("o\xBF A\xBC\xBE""ep\xBA\xB8"); }   void loop() { }

Переключение страниц знакогенератора

Дисплейный модуль хранит в памяти две страницы знакогенератора. По умолчанию установлена нулевая страница. Для переключения между страницами используйте методы:

// переключение с нулевой страницы на первую
command(0x101010);
// переключение с первой страницы на нулевую
command(0x101000);

Дисплей не может одновременно отображать символы разных страниц.

Рассмотрим пример, в котором одна и та же строка будет отображаться по-разному — в зависимости от выбранной страницы.

change-page.ino
// Подключаем стандартную библиотеку LiquidCrystal
#include <LiquidCrystal.h>
 
// Инициализируем объект-экран, передаём использованные 
// для подключения контакты на Arduino в порядке:
// RS, E, DB4, DB5, DB6, DB7
LiquidCrystal lcd(11, 12, 5, 4, 3, 2);
 
void setup() {
  // устанавливаем размер (количество столбцов и строк) экрана
  lcd. begin(16, 2);
  // устанавливаем курсор в колонку 5, строку 0
  // на самом деле это первая строка, т.к. нумерация начинается с нуля
  lcd.setCursor(5, 0);
  // печатаем  строку
  lcd.print("\x9b\x9c\x9d\x9e\x9f");
}
 
void loop() {
  // устанавливаем 0 станицу знакогенератора (стоит по умолчанию) 
  lcd.command(0b101000);
  // ждём 1 секунду
  delay(1000);
  // устанавливаем 1 станицу знакогенератора
  lcd.command(0b101010);
  // ждём 1 секунду
  delay(1000);
}

Полную таблицу символов с кодами можно найти в документации к экрану.

Использование библиотеки LiquidCrystalRus

Совсем не обязательно мучатся со знакогенератором, чтобы вывести русский символ. Для решения проблемы скачайте и установите библиотеку LiquidCrystalRus.

Это копия оригинальной библиотеки LiquidCrystal с добавлением русского языка. Добавленный в библиотеку код трансформирует русские символы UTF8 в правильные коды для текстового экрана.

В качестве примера выведем фразу «Привет от Амперки» на дисплей.

hello-amperka-rus-custom-library.ino
// подключаем библиотеку LiquidCrystalRus
#include <LiquidCrystalRus.h>
 
// инициализируем объект-экран, передаём использованные 
// для подключения контакты на Arduino в порядке:
// RS, E, DB4, DB5, DB6, DB7
LiquidCrystalRus lcd(11, 12, 5, 4, 3, 2);
 
void setup() {
  // устанавливаем размер (количество столбцов и строк) экрана
  lcd.begin(16, 2);
  // устанавливаем курсор в колонку 5, строку 0
  // на самом деле это первая строка, т.к. нумерация начинается с нуля
  lcd.setCursor(5, 0);
  // печатаем первую строку
  lcd.print("Привет");
  // устанавливаем курсор в колонку 3, строку 1
  // на самом деле это вторая строка, т.к. нумерация начинается с нуля
  lcd.setCursor(3, 1);
  // печатаем вторую строку
  lcd.print("от Амперки");
}
 
void loop() {
}

Примеры работы для Espruino

В качестве примера подключим дисплей к управляющей плате Iskra JS.

Подключение к Iskra JS

Для коммуникации понадобится Breadboard Half и соединительные провода «папа-папа».

Вывод Обозначение Пин Iskra JS
1 GND GND
2 VCC 5V
3 VO GND
4 RS P11
5 R/W GND
6 E P12
7 DB0
8 DB1
9 DB2
10 DB3
11 DB4 P5
12 DB5 P4
13 DB6 P3
14 DB7 P2
15 VCC 5V
16 GND GND

Для работы с LCD-дисплеем из среды Espruino существует библиотека HD44780.

Вывод текста

Для вывода программы приветствия, воспользуйтесь скриптом:

hello-amperka.js
// создаём переменную для работы с дисплеем
// HD44780 — контроллер монохромных жидкокристаллических знакосинтезирующих дисплеев
var lcd = require("HD44780").connect(P11,P12,P5,P4,P3,P2);
// печатем первую строку
lcd.print("Hello world");
// устанавливаем курсор в колонку 0, строку 1
// на самом деле это вторая строка, т.к. нумерация начинается с нуля
lcd.setCursor(0, 1);
// печатаем вторую строку
lcd.print("Do It Yourself");

Кирилица

Вывод кирилицы на дисплей с помощью платформы Iskra JS доступен через встроенную в дисплей таблицу знакогенератора.

Таблица знакогенератора

Дисплейный модуль хранит в памяти две страницы знакогенератора, которые состоят из различных символов и букв.

Для вывода символа на дисплей необходимо передать его номер в шестнадцатеричной системе из таблицы знакогенератора.

Так букве Я соответствует код B1 в шестнадцатеричной системе. Чтобы передать на экран строку «Яndex», необходимо в явном виде с помощью последовательности

\x## встроить в строку код символа:

lcd.print("\xB1ndex");

Вы можете смешивать в одной строке обычные символы и явные коды как угодно. Единственный нюанс в том, что после того, как компилятор в строке видит последовательность \x, он считывает за ним все символы, которые могут являться разрядами шестнадцатеричной системы даже если их больше двух. Из-за этого нельзя использовать символы из диапазона 0–9 и A–F следом за двузначным кодом символа, иначе на дисплее отобразится неправильная информация. Чтобы обойти этот момент, можно использовать тот факт, что две строки записанные рядом склеиваются.

Сравните две строки кода для вывода надписи «Яeee»:

lcd.print("\xB1eee"); // ошибка
lcd.print("\xB1"+"eee"); // правильно

Используя полученную информацию выведем на дисплей сообщение «Привет, Амперка!»:

hello-amperka-rus. js
// создаём переменную для работы с дисплеем
// HD44780 — контроллер монохромных жидкокристаллических знакосинтезирующих дисплеев
var lcd = require("HD44780").connect(P11,P12,P5,P4,P3,P2);
// устанавливаем курсор в колонку 5, строку 0
// на самом деле это первая строка, т.к. нумерация начинается с нуля
lcd.setCursor(5, 0);
// печатаем первую строку
lcd.print("\xA8"+"p"+"\xB8\xB3"+"e\xBF");
// устанавливаем курсор в колонку 3, строку 1
// на самом деле это вторая строка, т.к. нумерация начинается с нуля
lcd.setCursor(3, 1);
// печатаем вторую строку
lcd.print("o\xBF"+" A\xBC\xBE"+"ep\xBA\xB8");;

Переключение страниц знакогенератора

Дисплейный модуль хранит в памяти две страницы знакогенератора. По умолчанию установлена нулевая страница. Для переключения между страницами используйте методы:

// переключение с нулевой страницы на первую
command(0x101010);
// переключение с первой страницы на нулевую
command(0x101000);

Дисплей не может одновременно отображать символы разных страниц.

Рассмотрим пример, в котором одна и та же строка будет отображаться по-разному — в зависимости от выбранной страницы.

change-page.js
// создаём переменную для работы с дисплеем
// HD44780 — контроллер монохромных жидкокристаллических знакосинтезирующих дисплеев
var lcd = require("HD44780").connect(P11,P12,P5,P4,P3,P2);
// создаём переменную состояния
var state = false;
// устанавливаем курсор в колонку 5, строку 0
// на самом деле это первая строка, т.к. нумерация начинается с нуля
lcd.setCursor(5, 0);
// печатаем первую строку
lcd.print("\x9b\x9c\x9d\x9e\x9f");
 
setInterval(function() {
  // каждую секунду меняем переменую состояния
  state = !state;
  // вызываем функцию смены адреса страницы
  lcdChangePage();
}, 1000);
 
function lcdChangePage () {
  if (state) {
    // устанавливаем 0 станицу знакогенератора (стоит по умолчанию) 
    lcd.write(0b101000, 1);
  } else {
    // устанавливаем 1 станицу знакогенератора
    lcd.write(0b101010, 1);
  }
}

Полную таблицу символов с кодами можно найти в документации к экрану.

Комнатный термометр

Дисплей удобен для отображения показаний модулей и сенсоров. Сделаем задатки «Умного Дома», а именно «комнатный термометр».

Что понадобится

Как собрать

  1. Возьмите Troyka Shield и установите сверху на управляющую плату — Arduino или Iskra JS.

  2. Подключите аналоговый термометр к управляющей плате через 3-проводной шлейф к аналоговому пину A0. В итоге должна получится схема.
  3. Прошейте управляющую платформу кодом, приведённым ниже.

Скетч для Arduino

thermometer-room.ino
// подключаем стандартную библиотеку LiquidCrystal
#include <LiquidCrystal.h>
 
// инициализируем объект-экран, передаём использованные 
// для подключения контакты на Arduino в порядке:
// RS, E, DB4, DB5, DB6, DB7
LiquidCrystal lcd(11, 12, 5, 4, 3, 2);
 
// пин датчика температуры
#define TEMPERATURE_PIN  A0
 
void setup() {
  // устанавливаем размер (количество столбцов и строк) экрана
  lcd. begin(16, 2);
}
 
void loop() {
  // очищаем дисплей
  lcd.clear();
  // устанавливаем курсор в колонку 3, строку 0
  // на самом деле это первая строка, т.к. нумерация начинается с нуля
  lcd.setCursor(3, 0);
  // считываем показания с датчика температуры
  int sensorADC = analogRead(A0);
  // переводим значения с АЦП в вольты
  float sensorVoltage = sensorADC * (5.0 / 1023.0);
  // переводим вольты в градусы цельсия
  int temperature = (sensorVoltage - 0.5) * 100;
  // выводим результат на дисплей
  lcd.print("Temp=");
  lcd.print(temperature);
  lcd.print("\x99""C");
  delay(500);
}

Скрипт для Iskra JS

thermometer-room.js
// создаём переменную для работы с дисплеем
// HD44780 — контроллер монохромных жидкокристаллических знакосинтезирующих дисплеев
var lcd = require("HD44780").connect(P11,P12,P5,P4,P3,P2);
 
// создаём переменную для работы с датчиком температуры
var thermometer = require('@amperka/thermometer')
 .connect(A0);
 
// каждую секунду считываем данные с датчика температуры и выводим на дисплей
setInterval(function() {
  var celsius = thermometer. read('C');
  lcd.setCursor(3, 0);
  lcd.print("Temp="+ celsius.toFixed(0) + "\x99"+"C");
}, 1000);

Элементы платы

Дисплей

Дисплей MT-16S2H умеет отображать все строчные и прописные буквы латиницы и кириллицы, а также типографские символы. Для любителей экзотики есть возможность создавать собственные иконки.

Экран выполнен на жидкокристаллической матрице, которая отображает 2 строки по 16 символов. Каждый символ состоит из отдельного знакоместа 5×8 пикселей.

Контроллер дисплея

Матрица индикатора подключена к встроенному чипу КБ1013ВГ6 с драйвером расширителя портов, которые выполняют роль посредника между экраном и микроконтроллером.

Контроллер КБ1013ВГ6 аналогичен популярным чипам зарубежных производителей HD44780 и KS0066, что означает совместимость со всеми программными библиотеками.

Контакты подключения

На плате дисплея выведено 16 контактов для подведения питания и взаимодействия с управляющей электроникой.

Вывод Обозначение Описание
1 GNDОбщий вывод (земля)
2 VCCНапряжение питания (5 В)
3 VOУправление контрастностью
4 RSВыбор регистра
5 R/WВыбор режима записи или чтения
6 EРазрешение обращений к индикатору (а также строб данных)
7 DB0Шина данных (8-ми битный режим)(младший бит в 8-ми битном режиме)
8 DB1Шина данных (8-ми битный режим)
9 DB2Шина данных (8-ми битный режим)
10 DB3Шина данных (8-ми битный режим)
11 DB4Шина данных (8-ми и 4-х битные режимы)(младший бит в 4-х битном режиме)
12 DB5Шина данных (8-ми и 4-х битные режимы)
13 DB6Шина данных (8-ми и 4-х битные режимы)
14 DB7Шина данных (8-ми и 4-х битные режимы)
15 LED+Питания подсветки (+)
16 LED–Питания подсветки (–)

Обратите внимания, что физические контакты подсветки экрана 15 и 16 расположены не в порядком соотношении с другими пинами экрана.

Питание

Экран совместим со всеми контроллерами с логическим напряжением от 3,3 до 5 вольт. Но для питания самого индикатора (пин VCC) необходимо строго 5 вольт. Если в вашем проекте нет линии 5 вольт, обратите внимание на дисплей текстовый экран 16×2 / I²C / 3,3 В.

Интерфейс передачи данных

Дисплей может работать в двух режимах:

  • 8-битный режим — в нём используются и младшие и старшие биты (DB0DB7)

  • 4-битный режим — в нём используются только младшие биты (DB4DB7)

Использовать восьмибитный режим не целесообразно. Для его работы требуется на четыре дополнительные ноги, а выигрыша по скорости практически нет.

Габаритный чертёж

Характеристики

  • Тип дисплея: текстовый

  • Цвет: монохромный

  • Технология: LCD (Liquid Crystal Display)

  • Индикация: 2 строки по 16 символов

  • Драйвера матрицы: КБ1013ВГ6

  • Интерфейс: параллельный 4/8 бит

  • Тип подсветки: LED

  • Цвет подсветки (зависит от модели): красный / зелёный / синий / чёрный / янтарный

  • Цвет символов (зависит от модели): зелёный / чёрный / белый

  • Напряжение питания: 5 В

  • Максимальный ток потребления: 1 мА

  • Потребляемый ток подсветки: 100 мА

  • Напряжение логических уровней: 3,3–5 В

  • Габариты: 84×44×13 мм

Ресурсы

Дисплей LCD 1602 I2C Arduino

Arduino LCD 1602 I2C дисплей — это жидкокристаллический, текстовый, двух строчный, 16 знакомест в каждой строке, цифровой I2C индикатор с подсветкой. Представляющий из себя модуль Arduino. Каждое знакоместо имеет разрешение 8 x 5 точек. Общее количество точек экрана 1280 пикселей. Подсветка дисплея белая, светодиодная. Цвет жидких кристаллов тёмно-синий. Получается красивый белый текст на синем фоне. Дисплей основан на контроллере HD44780 и предназначен для отображения любой текстовой информации, в совокупности с Ардуино или другим контроллерами. Благодаря дополнительно установленному I2C модулю расширения портов на микросхеме PCF85741, дисплей стало очень просто подключить к любому микроконтроллеру. Схему подключения смотрите на изображении выше.

При первом включении нужно с обратной стороны устройства, потенциометром отрегулировать контрастность. Иначе Вы будете долго думать почему дисплей ничего не отображает. Если Вы не хотите использовать подсветку, то нужно удалить перемычку на плате интерфейса I2C. Для быстрого старта скачайте библиотеку LiquidCrystal I2C и загрузите пример «demo» в Ваш микроконтроллер. Если все подключено без ошибок, то дисплей сразу начнет демонстрирровать свои возможности. Для русификации шрифтов дисплея, Вам потребуется библиотека LCD 1602 RUS. Установите эту библиотеку и после чего Вы сможете выводить на экран дисплея, слова русскими буквами. Если Вы захотите создать свой скетч для Ардуино, то Вам понадобится описание функций библиотеки LiquidCrystal.

Характеристики Ардуино lcd 1602 дисплея:

I2C интерфейс на микросхеме PCF85741
Контролер дисплея HD44780
Регулировка контрастности Есть
Количество строк 2
Количество символов в строке 16
Общее количество символов 32
Размер пикселя 0,5 x 0,5 мм
Размеры платы индикатора 80 х 36 х 15 мм
Видимая область экрана 64,5 х 14 мм
Количество пикселей в знаке 40
Цвет фона синий
Цвет подсветки белый
Напряжение питания 5 В
Диапазон рабочих температур 0 — 60º C

Видео подключение Arduino к I2C LCD 1602 дисплею:

Начинающие разработчики, как правило реализуют свои проекты с применением обычного LCD 1602, видео ниже демонстрирует, что представляет из себя экранчик, в конце видео можно посмотреть, как дисплей отображает символы.

Отличное видео демонстрации работы дисплея arduino tft. Паренек рассказывает, как подключить его, показывает примеры вывода графической и текстовой информации на экран. Еще упоминает о выводе текста в Arduino tft на русском языке. Интересное видео, рекомендую.

Пример работы с OLED LCD Display Module I2C 0.96 в среде Arduino. Подробная видео инструкция по применению, от подключения, до установки библиотеки.

К выбору экрана нужно подходить из требований проекта. Например, если в планах выводить временной график температуры, то лучше использовать TFT дисплей, если нужно отображать пару значений, достаточно обойтись arduino lcd 1602 или даже сегментным. OLED дисплеи Ардуино можно применить, когда остро встает проблема потребления электроэнергии.

Метки: Метки LCD LCD 1602 oled tft дисплей

Как подключить lcd дисплей

Текстовый экран 16×2 пригодится для вывода показаний датчиков, отображения простых меню, подсказок и приветствий.

Видеообзор

Подключение и настройка

Дисплей MT-16S2H предназначен для вывода текста на латинице и кириллице.

Экран имеет 16 контактов для питания логики, взаимодействия с управляющей электроникой и подсветки.

Вывод Обозначение Описание
1 GND Общий вывод (земля)
2 Vcc Напряжение питания (3,3—5 В)
3 Vo Управление контрастностью
4 RS Выбор регистра
5 R/W Выбор режима записи или чтения
6 E Разрешение обращений к индикатору (а также строб данных)
7 DB0 Шина данных (8-ми битный режим)(младший бит в 8-ми битном режиме)
8 DB1 Шина данных (8-ми битный режим)
9 DB2 Шина данных (8-ми битный режим)
10 DB3 Шина данных (8-ми и 4-х битные режимы)(младший бит в 4-х битном режиме)
11 DB4 Шина данных (8-ми и 4-х битные режимы)
12 DB5 Шина данных (8-ми и 4-х битные режимы)
13 DB6 Шина данных (8-ми и 4-х битные режимы)
14 DB7 Шина данных (8-ми и 4-х битные режимы)
15 +LED + питания подсветки
16 –LED – питания подсветки

Дисплей может работать в двух режимах:

Использовать восьмибитный режим не целесообразно. Для его работы требуется на 4 дополнительные ноги, а выигрыша по скорости практически нет.

Подключение дисплея к управляющей плате

В качестве примера подключим дисплей к управляющей плате Arduino Uno. Для подключения понадобится Breadboard Half и соединительные провода «папа-папа».

Вывод Обозначение Пин Arduino Uno
1 GND GND
2 Vcc 5V
3 Vo GND
4 RS 12
5 R/W GND
6 E 11
7 DB0
8 DB1
9 DB2
10 DB3
11 DB4 5
12 DB5 4
13 DB6 3
14 DB7 2
15 Vcc 5V
16 GND GND

Аналогично можно подключить дисплей к платформе Iskra JS.

Вывод Обозначение Пин Iskra JS
1 GND GND
2 Vcc 5V
3 Vo GND
4 RS P12
5 R/W GND
6 E P11
7 DB0
8 DB1
9 DB2
10 DB3
11 DB4 P5
12 DB5 P4
13 DB6 P3
14 DB7 P2
15 Vcc 5V
16 GND GND

Примеры работы для Arduino

Для упрощения работы с LCD-дисплеем используйте встроенную библиотеку Liquid Crystal. В ней вы найдёте примеры кода с подробными комментариями.

Библиотека подходит как для работы с контроллерами на AVR-платформе, так и с ARM-контроллерами.

Вывод текста

Для вывода первой программы приветствия, воспользуйтесь кодом вроде этого:

Кириллица

Существует два способа вывода кириллицы на текстовые дисплеи:

Рассмотрим оба способа более подробно.

Таблица знакогенератора

Дисплейный модуль хранит в памяти две страницы знакогенератора, которые состоят из различных символов и букв. Для вывода символа на дисплей необходимо передать его номер в шестнадцатеричной системе из таблицы знакогенератора.

Так букве Я соответствует код B1 в шестнадцатеричной системе. Чтобы передать на экран строку «Яndex», необходимо в явном виде с помощью последовательности x## встроить в строку код символа:

Вы можете смешивать в одной строке обычные символы и явные коды как угодно. Единственный нюанс в том, что после того, как компилятор в строке видит последовательность x , он считывает за ним все символы, которые могут являться разрядами шестнадцатеричной системы даже если их больше двух. Из-за этого нельзя использовать символы из диапазона 0-9 и A-F следом за двузначным кодом символа, иначе на дисплее отобразится неправильная информация. Чтобы обойти этот момент, можно использовать тот факт, что две записанные рядом строки склеиваются.

Сравните две строки кода для вывода надписи «Яeee»:

Используя полученную информацию выведем на дисплей сообщение «Привет, Амперка!»:

Переключение страниц знакогенератора

Дисплейный модуль хранит в памяти две страницы знакогенератора. По умолчанию установлена нулевая страница. Для переключения между страницами используйте методы:

Дисплей не может одновременно отображать символы разных страниц.

Рассмотрим пример, в котором одна и та же строка будет отображаться по-разному — в зависимости от выбранной страницы.

Полную таблицу символов с кодами можно найти в документации к экрану.

Использование библиотеки Liqu >

Совсем не обязательно мучатся со знакогенератором, чтобы вывести русский символ. Для решения проблемы скачайте и установите библиотеку LiquidCrystalRus.

Это копия оригинальной библиотеки LiquidCrystal с добавлением русского языка. Добавленный в библиотеку код трансформирует русские символы UTF8 в правильные коды для текстового экрана.

В качестве примера выведем фразу «Привет, Амперка» на дисплей.

Примеры работы для Iskra JS

Для работы с LCD-дисплеем из среды Espruino существует библиотека HD44780.

Вывод текста

Для вывода программы приветствия, воспользуйтесь скриптом:

Кирилица

Вывод кирилицы на дисплей с помощью платформы Iskra JS доступен через встроенную в дисплей таблицу знакогенератора.

Таблица знакогенератора

Дисплейный модуль хранит в памяти две страницы знакогенератора, которые состоят из различных символов и букв. Для вывода символа на дисплей необходимо передать его номер в шестнадцатеричной системе из таблицы знакогенератора.

Так букве Я соответствует код B1 в шестнадцатеричной системе. Чтобы передать на экран строку «Яndex», необходимо в явном виде с помощью последовательности x## встроить в строку код символа:

Вы можете смешивать в одной строке обычные символы и явные коды как угодно. Единственный нюанс в том, что после того, как компилятор в строке видит последовательность x , он считывает за ним все символы, которые могут являться разрядами шестнадцатеричной системы даже если их больше двух. Из-за этого нельзя использовать символы из диапазона 0–9 и A–F следом за двузначным кодом символа, иначе на дисплее отобразится неправильная информация. Чтобы обойти этот момент, можно использовать тот факт, что две строки записанные рядом склеиваются.

Сравните две строки кода для вывода надписи «Яeee»:

Используя полученную информацию выведем на дисплей сообщение «Привет, Амперка!»:

Переключение страниц знакогенератора

Дисплейный модуль хранит в памяти две страницы знакогенератора. По умолчанию установлена нулевая страница. Для переключения между страницами используйте методы:

Дисплей не может одновременно отображать символы разных страниц.

Рассмотрим пример, в котором одна и та же строка будет отображаться по-разному — в зависимости от выбранной страницы.

Полную таблицу символов с кодами можно найти в документации к экрану.

Комнатный термометр

Дисплей удобен для отображения показаний модулей и сенсоров. Сделаем задатки «Умного Дома», а именно «комнатный термометр».

LCD дисплей – частый гость в проектах ардуино. Но в сложных схемах у нас может возникнуть проблема недостатка портов Arduino из-за необходимости подключить экран, у которого очень очень много контактов. Выходом в этой ситуации может стать I2C /IIC переходник, который подключает практически стандартный для Arduino экран 1602 к платам Uno, Nano или Mega всего лишь при помощи 4 пинов. В этой статье мы посмотрим, как можно подключить LCD экран с интерфейсом I2C, какие можно использовать библиотеки, напишем короткий скетч-пример и разберем типовые ошибки.

ЖК дисплей Arduino LCD 1602

Жидкокристаллический дисплей (Liquid Crystal Display) LCD 1602 является хорошим выбором для вывода строк символов в различных проектах. Он стоит недорого, есть различные модификации с разными цветами подсветки, вы можете легко скачать готовые библиотеки для скетчей Ардуино. Но самым главным недостатком этого экрана является тот факт, что дисплей имеет 16 цифровых выводов, из которых обязательными являются минимум 6. Поэтому использование этого LCD экрана без i2c добавляет серьезные ограничения для плат Arduino Uno или Nano. Если контактов не хватает, то вам придется покупать плату Arduino Mega или же сэкономить контакты, в том числе за счет подключения дисплея через i2c.

Краткое описание пинов LCD 1602

Давайте посмотрим на выводы LCD1602 повнимательней:

Каждый из выводов имеет свое назначение:

  1. Земля GND;
  2. Питание 5 В;
  3. Установка контрастности монитора;
  4. Команда, данные;
  5. Записывание и чтение данных;
  6. Enable;

7-14. Линии данных;

Технические характеристики дисплея:

  • Символьный тип отображения, есть возможность загрузки символов;
  • Светодиодная подсветка;
  • Контроллер HD44780;
  • Напряжение питания 5В;
  • Формат 16х2 символов;
  • Диапазон рабочих температур от -20С до +70С, диапазон температур хранения от -30С до +80 С;
  • Угол обзора 180 градусов.

Схема подключения LCD к плате Ардуино без i2C

Стандартная схема присоединения монитора напрямую к микроконтроллеру Ардуино без I2C выглядит следующим образом.

Из-за большого количества подключаемых контактов может не хватить места для присоединения нужных элементов. Использование I2C уменьшает количество проводов до 4, а занятых пинов до 2.

Где купить LCD экраны и шилды для ардуино

LCD экран 1602 (и вариант 2004) довольно популярен, поэтому вы без проблем сможете найти его как в отечественных интернет-магазинах, так и на зарубежных площадках. Приведем несколько ссылок на наиболее доступные варианты:

Описание протокола I2C

Прежде чем обсуждать подключение дисплея к ардуино через i2c-переходник, давайте вкратце поговорим о самом протоколе i2C.

I2C / IIC(Inter-Integrated Circuit) – это протокол, изначально создававшийся для связи интегральных микросхем внутри электронного устройства. Разработка принадлежит фирме Philips. В основе i2c протокола является использование 8-битной шины, которая нужна для связи блоков в управляющей электронике, и системе адресации, благодаря которой можно общаться по одним и тем же проводам с несколькими устройствами. Мы просто передаем данные то одному, то другому устройству, добавляя к пакетам данных идентификатор нужного элемента.

Самая простая схема I2C может содержать одно ведущее устройство (чаще всего это микроконтроллер Ардуино) и несколько ведомых (например, дисплей LCD). Каждое устройство имеет адрес в диапазоне от 7 до 127. Двух устройств с одинаковым адресом в одной схеме быть не должно.

Плата Arduino поддерживает i2c на аппаратном уровне. Вы можете использовать пины A4 и A5 для подключения устройств по данному протоколу.

В работе I2C можно выделить несколько преимуществ:

  • Для работы требуется всего 2 линии – SDA (линия данных) и SCL (линия синхронизации).
  • Подключение большого количества ведущих приборов.
  • Уменьшение времени разработки.
  • Для управления всем набором устройств требуется только один микроконтроллер.
  • Возможное число подключаемых микросхем к одной шине ограничивается только предельной емкостью.
  • Высокая степень сохранности данных из-за специального фильтра подавляющего всплески, встроенного в схемы.
  • Простая процедура диагностики возникающих сбоев, быстрая отладка неисправностей.
  • Шина уже интегрирована в саму Arduino, поэтому не нужно разрабатывать дополнительно шинный интерфейс.
  • Существует емкостное ограничение на линии – 400 пФ.
  • Трудное программирование контроллера I2C, если на шине имеется несколько различных устройств.
  • При большом количестве устройств возникает трудности локализации сбоя, если одно из них ошибочно устанавливает состояние низкого уровня.

Модуль i2c для LCD 1602 Arduino

Самый быстрый и удобный способ использования i2c дисплея в ардуино – это покупка готового экрана со встроенной поддержкой протокола. Но таких экранов не очень много истоят они не дешево. А вот разнообразных стандартных экранов выпущено уже огромное количество. Поэтому самым доступным и популярным сегодня вариантом является покупка и использование отдельного I2C модуля – переходника, который выглядит вот так:

С одной стороны модуля мы видим выводы i2c – земля, питание и 2 для передачи данных. С другой переходника видим разъемы внешнего питания. И, естественно, на плате есть множество ножек, с помощью которых модуль припаивается к стандартным выводам экрана.

Для подключения к плате ардуино используются i2c выходы. Если нужно, подключаем внешнее питание для подстветки. С помощью встроенного подстроечного резистора мы можем настроить настраиваемые значения контрастности J

На рынке можно встретить LCD 1602 модули с уже припаянными переходниками, их использование максимально упощено. Если вы купили отдельный переходник, нужно будет предварительно припаять его к модулю.

Подключение ЖК экрана к Ардуино по I2C

Для подключения необходимы сама плата Ардуино, дисплей, макетная плата, соединительные провода и потенциометр.

Если вы используете специальный отдельный i2c переходник, то нужно сначала припаять его к модулю экрана. Ошибиться там трудно, можете руководствоваться такой схемой.

Жидкокристаллический монитор с поддержкой i2c подключается к плате при помощи четырех проводов – два провода для данных, два провода для питания.

  • Вывод GND подключается к GND на плате.
  • Вывод VCC – на 5V.
  • SCL подключается к пину A5.
  • SDA подключается к пину A.

И это все! Никаких паутин проводов, в которых очень легко запутаться. При этом всю сложность реализации i2C протокола мы можем просто доверить библиотекам.

Библиотеки для работы с i2c LCD дисплеем

Для взаимодействие Arduino c LCD 1602 по шине I2C вам потребуются как минимум две библиотеки:

  • Библиотека Wire.h для работы с I2C уже имеется в стандартной программе Arduino IDE.
  • Библиотека LiquidCrystal_I2C.h, которая включает в себя большое разнообразие команд для управления монитором по шине I2C и позволяет сделать скетч проще и короче. Нужно дополнительно установить библиотеку После подключения дисплея нужно дополнительно установить библиотеку LiquidCrystal_I2C.h

После подключения к скетчу всех необходимых библиотек мы создаем объект и можем использовать все его функции. Для тестирования давайте загрузим следующий стандартный скетч из примера.

Описание функций и методов библиотеки LiquidCrystal_I2C:

  • home() и clear() – первая функция позволяет вернуть курсор в начало экрана, вторая тоже, но при этом удаляет все, что было на мониторе до этого.
  • write(ch) – позволяет вывести одиночный символ ch на экран.
  • cursor() и noCursor() – показывает/скрывает курсор на экране.
  • blink() и noBlink() – курсор мигает/не мигает (если до этого было включено его отображение).
  • display() и noDisplay() – позволяет подключить/отключить дисплей.
  • scrollDisplayLeft() и scrollDisplayRight() – прокручивает экран на один знак влево/вправо.
  • autoscroll() и noAutoscroll() – позволяет включить/выключить режим автопрокручивания. В этом режиме каждый новый символ записывается в одном и том же месте, вытесняя ранее написанное на экране.
  • leftToRight() и rightToLeft() – Установка направление выводимого текста – слева направо или справа налево.
  • createChar(ch, bitmap) – создает символ с кодом ch (0 – 7), используя массив битовых масок bitmap для создания черных и белых точек.

Альтернативная библиотека для работы с i2c дисплеем

В некоторых случаях при использовании указанной библиотеки с устройствами, оснащенными контроллерами PCF8574 могут возникать ошибки. В этом случае в качестве альтернативы можно предложить библиотеку LiquidCrystal_PCF8574.h. Она расширяет LiquidCrystal_I2C, поэтому проблем с ее использованием быть не должно.

Скачать библиотеку можно на нашем сайте. Библиотека также встроена в последние версии Arduino IDE.

Проблемы подключения i2c lcd дисплея

Если после загрузки скетча у вас не появилось никакой надписи на дисплее, попробуйте выполнить следующие действия.

Во-первых, можно увеличить или уменьшить контрастность монитора. Часто символы просто не видны из-за режима контрастности и подсветки.

Если это не помогло, то проверьте правильность подключения контактов, подключено ли питание подсветки. Если вы использовали отдельный i2c переходник, то проверьте еще раз качество пайки контактов.

Другой часто встречающейся причиной отсутствия текста на экране может стать неправильный i2c адрес. Попробуйте сперва поменять в скетче адрес устройства с 0x27 0x20 или на 0x3F. У разных производителей могут быть зашиты разные адреса по умолчанию. Если и это не помогло, можете запустить скетч i2c сканера, который просматривает все подключенные устройства и определяет их адрес методом перебора. Пример скетча i2c сканера.

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

Заключение

В этой статье мы рассмотрели основные вопросы использования LCD экрана в сложных проектах ардуино, когда нам нужно экономить свободные пины на плате. Простой и недорогой переходник i2c позволит подключить LCD экран 1602, занимая всего 2 аналоговых пина. Во многих ситуациях это может быть очень важным. Плата за удобство – необходимость в использовании дополнительного модуля – конвертера и библиотеки. На наш взгляд, совсем не высокая цена за удобство и мы крайне рекомендуем использовать эту возможность в проектах.

Статья рассказывает о том, как правильно подключить LCD к Arduino, рассмотрено всё необходимое про подключение LCD 1602 и LCD i2c.

Шаг 1. О проекте

Дисплеи LCD 1602 размера, созданные на базе HD44780 контроллера, в наши дни всё ещё остаются одними из самых доступных, простых и востребованных, чтобы разрабатывать какие бы то ни было электронные устройства.

Неудивительно, что их можно увидеть как в простых, собранных буквально на коленке агрегатах, так и в более серьезных промышленных, например автоматах для приготовления кофе. Именно с таким дисплеем и собираются наиболее популярные модули и шилды по тематике Arduino, например LCD I2C модуль и LCD Keypad Shield.

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

Шаг 2. LCD-дисплей 1602 для Ардуино

Дисплеи 1602 имеют два различных исполнения:

  • жёлтая подсветка с чёрными буквами
  • либо (это бывает гораздо чаще) синяя подсветка с белыми.

Размерность дисплеев на HD44780 контроллере бывает самой разной, а управляются они одинаково. Наиболее распространённые из размерностей – 16 на 02 (то есть по 16 символов в двух строках) или 20 на 04. Сами же символы имеют разрешение в 5 на 8 точек.

Большая часть дисплеев не поддерживает кириллицу (за исключением дисплеев CTK-маркировки). Но такая проблема частично решаема, и далее статья подробно рассказывает, как это сделать.

На дисплее есть 16-PIN разъём для подключения. Выводы имеют маркировку с тыльной стороны платы, она следующая:

  • 1 (VSS) – питание на минус для контроллера.
  • 2 (VDD) – питание на плюс для контроллера.
  • 3 (VO) – настройки управления контрастом.
  • 4 (RS) – выбор для регистра.
  • 5 (R/W) – чтение и запись, в частности, запись при соединении с землёй.
  • 6 (E) – активация (enable).
  • 7–10 (DB0-DB3) – младшие биты от восьмибитного интерфейса.
  • 11–14 (DB4-DB7) – старшие биты от интерфейса
  • 15 (A) – положительный анод на питание подсветки.
  • 16 (K) – отрицательный катод на питание подсветки.

Шаг 3. Подключаем ЖК-дисплей

Перед тем как подключать дисплей и передавать на него информацию, стоит проверить его работоспособность. Сперва подайте напряжение на VSS и VDD контроллер, запитайте подсветку (A, K), далее настройте контрастность.

Для таких настроек подойдёт потенциометр с 10 кОм, форма его не важна. На крайние ноги подают +5V и GND, а ножку по центру соединяют с VO выводом.

Когда на схему подаётся питание, нужно добиться необходимого контраста, если он настраивается неправильно, то и изображение на экране видно не будет. Чтобы настроить контраст, нужно «поиграть» с потенциометром. Когда схема будет собрана правильно и контраст настроен верно, верхняя строка на экране должна заполниться прямоугольниками.

Чтобы дисплей работал, применяется встроенная в Arduino IDE среду специальная библиотека LiquidCrystal.h, о которой я напишу ниже. Он может действовать в 8-битном и в 4-битном режиме. В первом варианте применяют лишь младшие и старшие биты (BB0-DB7), во втором – только младшие (BB4-DB7).

Но применение 8-битного режима в этом дисплее – неправильное решение, преимущества в скорости почти нет, поскольку частота обновления у него всегда меньше 10 раз за секунду. Чтобы выводился текст, надо присоединить выводы DB7, DB6, DB5, DB4, E и RS к выводам контроллера. Присоединять их допустимо к любым пинам Arduino, главное – задание верной последовательности в коде.

Если необходимого символа пока что нет в памяти контроллера, то можно его определить вручную (всего до семи символов). Ячейка в рассматриваемых дисплеях имеет расширение в пять на восемь точек. Задача создания символа в том, чтобы написать битовую маску и расставить единички в местах, где точки должны гореть, а нолики – где не должны. Рассмотренная выше схема подключения не всегда хороша, т. к. на Arduino занимается минимум шесть цифровых выходов.

Шаг 4. Схема обхода

Изучим вариант, как обойти это и обойтись только двумя. Нужен добавочный модуль-конвертор для LCD в IIC/I2C. Как он припаивается к дисплею и присоединяется к Arduino, можно увидеть на изображениях ниже.

Но такой вариант подключения действует лишь со специальной библиотекой LiquidCrystal_I2C1602V1, которую, впрочем, нетрудно найти в Сети и установить, после чего можно без проблем им пользоваться.

Шаг 4: Библиотека LiquidCrystal.h

Библиотеку LiquidCrystal.h можно скачать в разделе Библиотек нашего сайта на этой странице или с официального ресурса arduino.cc. Но также вы можете скачать ниже по ссылкам:

Шаг 5. Скетч (код программы)

После того, как вы скачали архив замените папку LiquidCrystal в папке с библиотеками вашего каталога установки Arduino.

Вы можете увидеть примерный скетч по адресу:

Файл -> Примеры -> LiquidCrystal -> HelloWorld_SPI

Либо, если у вас меню на английском:

File -> Examples -> LiquidCrystal -> HelloWorld_SPI

На этом наш очередной урок завершен. Желаем вам качественных проектов!

7 дисплеев, совместимых с Arduino, для ваших электронных проектов

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

Будь то показания датчика, сообщение ОК или создание интерфейса для взаимодействия с вашей платой Arduino.

Существует несколько типов дисплеев, совместимых с вашим Arduino, вот список из 7 из них.

1. ЖК-дисплей TFT

С помощью TFT-дисплея вы можете отображать красочные изображения или графику. Этот модуль имеет разрешение 480 x 320. Этот модуль включает в себя гнездо для SD-карты и схему SPI FLASH.

Посмотреть этот дисплей на ebay ->

2. Сенсорный ЖК-дисплей TFT

Этот модуль аналогичен ЖК-дисплею TFT, но имеет сенсорный экран.

Посмотреть этот дисплей на ebay ->

3. Точечная матрица

Точечная матрица имеет 64 светодиода, 8 × 8.Вы можете управлять каждым светодиодом индивидуально для отображения букв, цифр, цифр и т. Д.

Вы можете прикрепить несколько точечных матриц, чтобы получить большую площадь.

Посмотреть этот дисплей на ebay ->

4. Белый OLED-дисплей

Это крошечный дисплей размером всего 1 x 0,96 дюйма. Этот дисплей имеет черный фон, а символы отображаются белым цветом. Существуют и другие подобные дисплеи, на которых символы могут отображаться другими цветами.

Посмотреть этот дисплей на ebay ->

5.ЖК-дисплей 16 × 2 символа

Обычно это первый дисплей, который используют большинство людей, когда впервые начинают использовать плату Arduino.

Отображает 16 символов в 2 строки (доступны и другие размеры). Эти дисплеи бывают с синим или зеленым фоном и с подсветкой.

Посмотреть этот дисплей на ebay ->

6. 5110 ЖК-дисплей

Это такие дисплеи, которые используются в старых сотовых телефонах Nokia.

Фон серый, а символы или изображения отображаются более тёмно-серым цветом.Они очень дешевые и простые в использовании.

Посмотреть этот дисплей на ebay ->

7. 4-битный цифровой трубчатый светодиодный дисплей

Этот дисплей позволяет отображать 4 цифры с семью сегментами. Например, полезно отображать данные с датчика температуры.

Посмотреть этот дисплей на ebay ->

Заключение

Вы когда-нибудь пользовались одним из этих дисплеев? Какой дисплей вы используете чаще?

Сообщите мне, оставив комментарий ниже.

Спасибо за чтение,

Руи

П.С. Я рекомендую прочитать: 21 модуль Arduino, который можно купить менее чем за $ 2

Как настроить ЖК-дисплей с Arduino

Итак, вы хотите установить свой ЖК-модуль с Arduino — но черт возьми! Что делать со всеми этими булавками? Какие идут куда? Есть ли на что обратить внимание при покупке или установке нового ЖК-модуля?

Рад, что вы спросили, потому что это то, на что это руководство будет пытаться ответить.

Этот урок будет включать:

  1. Что нужно учитывать при покупке ЖК-модуля.
  2. Пошаговые схемы, показывающие, какие выводы ЖК-дисплея подключать к Arduino.
  3. Тайны русской мафии.

Хотите

ускорить свои навыки Arduino?

Что следует учитывать при покупке ЖК-модуля для Arduino (если у вас уже есть ЖК-дисплей, перейдите к следующему разделу)

Обратите внимание на словоблудие, когда мы говорим о ЖК-дисплеях, вы будете постоянно видеть два слова «ЖК-модуль».Это потому, что, когда вы покупаете ЖК-экраны, вы, скорее всего, купите его как модуль «plug-and-play».

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

Самое важное, что нужно учитывать:

Давайте перейдем к делу — САМАЯ важная вещь, которую вам нужно убедиться при покупке ЖК-дисплея, — это совместимость с драйвером Hitachi HD44780.Позвольте мне сказать, что больше:

«Ваш ЖК-дисплей должен быть совместим с драйвером Hitachi HD44780».

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

Так зачем нам ЖК-дисплей, совместимый с драйвером Hitachi HD44780? Это потому, что библиотека LiquidCrystal, которую мы будем использовать для управления ЖК-дисплеем с Arduino, использует драйвер в качестве стандартного.Функции библиотеки не обязательно будут работать на ЖК-экранах других типов.

Еще кое-что, что следует учитывать:

Размер:

Размер дисплея будет указан в количестве символов в строке, а затем в количестве строк.

На рисунке ниже ЖК-дисплей будет рекламироваться как сегмент 16 X 2.

Некоторые из наиболее распространенных размеров — 16 x 2, 20 x 2 и 20 x 4, а также более крупные 40 x 4.

Цвета и подсветка: ЖК-дисплеи

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

Доступность выводов и маркировка печатной платы.

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

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

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

Вы также можете подумать о припаивании разъемов контактов к модулю. Это примерно в миллион раз упрощает подключение ЖК-дисплея к макету для создания прототипов.Возможно, вам не удастся найти 16-контактный разъем, но он сделан так, чтобы его можно было обрезать до желаемой длины.

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

Это почти суммирует все, что я могу придумать, когда дело доходит до выбора вашего ЖК-модуля — так что давайте подключим его!

Пошаговые схемы, показывающие, какие выводы ЖК-дисплея подключать к Arduino

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

Сначала давайте посмотрим на окончательную схему, а затем продвинемся шаг за шагом.

Итак, обо всем по порядку — вам понадобится следующее:

  • Потенциометр 10K
  • Макетная плата без пайки
  • Ардуино
  • ЖК-модуль
  • Монтажный провод или контактные разъемы
  • Заголовки контактов
  • Провода перемычки (тонна)
  • Паяльный пистолет
  • Припой
  • ИЛИ много зажимов из крокодиловой кожи, если вы чувствуете себя неуклюже (не рекомендуется)

Что вам понадобится (в основном)

А теперь пора подключиться…

Шаг 1: Подключите питание

Шаг 2: Подключите заземление

Шаг 3. Подключите регулятор яркости дисплея

Шаг 5: Подключите дополнительную линию управления

Шаг 6: Подключите еще одну линию управления

Шаг 7: Начните подключение линий передачи данных

Шаг 8: Другая строка данных…

Шаг 8: Еще одна строка данных…

Шаг 8: Дайте мне еще коровьего колокольчика! Я имею в виду… еще одну строку данных.

Давайте еще раз посмотрим на окончательную схему, не так уж и безумно…

Ваш вызов:
  1. Подключите ЖК-дисплей к Arduino. Бьюсь об заклад, вы сделаете это правильно в первую очередь! (или нет…)
  2. Что произойдет, если поменять местами контакты питания и заземления на потенциометре?

6 дисплеев для вывода данных с вашего Arduino

Итак, у вас есть Arduino. Вы узнали некоторые основы, возможно, вы следовали руководству для начинающих, чтобы начать работу.Что дальше?

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

Многие стартовые комплекты Arduino имеют простой дисплей.Существует также множество предварительно созданных щитов Arduino, в которые встроены экраны. Хотя ранее мы рассмотрели более крупные дисплеи, разработанные для Raspberry Pi, есть несколько доступных вариантов, которые лучше подходят для проектов на базе Arduino.

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

1. Жидкокристаллический дисплей

Жидкокристаллический дисплей — это наиболее распространенный дисплей, который можно найти в проектах DIY и бытовой технике.Это неудивительно, поскольку они просты в эксплуатации, маломощны и невероятно дешевы.

Этот тип дисплея может различаться по дизайну. Некоторые из них больше, с большим количеством пробелов и строк, некоторые с подсветкой. Большинство из них подключаются непосредственно к плате через 8 или 12 соединений с выводами Arduino, что делает их несовместимыми с платами с меньшим количеством выводов. В этом случае купите экран с адаптером I2C , позволяющим управлять только с 4 контактов.

Кредит изображения: www.martyncurrey.com

Эти простые дисплеи, доступные всего за несколько долларов (или всего 1,95 доллара на Aliexpress с включенным адаптером I2C), можно использовать для обратной связи в реальном времени по любому проекту.

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

Кредит изображения: arduino.cc

Примечание: Если вы используете адаптер I2C для ЖК-экрана, вам потребуется вместо этого использовать библиотеку LiquidCrystal_I2C.

Если вы предпочитаете видеоуроки, Circuit Basics отлично подойдет для настройки и использования ЖК-дисплея 16×2 :

2. Семисегментные дисплеи

Вы ищете что-то простое для отображения чисел и нескольких основных символов? Может быть, вы ищете что-нибудь в духе олдскульной аркады? Семисегментный дисплей может удовлетворить ваши потребности.

Если вы раньше не сталкивались с этими удобными маленькими дисплеями, наша игра Buzz Wire использует их для отображения статуса игры:

Эти простые платы состоят из 7 светодиодов (8, если вы включаете точку) и работают так же, как обычные светодиоды с общим соединением Anode или Cathode . Это позволяет им использовать одно соединение с V + (или GND для общего катода) и управлять ими с контактов вашего Arduino. Комбинируя эти контакты в коде, вы можете создавать числа и несколько букв, а также создавать более абстрактные рисунки — все, что вы можете придумать, используя доступные сегменты!

Чтобы получить полное представление о том, как работают эти дисплеи, обратитесь к обширному руководству для начинающих от AllAboutCircuits .

Для видеогида, которому следует следовать, Kristian Blåsol посвятил эпизод своей серии Anything Arduino семисегментным дисплеям:

3. Дисплей 5110

Следующим в нашем списке идет 5110 display , также ласково известный как дисплей Nokia из-за его широкого использования в любимой и почти неразрушимой Nokia 3310.

Кредит изображения: sparkfun.com

Эти крошечные ЖК-экраны монохромны и имеют размер экрана 84 x 48 пикселей, но пусть это вас не вводит в заблуждение. Эти дисплеи стоят менее 2 долларов на Aliexpress, они невероятно дешевы и обычно поставляются с подсветкой в ​​стандартной комплектации.

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

У Sparkfun есть подробное руководство по использованию этих маленьких ЖК-дисплеев, а для быстрого знакомства с 5110 посмотрите это видео из MKMe Lab :

4. Дисплеи OLED

Для повышения разрешения и функциональности дисплей OLED может быть тем, что вы ищете.На первый взгляд эти экраны похожи на экраны 5110, но представляют собой существенное обновление. Стандартные 0,96-дюймовые экраны имеют размер 128 x 64, монохромный и стандартно оснащены подсветкой.

Они подключаются к вашему Arduino с помощью I2C , а это означает, что наряду с контактами V + и GND для связи с экраном требуются только два дополнительных контакта. Благодаря наличию различных размеров и полноцветных вариантов эти дисплеи невероятно универсальны.

Кредит изображения: adafruit.com

Для проекта, который поможет вам начать работу с OLED-дисплеями, наша сборка Electronic D20 научит вас всему, что вам нужно знать, и в итоге вы получите потрясающие цифровые игральные кости для игровых сессий!

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

5. ЖК-дисплей TFT

Жидкокристаллические дисплеи на тонкопленочных транзисторах (TFT LCD). — это во многих отношениях еще один шаг вперед в качестве, когда речь идет о вариантах добавления экрана к вашей Arduino. Доступные с сенсорным экраном или без него, они также добавляют возможность загружать файлы растровых изображений из встроенного слота для карт памяти micro SD.

У Arduino есть официальное руководство по настройке несенсорного экрана TFT LCD.В виде видеоурока, который научит вас основам настройки версии с сенсорным экраном, YouTuber education8s.tv предлагает вам следующие материалы:

Базовая версия этих экранов стоит менее 4 долларов, а версии для сенсорных экранов — менее 10 долларов [Broken Link Removed], эти дисплеи — еще один отличный выбор, когда вам нужен красивый дисплей для вашего проекта.

6. Дисплеи для электронной бумаги

Ищете что-то немного другое? Дисплей E-paper (или E-ink в зависимости от того, кого вы спрашиваете) может подойти вам.Эти экраны отличаются от других, обеспечивая более естественное чтение. Неудивительно, что эта технология является краеугольным камнем почти всех доступных электронных книг.

Кредит изображения: waveshare.com

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

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

Эти высокотехнологичные дисплеи действительно стоят дороже: 4,3-дюймовый экран Waveshare стоит более 50 долларов. Чтобы получить полное изложение того, как подключить и запрограммировать эти дисплеи, YouTuber education8s.tv снова здесь, чтобы помочь:

Экранные мечты

В этой статье рассказывается о большинстве вариантов, доступных для дисплеев Arduino, хотя есть определенно более странные и замечательные способы добавить обратную связь к вашим устройствам DIY.

Теперь, когда у вас есть идея, почему бы не включить экран в свой умный дом своими руками? Если вам больше нравятся ретро-игры, почему бы не создать свою собственную крошечную версию классического ретро-понга на Arduino?

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

Дайте нам знать в разделе комментариев ниже!

Надеемся, вам понравятся предметы, которые мы рекомендуем и обсуждаем! MUO имеет филиал и спонсируемые партнерства, поэтому мы получаем долю дохода от некоторых ваших покупок.Этот не повлияет на цену, которую вы платите, и поможет нам предложить лучшие рекомендации по продуктам.

12 видеосайтов, которые лучше, чем YouTube

Вот несколько видеосайтов, альтернативных YouTube. Каждый из них занимает свою нишу, но их стоит добавить в закладки.

Читать далее

Об авторе Ян Бакли (Опубликовано 213 статей)

Ян Бакли — независимый журналист, музыкант, исполнитель и видеопродюсер, живущий в Берлине, Германия.Когда он не пишет или на сцене, он возится с электроникой или кодом своими руками в надежде стать безумным ученым.

Более От Яна Бакли
Подпишитесь на нашу рассылку новостей

Подпишитесь на нашу рассылку, чтобы получать технические советы, обзоры, бесплатные электронные книги и эксклюзивные предложения!

Нажмите здесь, чтобы подписаться

лучших дисплеев Arduino — Educ8s.телевизор

ЖК-дисплеи

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

С другой стороны, цена на ЖК-дисплеи очень низкая. Nokia 5110, модель 1.Цветной TFT-дисплей с диагональю 8 дюймов и цветной TFT-дисплей с диагональю 3,5 дюйма — все это дисплеи, в которых используется ЖК-технология.

OLED-дисплеи

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

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

Дисплеи для электронной бумаги

E-Paper of Electronic paper — это дисплеи, которые в отличие от традиционных ЖК-дисплеев или OLED-дисплеев не излучают свет, а отражают свет.Это похоже на чернила на бумаге. Эта характеристика делает электронные дисплеи очень удобными для чтения, и они отлично читаются под прямыми солнечными лучами. Еще одна замечательная особенность дисплеев с электронной бумагой — это то, что они могут хранить статичный текст и изображение в течение нескольких месяцев без электричества! Да, верно, дисплей может показывать текст и изображение, даже если он выключен! Это делает электронные дисплеи идеальными для проектов с низким энергопотреблением!

К сожалению, есть и недостатки. Цена на электронные бумажные дисплеи по-прежнему очень высока.Например, этот 4,3-дюймовый экран E-Paper для Arduino стоит более 60 долларов. Другим существенным недостатком является то, что на обновление электронных дисплеев уходит много времени, до 2-3 секунд. Таким образом, они полезны только для статического текста и изображений, но не для анимации.

Nokia 5110 Lcd Display Один из лучших дисплеев Arduino

ЖК-дисплей Nokia 5110 — это мой любимый дисплей для моих проектов Arduino. Я считаю, что это лучший дисплей Arduino для большинства проектов.

Nokia 5110 — это простой графический ЖК-экран, изначально предназначенный для использования в качестве экрана мобильного телефона.Он использует контроллер PCD8544, который является контроллером / драйвером CMOS LCD с низким энергопотреблением. Благодаря этому у этого дисплея впечатляющее энергопотребление. Во включенном состоянии потребляет всего 0,4 мА, но подсветка отключена. В спящем режиме потребляет менее 0,06 мА! Это одна из причин, по которой этот дисплей стал моим любимым. PCD8544 взаимодействует с микроконтроллерами через интерфейс последовательной шины. Это делает дисплей очень простым в использовании с Arduino.

Вам нужно всего лишь подключить восемь проводов и использовать следующую библиотеку: http: // www.rinkydinkelectronics.com/library.php?i…

Эта впечатляющая библиотека разработана Хеннингом Карлсеном, который приложил огромные усилия, чтобы помочь сообществу Arduino продвинуться вперед со своими библиотеками. Я подготовил подробное руководство по использованию ЖК-дисплея Nokia 5110 с Arduino. Вы смотрите это в этом видео:

По соображениям конфиденциальности YouTube требуется ваше разрешение для загрузки. Для получения дополнительной информации, пожалуйста, ознакомьтесь с нашей Политикой конфиденциальности. Я принимаю

Цветной OLED-дисплей

Это совершенно новый дисплей, и он быстро стал одним из моих любимых, потому что он использует технологию OLED, он может отображать 65.000 цветов, он очень маленький, очень яркий и имеет низкое энергопотребление.

Кроме того, его также просто использовать с Arduino, поскольку для него есть библиотека. Это библиотека Adafruit SSD1331, которую вы найдете здесь.

Кроме того, несмотря на то, что этот дисплей крошечный, он один из моих любимых, потому что идеально подходит для портативных проектов. Его потребляемая мощность составляет около 10-20 мА, и это зависит от количества освещенных пикселей.

Я попробовал дисплей и опубликовал его видеообзор здесь:

По соображениям конфиденциальности YouTube требуется ваше разрешение для загрузки.Для получения дополнительной информации, пожалуйста, ознакомьтесь с нашей Политикой конфиденциальности. Я принимаю

ST7735 Цветной TFT-дисплей

Прежде всего, цветной TFT-дисплей ST7735 — это очень недорогой дисплей. Он стоит около 5 долларов и имеет отличную библиотечную поддержку. Я использовал его во многих своих проектах, и считаю, что это здорово!

Кроме того, дисплей предлагает разрешение 160 × 128 пикселей и может отображать 65 000 цветов. Он использует интерфейс SPI для связи с платами Arduino. Кроме того, он хорошо работает со всеми доступными платами Arduino, такими как Arduino Uno, Arduino Mega и Arduino Due.Он также отлично работает с платами на базе ESP8266, такими как Wemos D1 и Wemos D1 mini.

Также потребляемая мощность платы составляет около 50 мА, что, на мой взгляд, неплохо. Мы можем легко использовать эту доску для создания проектов с батарейным питанием, которые не нужно постоянно использовать.

В заключение, это один из лучших дисплеев Arduino, если вам нужен цвет и низкая стоимость. Я подготовил подробное руководство по 1,8-дюймовому цветному TFT-дисплею ST7735, вы можете посмотреть его здесь:

По соображениям конфиденциальности YouTube требуется ваше разрешение для загрузки.Для получения дополнительной информации, пожалуйста, ознакомьтесь с нашей Политикой конфиденциальности. Я принимаю

Белый OLED-дисплей SSD1306

Это еще один очень хороший дисплей для использования с Arduino. Это OLED-дисплей, а это значит, что он имеет низкое энергопотребление. Энергопотребление этого дисплея составляет около 10-20 мА, и это зависит от количества горящих пикселей.

Дисплей имеет разрешение 128х64 пикселей и он крошечный по размеру . Кроме того, он очень яркий и имеет отличную библиотечную поддержку.Adafruit разработала очень хорошую библиотеку для этого дисплея, и вы можете найти эту библиотеку здесь.

В дополнение к этому, дисплей использует интерфейс I2C, так что соединение с Arduino невероятно простое . Вам нужно только подключить два провода, кроме Vcc и GND. Если вы новичок в Arduino и хотите недорогой и простой в использовании дисплей для использования с вашим проектом, начните с дисплея. Это самый простой способ добавить дисплей в ваш проект Arduino.

Я подготовил подробное руководство по использованию этого дисплея.Вы можете посмотреть это ниже:

По соображениям конфиденциальности YouTube требуется ваше разрешение для загрузки. Для получения дополнительной информации, пожалуйста, ознакомьтесь с нашей Политикой конфиденциальности. Я принимаю

Цветной TFT-дисплей с диагональю 3,5 дюйма

Этот цветной TFT-дисплей с диагональю 3,5 дюйма — самый большой дисплей, который вы можете использовать в своем проекте, если используете Arduino Uno или Mega. К сожалению, он не поддерживает ни быстрый Arduino Due, ни плату Wemos D1 ESP8266.

Одним из самых больших преимуществ этого дисплея , за исключением его большого размера, является его впечатляющее разрешение. Разрешение дисплея 480х320 пикселей! В дополнение к этому, дисплей предлагает устройство чтения SD-карт на задней панели, чтобы вы могли хранить данные.

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

С другой стороны, дисплей немного медленнее по сравнению с меньшими дисплеями.

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

По соображениям конфиденциальности YouTube требуется ваше разрешение для загрузки. Для получения более подробной информации, пожалуйста, ознакомьтесь с нашей Политикой конфиденциальности.Я принимаю

Serial SPI Arduino 10.1 «TFT LCD Display Shield RA8876 для Due

Уведомление о повышении цены
Производители стеклянных ячеек TFT, такие как Tianma, Hanstar, BOE, Innolux, сократили или прекратили производство стеклянных ячеек малых и средних размеров с августа 2020 года из-за низкой прибыли и внимания на размер ЖК-телевизора, планшетного ПК и смартфона. В результате цена на стеклянные ячейки на рынке чрезвычайно высока, и такая же ситуация происходит в отрасли IC.Мы глубоко сожалеем о том, что быстро растущие затраты на стеклянную ячейку и ИС контроллера вынуждают нас повышать цену на tft-дисплей. Мы сделали все возможное, чтобы избежать увеличения, мы не могли получить прибыль с самого начала, но цена часто растет, мы Теперь теряем много денег. У нас нет выбора, если мы хотим выжить. Нет однозначного ответа на вопрос, когда цена вернется к норме. Мы предполагаем, что компании-производители стеклянных элементов и полупроводников восстановят производственный график как минимум через 6 месяцев.(Марта-03-2021)

Описание

Оживите свой проект Arduino с помощью красивого большого экрана со встроенным разъемом для карты памяти microSD. Этот TFT-дисплей большой (диагональ 10,1 дюйма), яркий (24 белых светодиода с подсветкой) и красочный (18 бит, 262 000 различных оттенков)! 1024 x 600 пикселей с индивидуальным управлением пикселями, дополнительная 10,1-дюймовая емкостная сенсорная панель.

Щит полностью собран, протестирован и готов к работе. Ни проводки, ни пайки! Просто подключите его и загрузите нашу библиотеку — она ​​будет запущена менее чем за 10 минут! Лучше всего работает с любой платой Arduino Due.
В этот экран дисплея встроен контроллер с буферизацией RAM, так что микроконтроллер почти не выполняет никаких действий. Вы можете подключить больше датчиков, кнопок и светодиодов.

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

Для тех, кому нужен такой же экран, но без щита, обратите внимание на наш 10.1 «TFT прорыв.

Что входит в комплект?

Номер Стандартное название аксессуара Количество
1 10,1-дюймовый TFT ЖК-дисплей с платой контроллера RA8876 1
2 Arduino щит 1

* Источник питания по умолчанию — 5 В, интерфейс по умолчанию — 4-проводный последовательный интерфейс.

Совместим со следующими платами Arduino

Название платы MCU I / O
Arduino MEGA2560 АТМЕГА 2560 54
Arduino MEGA1280 АТМЕГА 1280 54
Arduino Due AT91SAM3X8EA 54
Arduino Uno ATMEGA328 14

Внимание

Если через ваши руки прошло много Arduino DUE (или если вам просто не повезло), скорее всего, вы встретили хотя бы один, который не запускается должным образом.Симптом прост: вы включаете Arduino, но он не загружается. Ваш код просто не запускается. Вы могли заметить, что сброс платы (нажатием кнопки сброса) приводит к нормальному запуску платы. Исправить это просто, вот решение.

Техническое описание модуля дисплея

Техническое описание и схема

для Arduino Shield

Лист данных сенсорного контроллера

Учебное пособие

— библиотеки Arduino Due, примеры

Как подключить ЖК-экран в Arduino

Добавив привлекательные возможности отображения в свой проект Arduino, вы можете сделать свое интеллектуальное устройство более читабельным и более полезным.

В этом руководстве мы рассмотрим, как подключить экран жидкокристаллического дисплея (ЖКД) к плате Arduino Uno.

Как работают ЖК-дисплеи

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

В самой базовой версии используются «семисегментные дисплеи», обычно встречающиеся в калькуляторах, цифровых сигнализациях и дисплеях насосов АЗС.Они просто состоят из лопастей, которые можно зажигать в различных комбинациях для получения числовых значений.

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

«Точечно-матричный ЖК-дисплей» находится где-то посередине между основными и наиболее продвинутыми ЖК-технологиями.Они полезны для отображения алфавитов, цифр, а также верхнего и нижнего регистра букв.

Одним из наиболее распространенных матричных ЖК-дисплеев является модуль 2 × 16, который относится к двум строкам и шестнадцати столбцам выводов ЖК-дисплея. Это то, что мы будем использовать в наших соединениях с платой Arduino.

Настройка проекта

Следующее оборудование необходимо для сопряжения ЖК-экрана с Arduino.

  • Плата Arduino Uno
  • ЖК-экран с точечной матрицей 2 × 16 (как указано выше)
  • Соединительные провода
  • Макетная плата
  • 10K Потенциометр для изменения контрастности ЖК-дисплея
  • Пайка выводов дисплея с макетной платой

Arduino сайт предлагает подробный пример сборки.Он совместим со встроенной библиотекой, доступной для Arduino IDE.

Хотя на первый взгляд схема может показаться сложной, вот простое пошаговое объяснение различных этапов.

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

Затем первый и последний контакты ЖК-дисплея подключаются к отрицательной шине сверху. Контакты Arduino GND и 5 В на стороне источника питания подключены к положительной шине, в отличие от разъемов ЖК-дисплея.

Кроме того, потенциометр 10 кОм должен подключаться к макетной плате для конфигураций GND и + 5V.

ЖК-дисплей имеет различные контакты, такие как контакты выбора регистра (RS), контакты чтения / записи (R / W), контакты включения и 8 контактов данных. Каждый из них выполняет определенную функцию по отношению к проекту.

Вам не нужно разбираться в них подробно, поскольку их роли четко объяснены во встроенном примере, который мы будем использовать. Единственное, что требуется, — это правильно выполнить соединения в соответствии со схемой ниже.

Схема сборки Arduino Uno-LCD (Источник: Arduino.cc)

Рабочий код

Сначала убедитесь, что в вашей системе установлена ​​Arduino IDE. У нас есть подробные руководства по настройке IDE в Windows, Mac и Linux.

Откройте среду IDE и перейдите в «Файл -> Примеры -> LiquidCrystal -> HelloWorld», чтобы получить код для этого проекта.

Как объяснялось ранее, сама библиотека примеров содержит все данные, необходимые для создания ваших соединений.

Кодовые команды довольно просты, если вы понимаете основы Arduino IDE. Они описаны в нашей удобной шпаргалке. Кроме того, вам понадобится begin () , который помогает инициализировать взаимодействие с ЖК-экраном.

Вы можете изменить отображаемый текст в соответствии с вашими потребностями. Чтобы изменить положение курсора в другое место на ЖК-экране, используйте lcd.setcursor (x, y) . Время отображения в миллисекундах также можно настроить, как показано ниже.

Нажмите кнопки «Подтвердить» и «Загрузить», и скетч будет загружен на плату Arduino Uno.

С ЖК-дисплеем можно повозиться гораздо больше. Физическая схема не изменится, но вы можете заставить дисплей прокручиваться влево и вправо, используя scroll () или автоматически перемещаясь справа налево и наоборот, используя autoscroll () . Есть еще один вариант для курсора в стиле подчеркивания с использованием курсора () .

Заключение

ЖК-экраны

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

Вы пробовали включать ЖК-экраны в свои проекты Arduino или Raspberry Pi? Пожалуйста, дайте нам знать о своем опыте в разделе комментариев.

Саяк Борал

IoT-зависимых с начала 2016 года.Люблю исследовать проблемы, возможности и тенденции проникновения в суть того, что становится третьей волной Интернета.

Как взаимодействовать с жидкокристаллическим дисплеем с помощью Arduino

В конструкции встроенных систем на основе Arduino модули жидкокристаллического дисплея играют очень важную роль. Следовательно, очень важно узнать о том, как подключить ЖК-дисплей к Arduino 16 × 2 при проектировании встроенных систем. Дисплеи очень важны для связи между миром людей и миром машин.Блок дисплея работает по тому же принципу, он не зависит от размера дисплея, он может быть большим или маленьким. Мы работаем с простыми дисплеями типа 16 × 1 и 16 × 2. Блок отображения 16 × 1 имеет 16 символов, которые присутствуют в одной строке, а блоки отображения 16 × 2 имеют 32 символа, которые присутствуют в 2 строке. Мы должны знать, что для отображения каждого символа есть 5 × 10 пикселей. Таким образом, чтобы отобразить один символ, все 50 пикселей должны быть вместе. В дисплее есть контроллер HD44780, который используется для управления пикселями отображаемых символов.


Что такое жидкокристаллический дисплей?

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

Жидкокристаллический дисплей

Жидкокристаллический дисплей 16 × 2

Жидкокристаллический дисплей 16 × 2 содержит две горизонтальные линии, и они используются для сжатия 16 символов дисплея. Встроенный ЖК-дисплей имеет два регистра, описание которых приводится ниже.


  • Регистр команд
  • Регистр данных

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

Регистр данных: Регистры данных используются для ввода строки на ЖК-дисплее

Жидкокристаллический дисплей 16 × 2

Схема контактов и описание каждого контакта объяснены в следующей таблице.


EE
Номер контакта Имя контакта

Описание контакта

Контакт 1

GND

контакт заземления. подключен к земле

Контакт 2

VCC

Вывод VCC используется для подачи питания на ЖК-дисплей

Контакт 3

VCC Этот Контакт используется для регулировки контрастности ЖК-дисплея путем подключения переменного резистора между VCC и заземлением.

Контакт 4

RS

RS известен как выбор регистра, и он выбирает регистр команд / данных. Для выбора регистра команд RS должен быть равен нулю. Для выбора регистра данных RS должен быть равен единице.

Контакт 5

R / W

Этот контакт используется для выбора операций чтения / записи. Для выполнения операций записи R / W должен быть равен нулю.Для выполнения операций чтения R / W должен быть равен единице.

Контакт 6

EN

Это контактный сигнал включения, если положительные импульсы проходят через контакт, тогда контакт функционирует как контакт чтения / записи.

Вывод 7

DB0 — DB7

Вывод 7 содержит всего 8 выводов, которые используются в качестве вывода данных ЖК-дисплея.

Контакт 15

LED +

Этот контакт подключен к VCC и используется для контакта 16 для настройки свечения подсветки ЖК-дисплея.

Контакт 16

Светодиод —

Этот контакт подключен к земле и используется для контакта 15 для настройки свечения подсветки ЖК-дисплея.

Интерфейс ЖК-дисплея с модулем Arduino

На следующей принципиальной схеме показан ЖК-дисплей с модулем Arduino. Из принципиальной схемы мы можем видеть, что вывод RS ЖК-дисплея подключен к выводу 12 Arduino.ЖК-дисплей контакта R / W подключен к земле. Вывод 11 Arduino подключен к выводу сигнала включения ЖК-модуля. В этом проекте ЖК-модуль и модуль Arduino взаимодействуют с 4-битным режимом. Следовательно, есть четыре входные линии, от DB4 до DB7 ЖК-дисплея. Этот процесс очень простой, он требует меньше соединительных кабелей, а также мы можем максимально использовать потенциал ЖК-модуля.

Интерфейс ЖК-дисплея с модулем Arduino

Линии цифрового ввода (DB4-DB7) подключены к контактам Arduino из 5-2.Чтобы отрегулировать контрастность дисплея, мы используем потенциометр 10K. Ток через заднюю светодиодную подсветку исходит от резистора 560 Ом. Разъем для внешнего питания предусмотрен платой для Arduino. Используя ПК через порт USB, Arduino может запитать.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *