1602 i2c arduino. Arduino и LCD 1602: подключение через I2C и напрямую

Как подключить ЖК-дисплей 1602 к Arduino. Какие есть варианты подключения LCD 1602 к Arduino. Чем отличается прямое подключение от подключения через I2C. Как настроить контрастность ЖК-дисплея 1602. Какие библиотеки нужны для работы с LCD 1602.

ЖК-дисплей 1602: характеристики и особенности

ЖК-дисплей 1602 — это популярный модуль для отображения текстовой информации в проектах на базе Arduino. Его основные характеристики:

  • Размер экрана: 16 символов в 2 строки
  • Цвет подсветки: синий
  • Цвет символов: белый
  • Напряжение питания: 5В
  • Размеры: 82x35x18 мм

Дисплей 1602 может подключаться к Arduino двумя основными способами: напрямую или через интерфейс I2C. Какой вариант выбрать? Давайте рассмотрим особенности каждого.

Прямое подключение LCD 1602 к Arduino

При прямом подключении ЖК-дисплей соединяется с Arduino напрямую без дополнительных модулей. Для этого потребуется:

  • Arduino (например, Nano или UNO)
  • ЖК-дисплей 1602
  • Потенциометр 10 кОм
  • Провода для соединения

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


  • VSS (GND) → GND Arduino
  • VDD → 5V Arduino
  • V0 → средний вывод потенциометра
  • RS → пин 12 Arduino
  • RW → GND Arduino
  • E → пин 11 Arduino
  • D4-D7 → пины 5-2 Arduino
  • A → 5V Arduino
  • K → GND Arduino

Какие преимущества дает прямое подключение? Во-первых, оно не требует дополнительных модулей. Во-вторых, позволяет использовать стандартную библиотеку LiquidCrystal для Arduino.

Подключение LCD 1602 через интерфейс I2C

Подключение через I2C существенно упрощает монтаж, так как требует всего 4 провода. Для этого варианта понадобится:

  • Arduino
  • ЖК-дисплей 1602
  • Модуль I2C для LCD 1602
  • 4 провода для соединения

Схема подключения в этом случае такая:

  • VCC → 5V Arduino
  • GND → GND Arduino
  • SDA → пин A4 Arduino
  • SCL → пин A5 Arduino

Какие плюсы у подключения через I2C? Это экономия пинов Arduino и упрощение монтажа. Однако потребуется установка дополнительной библиотеки LiquidCrystal_I2C.

Настройка контрастности ЖК-дисплея 1602

Правильная настройка контрастности критически важна для читаемости информации на дисплее. Как это сделать?


При прямом подключении контрастность регулируется потенциометром, подключенным к выводу V0 дисплея. Вращая ручку потенциометра, добейтесь оптимальной видимости символов.

В случае использования I2C-модуля регулировка обычно осуществляется подстроечным резистором на самом модуле. Аккуратно поворачивайте его отверткой до получения четкого изображения.

Программирование LCD 1602 в Arduino IDE

Для работы с ЖК-дисплеем 1602 в Arduino IDE потребуются соответствующие библиотеки. Какие именно?

  • Для прямого подключения: стандартная библиотека LiquidCrystal
  • Для подключения по I2C: библиотека LiquidCrystal_I2C

Базовый скетч для вывода текста на дисплей может выглядеть так:


#include <LiquidCrystal.h>

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

void setup() {
  lcd.begin(16, 2);
  lcd.print("Hello, World!");
}

void loop() {
}

Для I2C-подключения код будет немного отличаться:


#include <Wire.h>
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27, 16, 2);

void setup() {
  lcd.init();
  lcd.backlight();
  lcd.print("Hello, World!");
}

void loop() {
}

Расширенные возможности LCD 1602

ЖК-дисплей 1602 предоставляет ряд дополнительных функций для улучшения отображения информации. Какие это функции?


  • Создание пользовательских символов
  • Прокрутка текста
  • Управление подсветкой
  • Отображение спецсимволов

Например, для создания пользовательского символа можно использовать метод createChar(). А для прокрутки текста пригодится функция scrollDisplayLeft() или scrollDisplayRight().

Преимущества и недостатки LCD 1602

Какие плюсы и минусы у ЖК-дисплея 1602 по сравнению с другими типами дисплеев?

Преимущества:

  • Низкое энергопотребление
  • Хорошая читаемость при ярком освещении
  • Простота подключения и программирования
  • Доступная цена

Недостатки:

  • Ограниченное количество отображаемых символов
  • Отсутствие графических возможностей
  • Необходимость регулировки контрастности

Несмотря на некоторые ограничения, LCD 1602 остается популярным выбором для многих проектов Arduino благодаря своей простоте и надежности.

Альтернативы LCD 1602 для проектов Arduino

