Жидкокристаллический дисплей (LCD) 1602 и Arduino
Содержание
- Контакты и схема подключения LCD 1602 к Arduino
- Базовый пример программы для работы LCD 1602 с Arduino
- LCD 1602A, Arduino и датчик освещенности (фоторезистор)
- Подключение дисплея 1602A к Arduino
- Программа для Arduino IDE – отображение надписи на дисплее 1602A
Жидкокристаллический дисплей (LCD) мод. 1602 (даташит) — отличный выбор для ваших проектов.
Первое, что радует — низкая цена. Второе — наличие готовых библиотек под Arduino. Третье — наличие нескольких модификаций, которые в том числе идут с различными подсветками (голубая, зеленая). В этой статье рассмотрим основы подключения данного дисплея к Arduino и приведем пример небольшого проекта для отображения уровня освещенности на дисплее с использованием фоторезистора.
Ссылки для заказа необходимого электронного оборудования, которое использовалось в двух примерах ниже из Китая
Контакты и схема подключения LCD 1602 к Arduino
Контакты на этом дисплее пронумерованы от 1 до 16. Нанесены они на задней части платы. Как именно они подключаются к Arduino, показано в таблице ниже.
Табл. 1. Подключение контактов LCD 1620 к Arduino
Подключение 1602 к ArduinoЕсли дисплей 1602 питается от Arduino через 5-ти вольтовой USB-кабель и соответствующий пин, для контакта контраста дисплея (3-й коннектор – Contrast) можно использовать номинал 2 кОм. Для Back LED+ контакта можно использовать резистор на 100 Ом. Можно использовать и переменный резистор – потенциометр для настройки контраста вручную.
На основании таблицы 1 и схемы, приведенной ниже, подключите ваш жидкокристаллический дисплей к Arduino. Для подключения вам понадобится набор проводников. Желательно использовать разноцветные проводники, чтобы не запутаться.
Табл. 2. Предпочтительные цвета проводников
Схема подключения LCD дисплея 1602 к Arduino:
Базовый пример программы для работы LCD 1602 с Arduino
В примере используются 0, 1, 2, 3, 4, и 5 пины Arduino для подключения соответствующих пинов 4, 6, 11, 12, 13 и 14 с дисплея 1602 (смотри табл. 1). После этого в коде для Arduino мы инициализируем lcd() следующим образом:
LiquidCrystal lcd(0, 1, 2, 3, 4, 5);
Этот кусок кода объясняет Arduino, как именно подключен LCD дисплей.
Весь соурс файл проекта метеостанции, в которой используется дисплей LCD 1602 можно скачать по этой ссылке.
LCD 1602A, Arduino и датчик освещенности (фоторезистор)
В примере мы рассмотрим подключение модификации дисплея — 1602A и фоторезистора. В результате данного проекты мы сможем отображать на дисплее числовые значения, пропорциональные интенсивности освещения.
Данный пример будет хорошим стартом для начинающих разбираться с Arduino. Стоит обратить внимание, что у дисплея 1602 существуют различные модификации. Соответственно, расположение контактов на них могут несколько отличаться.
Необходимые материалы
- 1 Arduino UNO;
- 1 макетная плата (63 рельсы);
- 1 датчик освещенности (фоторезистор);
- 1 потенциометр на 50 кОм;
- 1 LCD дисплей 1602A;
- 1 резистор на 10кОм;
- 1 рельса коннекторов (на 16 пинов);
- 1 USB кабель.
LCD Дисплей 1602A
Дисплеи, как правило, продаются без распаянных коннекторов. То есть, паяльник в руках придется подержать. Вам понадобится 16 пинов. Запаивайте со стороны коротких ног, длинные оставляйте для дальнейшего подключения к плате или другим периферийным устройствам.
После распайки можете устанавливать дисплей на макетной плате. Желательно, на самой нижней дорожке, чтобы у вас осталась возможность соединять дисплей через дополнительные коннекторы с платой.
Подключение дисплея 1602A к Arduino
Первое что необходим о – запитать дисплей. Подключите два кабеля от +5 вольт и земли к соответствующим рядам плюс-минус на макетной плате.
Подключите: пин на 5 вольт (5V) с Arduino к одной из дорожек макетной платы.
Подключите: пин Земля (GND) Arduino к другой дорожек (макетной платы).
После этого подключаем питание экрана и его подсветку к дорожкам, на макетной плате, на которых у нас получается 5 вольт и минус.
Подключите: дорожку GND (минус) на макетной плате к 1 пину на LCD экране (он обозначен как VSS).
Подключите: дорожку 5 вольт (плюс) на макетной плате ко 2 пину на LCD экране (он обозначен как VDD).
Подключите: дорожку 5 вольт (плюс) на макетной плате к 15 пину на LCD экране (он обозначен как A).
Подключите: дорожку GND (минус) на макетной плате к 16 пину на LCD экране (он обозначен как K).
Подключаем нашу Arduino к персональному компьютеру через USB-кабель и вуаля! Экран должен включиться.
Следующий шаг – подключение потенциометра для регулировки контрастности дисплея. В большинстве гайдов, используется потенциометр на 10 кОм, но 50 кОм тоже подойдет. Из-за большего диапазона значений сопротивлений на выходе потенциометра, более точная настройка становится сложнее, но для нас в данном случае это не критично. Установите потенциометр на макетной плате и подключите три его пина.
Подключите: первый пин на потенциометре к минусу на макетке.
Подключите: средний пин потенциометра к 3 пину на дисплее (он обозначен как V0).
Подключите: третий пин на потенциометре к плюсу на макетке.
После подачи питания на плату через USB-кабель, на дисплее первый ряд должен заполниться прямоугольниками. Если вы их не увидели, немного проверните ручку потенциометра слева направо, чтобы отрегулировать контраст. В дальнейшем, когда мы будем отображать числовые значения на экране, вы сможете более точно отрегулировать контрастность. Если ваш дисплей выглядит примерно так, вы все делаете верно:
Продолжим. Теперь нам надо обеспечить обмен данными между Arduino и LCD дисплеем 1602A для отображения символов.
Для этого подключите 4 пин дисплея (RS) к 7 пину Arduino (желтый коннектор). 5 пин дисплея (RW) – к ряду пинов земля на макетке (черный кабель).
6 пин дисплея (E) – к 8 пину Arduino (ШИМ).
11 пин дисплея (D4) – к 9 пину Arduino (ШИМ).
12 пин дисплея (D5) – к 10 пину Arduino (ШИМ).
13 пин дисплея (D6) – к 11 пину Arduino (ШИМ).
14 пин дисплея (D7) – к 12 пину Arduino (ШИМ).
Программа для Arduino IDE – отображение надписи на дисплее 1602A
Представленный ниже кусок кода достаточно скопипастить в Arduino IDE и загрузить на плату:
LiquidCrystal lcd(7, 8, 9, 10, 11 , 12);
После загрузки программы на плату, на дисплее во второй строке отобразится следующая надпись:
Своеобразный "hello world!" на LCD 1602A запущен. Я вас поздравляю.
Подключаем фоторезистор и заливаем всю программу в Arduino
Теперь подключим фоторезистор. Подключите три провода к свободным рельсам на макетной плате (условно пронумеруем их 1, 2, 3). Оставьте в рельсах немного места для самого датчика освещенности и резистора.
Рельсу GND с макетной платы подключаем к рельсе 1. A0 (аналоговый вход) с Arduino — к рельсе 2. 5 вольт с макетной платы — к рельсе 3.
Дальше подключаем наш датчик и резистор к подготовленным рельсам. Какие именно ноги идут к земле, а какие — к питанию для нашего датчика освещенности и резистора неважно (в отличие от, например, светодиода, в котором есть катод и анод). Так что тут не перепутаете.
Датчик освещенности подключаем к рельсе 1 и рельсе 2. Резистор – к рельсе 2 и к рельсе 3.
Теперь вернемся к нашей программе и добавим несколько строк в пустующее пока что тело функции loop():
int sensorValue = analogRead(A0);
После заливки на Arduino окончательной версии нашей программы, на дисплее будут отображаться текущие значения уровня освещенности.
Источник: