Как подключить I2C дисплей к Arduino. Какие преимущества дает использование I2C интерфейса для LCD экранов. Как правильно настроить и запрограммировать I2C дисплей на Arduino. Какие библиотеки нужны для работы с I2C LCD. Как вывести текст и графику на I2C дисплей с Arduino.
Что такое I2C дисплей и зачем он нужен
I2C дисплей — это LCD экран с установленным I2C адаптером, позволяющим значительно упростить подключение к микроконтроллеру. Главное преимущество I2C дисплеев — возможность управлять экраном всего по двум проводам, что экономит пины на Arduino.
Стандартный LCD дисплей подключается минимум по 6 проводам — 4 линии данных и 2 управляющих. С I2C адаптером достаточно всего 2 провода — SDA и SCL. Это позволяет подключать дисплей даже к микроконтроллерам с малым количеством выводов.
I2C дисплеи бывают разных размеров — самые популярные 16×2 и 20×4 символов. Они отлично подходят для вывода текстовой информации в Arduino проектах.
Подключение I2C дисплея к Arduino
Для подключения I2C дисплея к Arduino понадобится всего 4 провода:
- VCC — питание +5В
- GND — общий провод
- SDA — линия данных I2C
- SCL — тактовая линия I2C
Схема подключения I2C дисплея к Arduino Uno:
- VCC дисплея → 5V Arduino
- GND дисплея → GND Arduino
- SDA дисплея → A4 Arduino
- SCL дисплея → A5 Arduino
Для других плат Arduino порты SDA и SCL могут отличаться. Например, на Arduino Mega это пины 20 и 21 соответственно.
Настройка I2C адреса дисплея
Каждое I2C устройство имеет свой уникальный адрес. Для LCD дисплеев стандартный адрес — 0x27. Но иногда он может отличаться.
Чтобы узнать адрес вашего дисплея, можно использовать специальный I2C сканер. Это простой скетч, который перебирает все возможные I2C адреса и выводит в Serial Monitor обнаруженные устройства.
Вот пример кода I2C сканера:
«`cpp #includeЗагрузите этот скетч на Arduino и откройте Serial Monitor. Вы увидите адрес вашего I2C дисплея.
Библиотека для работы с I2C дисплеем
Для удобной работы с I2C LCD дисплеем рекомендуется использовать специальную библиотеку. Одна из самых популярных — LiquidCrystal_I2C.
Установить библиотеку можно через менеджер библиотек Arduino IDE. Выберите «Sketch» → «Include Library» → «Manage Libraries», найдите «LiquidCrystal I2C» и нажмите «Install».
После установки библиотеки вы сможете использовать ее в своих скетчах:
«`cpp #includeВывод текста на I2C дисплей
Для вывода текста на дисплей используются следующие основные функции библиотеки LiquidCrystal_I2C:
lcd.setCursor(column, row)
— устанавливает курсор в заданную позициюlcd.print("text")
— выводит текст начиная с текущей позиции курсораlcd.clear()
— очищает экранlcd.home()
— возвращает курсор в начальную позицию (0,0)
Пример вывода бегущей строки на I2C дисплей:
«`cpp #includeВывод специальных символов на I2C дисплей
I2C LCD дисплеи позволяют создавать и выводить пользовательские символы. Для этого используется функция lcd.createChar()
.
Пример создания и вывода специального символа:
«`cpp #includeУправление подсветкой I2C дисплея
Многие I2C LCD дисплеи имеют управляемую подсветку. Библиотека LiquidCrystal_I2C позволяет включать и выключать подсветку программно.
Основные функции для управления подсветкой:
lcd.backlight()
— включает подсветкуlcd.noBacklight()
— выключает подсветку
Пример управления подсветкой дисплея:
«`cpp #includeВывод показаний датчиков на I2C дисплей
Одно из самых популярных применений I2C дисплеев — вывод показаний различных датчиков. Рассмотрим пример вывода данных с датчика температуры и влажности DHT11 на I2C LCD дисплей.
Для работы с датчиком DHT11 потребуется установить библиотеку DHT sensor library.
«`cpp #includeЭтот скетч считывает данные с датчика DHT11 и выводит температуру и влажность на I2C LCD дисплей, обновляя показания каждые 2 секунды.
Заключение
I2C LCD дисплеи — это удобное и функциональное решение для вывода информации в проектах на базе Arduino. Они просты в подключении, требуют минимум проводов и предоставляют широкие возможности для отображения текста и простой графики.
В этой статье мы рассмотрели основные аспекты работы с I2C дисплеями на Arduino:
- Подключение дисплея к Arduino
- Настройка I2C адреса
- Использование библиотеки LiquidCrystal_I2C
- Вывод текста и специальных символов
- Управление подсветкой
- Применение дисплея для вывода показаний датчиков
Используя эти знания, вы сможете легко интегрировать I2C LCD дисплей в свои Arduino проекты, создавая информативные и интерактивные устройства.
OLED дисплей 0.96″ 128×64, I2C, SSD1306 синий
Подключение OLED дисплея I2C к NANO и вывод Русского шрифта:
А теперь более подробно, что мы делали.
Мы использовали:
1. Arduino NANO V 3.0
2. OLED display 0.96″ I2C (IIC)
3. Макетная плата для монтажа без пайки
4. Библиотека с поддержкой русского и украинского языка OLED I2C
Дисплей подключаем к ARDUINO NANO по следующей схеме:
Вход питания дисплея VDD можно было бы подключить к 3,3V или 5V ARDUINO, но у нас задача обойтись без проводов. Поэтому мы установим цифровому порту ARDUINO «D2» значение HIGHT, это значит, что на pin «D2» ARDUINO подаст 5 вольт. Для сборки используем макетную плату:
Наш Скетч:
Устанавливаем библиотеку OLED_I2C (если не была установлена) и компилируем. Каждая строка в скетче подробно описана:Таблица соответствия символов:
Русский символ |
Символ, заглавной буквы |
Символ, прописной буквы |
А, а |
F |
f |
Б, б |
< |
, |
В, в |
D |
d |
Г, г |
U |
u |
Д, д |
L |
l |
Е, е |
T |
t |
Ж, ж |
: |
; |
З, з |
P |
p |
И, и |
B |
b |
Й, й |
Q |
q |
К, к |
R |
r |
Л, л |
K |
k |
М, м |
V |
v |
Н, н |
Y |
y |
О, о |
J |
j |
П, п |
G |
g |
Р, р |
H |
h |
С, с |
C |
c |
Т, т |
N |
n |
У, у |
E |
e |
Ф, ф |
A |
a |
Х, х |
{ |
[ |
Ц, ц |
W |
w |
Ч, ч |
X |
x |
Ш, ш |
I |
i |
Щ, щ |
O |
o |
Ъ, ъ |
} |
] |
Ы, ы |
S |
s |
Ь, ь |
M |
m |
Э, э |
~ |
` |
Ю, ю |
> |
. |
Я, я |
Z |
z |
Для простоты написания, переключаемся на английскую раскладку и набираем текст Русскими буквами!
Как использовать ЖК-дисплей с подсветкой с ранцевым модулем Arduino и I2C
- Автор сообщения: Einstronic Enterprise
- Сообщение опубликовано: 15.10.2019
- Категория сообщения: Учебник
Сложность: Легкая
Вы когда-нибудь чувствовали себя ограниченным при использовании ЖК-дисплея с подсветкой, который занимает слишком много выводов данных на плате Arduino? Не беспокойтесь, вы можете сохранить эти контакты для других целей, используя дополнительный ранцевый модуль I2C для LCD1602 или LCD2004!
В этом учебном пособии вы узнаете, как использовать ЖК-дисплей с подсветкой с ранцевым модулем I2C и Arduino. Прежде чем продолжить, убедитесь, что ранцевый модуль I2C присоединен и припаян к блоку дисплея LCD1602 или LCD2004.
Это руководство также работает с ЖК-дисплеем LCD2004 с подсветкой, с небольшими изменениями в коде.
Необходимое программное обеспечение
- Arduino IDE
Требуемый компонент
- Arduino Uno (или любая модель)
- LCD1602 ЖК-дисплей 16×2 с подсветкой
- LCD1602/2004 дисплей I2C ранцевый модуль
- Проволочная перемычка «мама-папа» x 4
Схема подключения
Ардуино Уно | Модуль дисплея LCD1602 I2C |
5В | ВКЦ |
Земля | ЗЕМЛЯ |
А4 или ПДД | ПДД |
A5 или SCL | СКЛ |
Инструкции
1. Подключите провода между платой Arduino и дисплеем LCD1602 I2C.
Arduino Uno подключен к рюкзаку LCD1602/2004 I2C и LCD1602 на макетной плате
2. Подключите плату Arduino к компьютеру.
3. Убедитесь, что COM-порт вашей платы Arduino виден в Диспетчер устройств > Порт (COM и LPT)
4. Откройте Arduino IDE. Перейдите в Sketch > Включить библиотеку > Управление библиотеками…
5. Дождитесь обновлений, затем выполните поиск LiquidCrystal I2C от Frank de Brabander версии 1.1.2 и установите его. Это займет несколько секунд в зависимости от характеристик вашего компьютера.
Установка библиотек LiquidCrystal I2C в Arduino IDE (предварительно установлен редактор)
6. После установки библиотеки закройте менеджер библиотек и перейдите в Файл > Примеры . Прокрутите вниз до примеров из пользовательских библиотек и найдите LiquidCrystal I2C , затем откройте пример HelloWorld .
7. Используйте приведенный ниже код в Arduino IDE.
- Выберите плату: выберите Инструменты > Плата > Arduino ……
- Выберите порт: выберите Инструменты > Порт > COMx (подтвердите это с помощью диспетчера устройств)
9. Загрузить программу. Вы должны увидеть, что на ЖК-экране уже отображается текст.
10. Поздравляем, вы успешно настроили дисплейный модуль LCD1602 I2C с помощью Arduino.
Arduino успешно передает тексты на LCD1602 с рюкзаком I2C и отображает имя редактора.
Устранение неполадок
Если это не работает, рассмотрите
- Измените адрес I2C для экземпляров LCD с 0x27 на 0x3F в коде, затем снова загрузите программу.
- Отрегулируйте положение триммера на модуле рюкзака, вы должны увидеть изменение контрастности дисплея, отрегулируйте, чтобы текст отображался четко.
- SDA и SCL могут быть перекрещены, исправьте эти контакты и перезагрузите Arduino, нажав кнопку Reset.
Дополнительное примечание
- Ранцевый модуль I2C представляет собой расширитель ввода-вывода на базе PCF8574, который использует протокол последовательной связи I2C для управления данными на расширенных выводах ввода-вывода. Этот модуль предназначен для дисплеев LCD1602 или LCD2004, но вы можете использовать его для других целей.
Библиотеки
- Жидкокристаллическая библиотека I2C
- Автор: Генри Чау Инь Чунг
- Дата создания : 15 октября 2019 г.
Теги: arduino, рюкзак, дисплей, i2c, lcd
I2C 1602 Последовательный ЖК-дисплей для Arduino и RPI
Описание
Всем нравится 1602-символьный ЖК-дисплей, он дешевый и работает сразу после покупки! Но потребность в 6-10 GPIO — это боль 🙂 На это уходит большая часть GPIO Arduino и других микроконтроллеров. Теперь с этим я 2 C или ЖК-дисплей с двумя проводами, вы сэкономите много GPIO для управления датчиком и двигателем.
Это великолепный ЖК-дисплей с синей подсветкой. Поскольку ресурсы выводов контроллера Arduino ограничены, ваш проект может не иметь возможности использовать обычный ЖК-экран после подключения определенного количества датчиков или SD-карт. Однако с этим ЖК-модулем интерфейса I 2 C вы можете реализовать отображение данных только через 2 провода. Если у вас уже есть I 2 C в вашем проекте, вы все равно можете запрограммировать этот ЖК-дисплей с правильным адресом I 2 C. Это фантастика для проектов на основе Arduino.
Примечание: Если дисплей нечеткий (или пустой), попробуйте отрегулировать уровень контрастности, настроив встроенный потенциометр.
Характеристики
- Адрес I2C: 0x27
- Подсветка (белый символ на синем фоне)
- Напряжение питания: 5 В
- Размер: 82x35x18 мм
- Поставляется с интерфейсом I 2 Интерфейс C
Упаковочный лист
- 1 x I2C 1602 Serial LCD для Arduino и RPI
Ресурсы
- Начало работы с последовательным ЖК-дисплеем I2C и Arduino, руководство by Cytron Technologies
- Как подключить ЖК-дисплей I2C к Arduino Uno, учебник от JunezRiyaz в Instructables
Вот видео на Bahasa Malaysia по использованию этого ЖК-дисплея I2C с Maker UNO:
Связанные руководства
Детектор цвета (RGB) с использованием CircuitPython на Raspberry Pi …
Идрис Зайнал Абидин, 20 лет апрель 2022 г.
В этом руководстве я хотел бы поделиться тем, как подключить датчик цвета (TCS3200) с помощью CircuitPython на Raspberry Pi Pico…..
Двунаправленный счетчик посетителей с использованием CircuitPython на Make…
Идрис Зайнал Абидин, 12 апреля 2022 г.
В этом видео я хотел бы рассказать о проекте двунаправленного счетчика посетителей, который запрограммирован с помощью CircuitPython на Maker Nano RP2040…..
Сортировка и подсчет монет с помощью Maker NANO
Суаданвар, 19 июня 2020 г.
В этом видео мы используем ИК-датчик слежения за линией для обнаружения монет и отображения счета на ЖК-дисплее I2C. ….
ЖК-дисплей I2C с использованием micro:bit
Идрис Зайнал Абидин, 23 мая 2019 г.
Если вы чувствуете, что светодиодная матрица на micro:bit достаточно мала для отображения любого состояния, вы можете рассмотреть возможность использования ЖК-дисплея I2C…
Чтение аналогового сигнала с помощью MCP3008 на Raspberry Pi
Идрис Зайнал Абидин, 14 ноября 2018 г.
В этом руководстве показано, как считывать аналоговые сигналы с помощью MCP3008 на Raspberry Pi…
Как отображать на ЖК-дисплее I2C с помощью Raspberry Pi
Идрис Зайнал Абидин, 19 сентября 2018 г.
Помимо I2C OLED, есть еще один альтернативный дешевый дисплей, который вы можете рассмотреть, это ЖК-дисплей I2C…
Начало работы с последовательным ЖК-дисплеем I2C с Arduino (Maker UNO)
Идрис Зайнал Абидин, 06 июня 2018 г.
Это великолепный ЖК-дисплей с синей подсветкой. Поскольку ресурсы выводов контроллера Arduino ограничены, ваш проект может быть не в состоянии использовать обычный ЖК-экран после подключения определенного количества датчиков.
Вопросы и ответы (7)
Как использовать это на Raspberry Pi Pico? (Дэвид Пол Элихио, 02.02.2021)
Привет, вы можете отправить электронное письмо по адресу [email protected] для получения технической помощи. Спасибо 🙂
Привет, я подключился к Arduino, а затем закодировал с помощью MBlock, но он ничего не отображает на ЖК-дисплее. Даже я пробую код в соответствии с видеоуроком, но все равно ничего не отображается. ( Ch’ng, 08.06.2019 )
Здравствуйте, можете ли вы написать обо всех шагах, которые вы предпримете, по адресу [email protected]? Мы поможем вам в деталях.
Привет, вы знали, как настроить ЖК-дисплей 16×2 с Raspberry Pi 3B+? ( Shaanjiv Nair, 08.04.2019 )
Привет, вы можете посмотреть туториал.
Здравствуйте, когда этот товар будет в наличии? ( Asyuwad, 05.