Хотя ЖК-дисплей 1602 широко распространен, существуют и другие варианты для отображения информации в проектах Arduino. Какие альтернативы стоит рассмотреть?


  • OLED-дисплеи: более яркие, с лучшим контрастом и возможностью отображения графики
  • TFT-экраны: цветные дисплеи с высоким разрешением
  • 7-сегментные индикаторы: для отображения цифровой информации
  • E-ink дисплеи: с низким энергопотреблением и хорошей читаемостью при ярком свете

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

Практические примеры использования LCD 1602 с Arduino

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

  • Цифровые часы и термометр
  • Система мониторинга параметров окружающей среды
  • Информационное табло для «умного дома»
  • Дисплей для самодельного музыкального плеера
  • Отображение показаний различных датчиков

Рассмотрим пример кода для создания простых цифровых часов:


#include <LiquidCrystal.h>
#include <TimeLib.h>

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

void setup() {
  lcd.begin(16, 2);
  setTime(12, 0, 0, 1, 1, 2023); // Установка начального времени
}

void loop() {
  lcd.setCursor(0, 0);
  lcd.print("Time: ");
  lcd.print(hour());
  lcd.print(":");
  lcd.print(minute());
  lcd.print(":");
  lcd.print(second());
  
  lcd.setCursor(0, 1);
  lcd.print("Date: ");
  lcd.print(day());
  lcd.print("/");
  lcd.print(month());
  lcd.print("/");
  lcd.print(year());
  
  delay(1000);
}

Этот код создает простые цифровые часы с отображением текущего времени и даты на ЖК-дисплее 1602.



I2C 16×2(1602) ЖК-дисплей для Arduno (DFRobot DFR0063)

Производитель: DFRobot

I2C 16×2(1602) ЖК-дисплей для Arduno [DF-DFR0063]

Цена : $17,72

Самая быстрая доставка: Четверг, 8 июня
Заказ до 14:00 Понедельник, 29 мая

Доступно со сроком поставки
(506 единиц могут быть отправлены с 07 июня по 12 июня)

Нужно больше 0 единиц?

🔒 Безопасная транзакция

Доставка из: Little Bird (SYD) → Вы

Доставка из: Поставщик → Little Bird (SYD) → Вы

🔒 Безопасная сделка

Доставка из: Little Bird (SYD) → Вы

Доставка из: Поставщик → Little Bird (SYD) → Вы

Галерея изображений продукта

Описание

Это ЖК-экран 16×2 с интерфейсом I2C. Он способен отображать символы 16×2 в 2 строки, белые символы на синем фоне.

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

Этот ЖК-экран I2C16x2 Arduino использует интерфейс связи I2C. Это означает, что для ЖК-дисплея требуется всего 4 контакта: VCC, GND, SDA, SCL. Это сэкономит как минимум 4 цифровых/аналоговых вывода на Arduino. Все разъемы стандартные Хх3.54 (макетного типа). Вы можете подключиться с помощью перемычки напрямую.

Чтобы избежать конфликта адресов I2C с другими устройствами I2C, такими как ультразвуковой датчик, IMU, акселерометры и гироскоп, адрес I2C модуля можно настроить в диапазоне 0x20-0x27. А его контрастность можно регулировать вручную.

Другим альтернативным вариантом является модуль ЖК-дисплея I2C 20×4 Arduino, если требуется больше символов.

Последнее обновление: V1.2:

  • Разъем I2C: VCC, GND, SCL, SDA
ТЕХНИЧЕСКИЕ ХАРАКТЕРИСТИКИ

  • Совместимость с Arduino/Genuino UNO, Leonardo, Mega, 101 (Intel Curie), Micro, Nano, Mini
  • Адрес I2C: 0x20-0x27 (0x20 по умолчанию)
  • Подсветка (синяя с белым цветом)
  • Напряжение питания: 5 В
  • Интерфейс: I2C/TWI x1, интерфейс Gadgeteer x2
  • Регулируемый контраст
  • Размер: 82x35x18 мм (3,2×1,4×0,7 дюйма)
ДОКУМЕНТЫ

  • Вики
  • Схема
  • ЖК-библиотека Arduino I2C 1602
  • Код образца
  • HD44780 ЖК-дисплей, спецификация
ПЕРЕЧЕНЬ ПОСТАВКИ

  • ЖК-экран I2C 16×2 (совместимый с Arduino) x1

Спросите нас о ЖК-дисплее Arduino

Заказываете больше 0?

Мы можем получить еще 506 единиц от DFRobot

Доставка: DFRobot (🌐) → Little Bird (SYD) → Вы

Если вы заказываете более 0 единиц, предполагаемая доставка: Среда, 7 июня — вторник , 27 июня года.

Это приблизительная оценка, сроки доставки могут варьироваться.

Ваша транзакция защищена

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

ЖК-модуль: подключение к плате Arduino с модулем I2C и без него – Eldontronics: Electronics Hobbyist

ЖК-модуль можно подключить к плате Arduino двумя способами:

  1. Прямое подключение ЖК-модуля к Arduino плата (без I2C/IIC)
  2. ЖК-модуль
  3. и плата Arduino, подключенные через модуль I2C

