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

Сбросить

Подключение LCD 1602 к Arduino: описание, функции, инструкции, особенности, проблемы и их решение


Опубликованно 07.08.2018 03:18

Подключение LCD 1602 к Arduino: описание, функции, инструкции, особенности, проблемы и их решение

У каждого радиолюбителя после ряда простых мы приходим к цели, чтобы построить что-то большое с использование датчиков и кнопок. Это гораздо интереснее, чем смотреть данные на дисплее, а не на монитор порта. Но тогда возникает вопрос: какой дисплей выбрать? И в общем, как подключить, что нужно для подключения? Ответы на эти вопросы будут рассмотрены в этой статье.

LCD 1602

Среди многих вариантов, среди дисплеи отдельно хочу подчеркнуть собственный дисплей LCD1602 на основе контроллера HD4478. Там этот дисплей в двух цветах: белые буквы на синем фоне, черные буквы на желтом фоне. Подключение LCD 1602 к Arduino не было бы никаких проблем, так как библиотека, и скачать ничего больше не нужно. Дисплеи отличаются не только по цене, но и размер. Часто используется радиолюбителями 16 х 2, т. е. 2 строки по 16 символов. Но есть также и 20 х 4, где 4 строки по 20 символов. Размер и цвет не играют никакой роли в подключение lcd 1602 к Arduino, подключаются одинаково. Угол обзора 35 градусов, время отклика дисплея - 250 мс. Работать может при температурах от -20 до 70 градусов по Цельсию. При использовании 4, но экран и подсветка 120 ма.

Где используется?

Этот дисплей имеет свою популярность не только радиолюбителей, но и крупных производителей. Например, принтеры, кофе-аппараты, так же используют LCD1602. Это связано с его низкой ценой, стоит этот дисплей китайских домов 200-300€. Стоит купить там, так как в наших магазинах за дополнительную плату в этой экспозиции очень высокие. Подключить к Arduino

Подключение LCD 1602 к Arduino Nano и Один ничем не отличается. Дисплей может работать в двух режимах: 4-разрядные и 8. Когда вы работаете с 8-битов, используемых, и младший, и старший бит, и с 4 бита - только самые молодые. Работать с 8-бит не имеет смысла, так как добавлен, чтобы связать еще 4 контакта, что не рекомендуется, потому что скорость выше не будет, лимит обновления дисплея - 10 раз в секунду. В целом, для подключения lcd 1602 к Arduino используется много проводов, который предлагает некоторые неудобства, но есть особые ребенка, но об этом мы поговорим позже. На фото изображено подключение дисплея к Arduino Uno:

Пример кода:

#include <LiquidCrystal.h> // Добавляем библиотеку требуется LiquidCrystal lcd(7, 6, 5, 4, 3, 2); // (RS, E, DB4, DB5, DB6, DB7) void setup(){ жк.begin(16, 2); // Устанавливаем размер экрана жк.setCursor(0, 0); // Установить курсор в начало 1 строки жк.print("Hello, world!"); // Печать текста жк.setCursor(0, 1); // Установка курсора в начало строки 2 жк.print("fb.ru"); // Печать текста } void loop(){ }

Что делает код? Сначала подключается библиотека для работы с дисплеем. Как уже упоминалось ранее, эта библиотека уже является частью Arduino IDE, а также скачать и установить, это не нужно. Ниже называются контакты, которые подключены к выводам: RS, E, DB4, DB5, DB6, DB7, соответственно. После чего установите размер экрана. Так как мы работаем с версией, где 16 символов, 2 строки, записать эти значения. Устанавливаем курсор в начало первой строки и в результате наш первый текст "Hello World". Далее поставить курсор на вторую строку и выводим название сайта. Вот и все! Считается подключение lcd 1602 к Arduino Uno. Что такое I2C и для чего он нужен?

Как уже упоминалось ранее, подключение дисплея занимает много контактов. Например, если вы работаете с несколькими датчиками и ЖК-дисплей 1602 контакты, может просто не быть достаточно. Часто радиолюбители используют Один или Нано, где не так много контактов. Затем люди изобрели специальные килограммов. Например, I2C. Позволяет подключить дисплей 4 контакты. Это в два раза меньше. Продается модуль I2C как отдельно, где больше не нужно готовься, и уже припаяны на ЖК дисплей 1602.

Подключение через модуль I2C

Подключение LCD 1602 к Arduino Nano с I2C занимает мало места, всего 4 контакта: земля, питание и 2 выхода для передачи данных. Питание и землю подключить к 5V и GND Arduino, соответственно. Остальные два контакта: SCL и SDA прикрепить к любой пин-код-аналог. На фото вы можете увидеть пример подключения lcd 1602 к arduino, модуль I2C:

