Як підключити LCD дисплей з I2C модулем до Arduino

У статті підключатимемо до Ардуїно рідкокристалічний дисплей 1602 з I2C модулем FC-113, завдяки чому підключення здійснюватиметься всього по 2 проводам даних + 2 проводам живлення.

Інструкція з підключення РК-дисплея до Arduino за інтерфейсом I 2 C

Нам знадобиться:

  • Arduino UNO чи інша сумісна плата;
  • РК екран 1602 (16 символів, 2 рядки);
  • I2C адаптер FC-113 або аналогічний;
  • сполучні дроти (рекомендую ось такий набір);
  • макетна плата (breadboard);
  • персональний комп'ютер із середовищем розробки Arduino IDE.

1 Опис FC-113 перетворювача послідовного інтерфейсу в паралельний

2 Схема підключення РК дисплея до Arduino за протоколом I2C

Підключення модуля Arduino здійснюється стандартно для шини I2C: висновок SDA модуля підключається до аналогового порту A4, висновок SCL - до аналогового порту A5 Ардуіно. Живлення модуля здійснюється напругою +5 від Arduino. Сам модуль з'єднується висновками 1…16 із відповідними висновками 1…16 на РК дисплеї.

підключити
Схема підключення РК дисплея до Arduino за протоколом I2C

3 Бібліотека для роботи за протоколом I2C

Завантажений архівLiquidCrystal_I2Cv1-1.rar розархівуємо в папку\libraries\, яка знаходиться в директорії Arduino IDE.

Бібліотека підтримує набір стандартних функцій для екранів LCD:

4 Скетч для виведення тексту на екран LCD по шині I2C

До речі, символи, записані командоюlcd.createChar();, залишаються у пам'яті дисплея навіть після вимкнення живлення, т.к. записуються у ПЗУ дисплея 1602.

5 Створення власних символів для РК-дисплея

Дещо докладніше розглянемо питання створення власних символів для РКекранів. Кожен символ на екрані складається з 35-ти точок: 5 завширшки і 7 заввишки (+1 резервний рядок для підкреслення). У рядку 6 наведеного скетчу ми задаємо масив із 7-ми чисел:. Перетворимо 16-річні числа на бінарні:. Ці числа – нічим іншим, як бітові маски кожної з 7-ми рядків символу, де " 0 " позначають світлу точку, а " 1 " – темну. Наприклад, символ серця, заданий у вигляді бітової маски, виглядатиме на екрані так, як показано на малюнку.

Arduino
Створення власного символу для екрана LCD

6 Керування РК екраном по шині I2C

Завантажимо скетч до Arduino. На екрані з'явиться заданий нами з миготливим курсором в кінці.

1602
Управління РК екраном за допомогою Arduino по шині I2C

7 Що знаходиться «за» шиною I2C

Arduino
Тимчасова діаграма виведення латинських символів "A", "B" та "С" на LCD дисплей 1602

І ще один приклад. На цій часовій діаграмі показано виведення символу «Серце» на РК-дисплей.

1602
Тимчасова діаграма виведення символу «Серце» з ПЗП на РК дисплей 1602

Знову, перші два імпульсиEnableвідповідають інструкціїHome()(0000 00102) – повернення каретки на позицію (0; 0), а другі два – виведення на РК дисплей, що зберігається в комірці пам'яті 310 (0000 00112) символ "Серце" (інструкціяlcd.createChar(3, heart);скетчу).

Завантажити LCD 1602 datasheet

Поділитися

Подібні матеріали (за тегом)

Останнє від .aave.

  • модулем

А що робити якщо в тебе загорілися H░░░░░░░░░░░░░░░ ░♥░░░░░░░░░░>▓ - Недокурсор █ - Курсор

підключити

допоможіть у проблемі: W7 юзал з версіями софтверу ардуїно 1.05; 1.6.13; 1.8.3 та різними версіями бібліотек дисплея поI2C. Виникла проблема: не можу розкопати звідки, при перевстановленні, софт бере бібліотеки, що встановлюються вручну? Чистив і створювану папку "ардуїно" в доках і прихований app, пройшовся системою клінером (після видалення софту). Але встановлюю будь-яку версію через інсталятор і знову у списку бібліотек стоять раніше встановлені. Поведінка софту дивна, із встановлених бібліотек бере команди кривої та працює за її правилом, навіть приклади інших з бібліотек дисплея обробляє за обраною "кривою". У меню софту чомусь немає простого видалення або заміна бібліотек. Підкажіть, як видалити бібліотеки? звідки він їх вистачає? Вчора ці бібліотеки прописувалися в папці "ардуїно" > "Документи". Вказував файл файл бібліотеки і вона встановлювалася в папку "ардуїно". Потім з'являлася меню софта. Видаляла створену бібліотеку і вона зникала з меню софту. Все гарно. Не пішла > стер > перевстановив. Сьогодні нічого не можу вдіяти. При старті софту та перевстановленні всі бібліотеки спливають і відкривається останній створюваний скетч навіть на перевстановленому софті будь-якого релізу.

Arduino

Я намагаюся використати портабельні версії, які не встановлюються і ніде в системі не прописуються. Тоді й таких проблем не виникає. Спробував із трьома позначеними версіями – у мене повторити таку помилку у себе не вийшло. Тому можу лише порекомендувати скористатися безкоштовним інструментом Process Monitor від Марка україниновича. Ця програма показує, у тому числі, всі звернення заданої програми до файлової системи комп'ютера. Так ви зможете простежити, звідки все ж таки завантажуються бібліотеки.

1602

Будь ласка, підкажіть, як змінити піни A4 та A5 на інші, наприклад, на A2 та A3 під час роботи дисплея 1602 через i2C. Цеможна зробити в бібліотеці або в скетчі!