ПРЯМОЕ ПОДКЛЮЧЕНИЕ

Компоненты, необходимые для прямого подключения:

  1. Разъем Arduino Nano + USB (хотя можно использовать и большинство плат Arduino)
  2. ЖК-модуль (мы будем использовать модуль 1602 — 16 символов в строке, 2 строки)
  3. Поворотный потенциометр (мы будем использовать потенциометр на 10 кОм)
  4. Много проводных перемычек (я использую 16 проводных перемычек)

Чтобы мы могли подключить модуль к плате Arduino, нам нужно сначала изучить контакты ЖК-модуля. На изображении ниже показана распиновка ЖК-модуля (1602):

Обычно контакты модуля имеют маркировку 1 (крайний левый контакт) и 16 (крайний правый контакт). Это дает нам порядок выводов от 1 до 16. Чтобы лучше прояснить маркировку выводов, см. ниже:

Мы взглянем на схемы для этого эксперимента:

Таблица ниже поясняет соединения между этими компонентами:

Потенциометр также должен быть запитан, поэтому подключите его контакты VCC и GND к контактам +5V и GND соответственно на плате Arduino по вашему выбору (см. схемы контактов VCC и GND).

Установите необходимые компоненты на макетную плату, и установка должна выглядеть примерно так, как показано на рисунке ниже:

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

Откройте пример эскиза для ЖК-дисплея. В этом эксперименте мы будем использовать скетч

HelloWorld :

Вы должны увидеть что-то вроде этого:

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

Теперь мы готовы загрузить этот пример скетча. Чтобы загрузить этот эскиз, можно использовать сочетание клавиш CTRL + U . Загрузить скетчи также можно, выбрав Sketch > Upload в меню или нажав стрелку (указывающую вправо) сразу под меню:

После загрузки скетча вы должны увидеть что-то подобное на ЖК-дисплее. :

ВАЖНО: Если вы ничего не видите (или, возможно, только белые блоки) на ЖК-экране, возможно, вам стоит попробовать отрегулировать контрастность дисплея с помощью потенциометра. Поворачивайте его влево или вправо, пока результат не появится на дисплее.

ЧЕРЕЗ МОДУЛЬ I2C (IIC)

Компоненты, необходимые для прямого подключения:

  1. Разъем Arduino Nano + USB (хотя большинство плат Arduino также можно использовать )
  2. ЖК-модуль (мы будем использовать модуль 1602 — 16 символов в строке, 2 строки)
  3. Модуль I2C (IIC) (если модуль I2C уже припаян к ЖК-модулю, тем лучше)
  4. Несколько перемычек (у меня ТОЛЬКО с 4 перемычками!)

На схеме показано соединение между ЖК-модулем и модулем I2C. Подключаем модуль I2C к плате Arduino, используя всего 4 провода. Давайте посмотрим на схему ниже:

Подключите контакт VCC модуля I2C к контакту 5V (VCC) платы Arduino. Контакт GND модуля I2C должен быть подключен к контакту GND платы Arduino. Контакты SDA и SCL модулей I2C должны быть подключены к контактам A4 и A5 платы Arduino соответственно:

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

Теперь установка завершена. Однако нам все еще нужно добавить библиотеку для версии I2C ЖК-модуля. Вы можете скачать библиотеку с Библиотека I2C на жидких кристаллах (и образцы тоже!) .

Поскольку мы используем модуль I2C, нам необходимо определить адрес устройства. Затем вы можете сначала загрузить сканер I2C на плату Arduino, открыть последовательный монитор (убедитесь, что вы используете правильный COM-порт). Скетч сканера I2C можно найти на веб-сайте Arduino: I2C Scanner .

Подробные инструкции по добавлению этих библиотек см. в одной из моих статей под названием Отображение текста на ЖК-дисплее с помощью модуля i2c на плате DIY Arduino .

ПРИМЕЧАНИЕ. Сначала необходимо загрузить эскиз сканера I2C на плату, чтобы определить адрес вашего модуля I2C. После того, как вы определите его адрес, можно загрузить образцы эскизов для жидкокристаллического I2C, поскольку для образцов эскизов требуется адрес I2C.

Теперь откройте скетч HelloWorld в LiquidCrystal_I2C. Примеры:

Скетч выглядит примерно так, как показано ниже. Текст внутри синего прямоугольника на скетче — это адрес устройства I2C, но у вас он может быть другим — причина, по которой нам нужно загрузить скетч сканера I2C и определить адрес, открыв Serial Monitor в Arduino IDE:

Теперь загрузите этот скетч (обязательно измените адрес, так как он может отличаться от вашего. Мой 0x3F). Вывод должен быть таким, как показано ниже:

Кстати, вот как это выглядит, когда модуль I2C уже припаян к модулю LCD:

Комментарии приветствуются, особенно исправления к этой статье.

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

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