Код

Если для работы с дисплеем без модуля необходимо было воспользоваться только одна библиотека, для работы с модулем понадобится две библиотеки. Один из них-это уже Arduino IDE - Wire. Другую библиотеку LiquidCrystal I2C, необходимо скачать отдельно и установить. Для того, чтобы установить библиотеки Arduino содержимое скачали архив, необходимо загрузить в корневую папку Libraries. Пример кода, с помощью I2C:

#include <Wire.h> #include <LiquidCrystal_I2C.h> LiquidCrystal_I2C lcd(0x27,16,2); // установить дисплей void setup() { жк.init(); жк.лампа();// Включаем дисплей с подсветкой жк.print("FB.ru"); жк.setCursor(8, 1); жк.print("ЖК-1602"); } void loop() { // Установить курсор на вторую строку и символ null. жк.setCursor(0, 1); // Выводим на экран количество секунд с момента запуска arduino жк.print(millis()/1000); }

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

Проблема этих дисплеев является то, что нет поддержки кириллицы и символов. Например, вам нужен какой-то символ загружать в дисплей, для того, чтобы отражать. Для этого дисплея позволяет создать до 7 из его символов. Представьте себе таблицу: 0 0 0 1 0 0 0 0 0 1 1 1 0 0 1 0 0 0 0 1 1 1 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0

Если 0 - ничего нет, если 1 полно полиции. В приведенном выше примере вы можете увидеть создание персонажа "смайлик". Например, программа Arduino будет следующее:

#include <Wire.h> #include <LiquidCrystal.h> // Глобальные библиотеки требуется // Bit символ маска улыбки байт smile[8] = { B00010, B00001, B11001, B00001, B11001, B00001, B00010, }; LiquidCrystal lcd(7, 6, 5, 4, 3, 2); // (RS, E, DB4, DB5, DB6, DB7) void setup(){ жк.begin(16, 2); // Устанавливаем размер экрана жк.createChar(1, smile); // Создаем символ под номером 1 жк.setCursor(0, 0); // Установить курсор в начало 1 строки жк.print("1"); // Печать смайлики (символ под номером 1) - "1" } void loop(){ }

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

Проблемы, в которых дисплей может не работать

Есть случаи, когда дисплей не работает. Например, включается, но не показывает символы. Или не включается. Прежде чем увидеть, если вы подключены контакты. Если вы использовали подключение lcd 1202 к Arduino без I2C, очень легко запутаться в проводах, что может быть из-за не правильной работы дисплея. Кроме того, рекомендуется проверить, что контрастность дисплея возросла, так как с минимум контраста не видно, даже если включен ЖК-дисплей 1602 или нет. Если это не помогает, тогда, возможно, проблема, возможно, заключается в пайки контактов, при использовании модуля I2C. Также частой причиной, при которой дисплей не может работать, является неправильной установки I2C адрес. Дело в том, что производителей много, и вы можете положить другой адрес, исправить нужно здесь:

LiquidCrystal_I2C lcd(0x27,16,2);

Кстати, вы можете увидеть два значения, 0x27 и 16,2 (16, 2 - это размер дисплея, и 0x27 только пока, адрес I2C). Вместо того, чтобы эти значения, можно попробовать поставить 0x37 или 0x3F. Ну и еще одна причина, это просто неисправный LCD 1602. Учитывая, что практически все для Arduino производится в Китае, не вы можете быть на 100% уверены, что приобретенный товар не является браком. Плюсы и минусы ЖК-1602

Рассмотрим плюсы и минусы ЖК-дисплей 1602.

Pro Цена. Этот модуль можно купить все по доступным ценам в китайских магазинах. Цена 200-300€. Иногда продается также вместе с модулем I2C. Легко подключить. Наверное, никто, теперь не подключается LCD 1602 без I2C. И с этим модуль для подключения требуется всего 4 контакта, никакой "паутины" из проводов не будет. Программирование. Благодаря готовые библиотеки для работы с этим модулем, легкий, все функции уже прописаны. И, если необходимо, добавить символ, это займет всего пару минут.

Против За время использования тысячи радиолюбителей нет крупных недостатков выявлено не было, только есть случаи покупки брака, так как используются в основном китайские "параметры дисплея".

В этой статье рассматривается подключение дисплея LCD 1602 к Arduino, так как они были представлены примеры программ для работы с дисплеем. Он действительно в своей категории является одним из лучших, не только потому, что его выбирают тысячи радиолюбителей для своих проектов! Автор: Инсаф Галиев 6 Августа, 2018



Категория: Технологии