Сколько потребляет экран ардуино

Содержание

Текстовый экран 16×2: инструкция, примеры использования и документация

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

Видеообзор

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

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

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

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

Вывод текста

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

Вывод текста: кириллица

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Вывод текста

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

Кирилица

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Дисплей

Дисплей 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 В.

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

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

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

Источник

Текстовый экран 16×2 / I²C / 3,3 В: инструкция по подключению и примеры использования

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

Дисплей пригодится в проектах, где есть линия питания только 3,3 вольта: например при питании платформ Arduino MKR или Iskra JS от литий-ионного аккумулятора с напряжением 3,7 вольта.

Видеообзор

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

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

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

Вывод Обозначение Пин Arduino MKR
1 GND GND
2 VCC 3V3
17 SDA SDA
18 SCL SCL

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

Вывод текста

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

Кириллица

Существует способ вывода кириллицы на текстовые дисплеи с помощью таблицы знакогенератора.

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

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

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

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

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

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

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

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

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

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

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

Подключение нескольких дисплеев

Используя шину I²C можно подключить несколько дисплеев одновременно, при этом количество занятых пинов останется прежним. Подробнее читайте в нашей документации.

После физического смены адреса экрана, подключите дополнительный дисплей параллельно к пинам I²C , а в коде программы инициализируйте работу с двумя дисплеями.

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

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

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

Вывод Обозначение Пин Iskra JS
1 GND GND
2 VCC 3V3
17 SDA SDA
18 SCL SCL

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

Вывод текста

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

Кириллица

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

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

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

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

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

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

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

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

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

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

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

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

Подключение нескольких дисплеев

Используя шину I²C можно подключить несколько дисплеев одновременно, при этом количество занятых пинов останется прежним. Подробнее читайте в нашей документации.

После физического смены адреса экрана, подключите дополнительный дисплей параллельно к пинам I²C , а в коде программы инициализируйте работу с двумя дисплеями.

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

Дисплей

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

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

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

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

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

I²C-расширитель

Для экономии пинов микроконтроллера на плате дисплея также распаян дополнительный преобразователь интерфейсов INF8574A: микросхема позволит общаться экрану и управляющей плате по двум проводам через интерфейс I²C.

Обвязка удвоения напряжения

На плате дисплее распаяна обвязка удвоения напряжения, что бы получить необходимое напряжение для питание экрана от 3,3 вольт.

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

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

Вывод Обозначение Описание
1 GND Общий вывод (земля)
2 VCC Напряжение питания (3,3 В)
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– Питания подсветки (–)
17 SDA Последовательная шина данных
18 SCL Последовательная линия тактированния

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

Питание

Дисплей питается строго от 3,3 вольта (пин VCC) и общается с управляющими платами с логическим напряжением 3,3 вольта. Более высокое напряжение выведет экран из строя.

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

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

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

Использовать восьмибитный и четырёхбитный режим в данном дисплее не целесообразно. Ведь главное достоинство этой модели именно возможность подключения через I²C. Если всё-таки есть необходимость использовать 4-битный или 8-битный режим, читайте документацию на текстовый экран 16×2.

Объединение питания

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

Вывод Обозначение Описание
1 GND Общий вывод (земля)
2 VCC Напряжение питания (3,3 В)
15 LED+ Питания подсветки (+)
16 LED– Питания подсветки (–)

Но если запаять перемычки J3 и J4 на обратной стороне дисплея, количество контактов питания можно сократить до двух, объединив цепь питания и подсветки дисплея.

Мы взяли этот шаг на себя и спаяли перемычки самостоятельно.

Выбор адреса

Используя шину I²C можно подключить несколько дисплеев одновременно, при этом количество занятых пинов останется прежним.

Для общения с каждым дисплеем отдельно, необходимо установить в них разные адреса. Для смены адреса на обратной стороне дисплея установлены контактные площадки J0 , J1 и J2 .

Капнув припоем на контактные площадки, мы получим один из семи дополнительных адресов:

Источник

Adblock
detector