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

LCD дисплей с I2C адаптером

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

  • – Arduino;
  • – LCD 1602 дисплей (16 символів, 2 рядка);
  • – I2C адаптер FC-113;
  • – з’єднувальні дроти.

Інструкція

1. Модуль FC-113 зроблений на базі мікросхеми PCF8574T, яка являє собою 8-бітний сдвиговый регістр – “розширювач” входів-виходів для послідовної шини I2C. На малюнку мікросхема позначена DD1.R1 – підлаштування резистор для регулювання контрастності ЖК дисплея.Джампер J1 використовується для включення підсвічування дисплея.Висновки 1…16 служать для підключення модуля до висновків LCD дисплея.Контактні майданчики А1,…А3 потрібні для зміни адреси I2C пристрою. Запаюючи відповідні перемички, можна змінювати адресу пристрою. У таблиці наведено відповідність адрес і перемичок: “0” відповідає розриву ланцюга, “1” – встановленої перемичці. За замовчуванням адресу пристрою 0x27, тобто всі 3 перемички розімкнуті.

Устройство IIC модуля FC-113

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

Схема подключения I2C модуля FC-113 к LCD дисплею и Arduino

3. Тепер потрібна бібліотека для роботи з LCD по інтерфейсу I2C. Можна скористатися, наприклад, ось цієї: http://www.dfrobot.com/wiki/index.php?title=I2C/TWI_LCD1602_Module_(SKU:_DFR0063)#Sample_Code (посилання в рядку “Download Sample code and library”).Скачаний архів “LiquidCrystal_I2Cv1-1.rar” разархивируем в папку “libraries”, яка знаходиться в директорії Arduino IDE.Бібліотека підтримує набір стандартних функцій для LCD екранів:LiquidCrystal() – створює змінну типу LiquidCrystal і приймає параметри підключення дисплея (номери висновків),begin() – ініціалізація LCD дисплея, завдання параметрів (кількість рядків і символів);clear() – очищення екрану і повернення курсор у початкову позицію;home() – повернення курсор у початкову позицію;setCursor() – установка курсору на задану позицію;write() – виводить символ на ЖК екран;print() – виводить текст на екран ЖК;cursor() – показує курсор, тобто підкреслення під місцем наступного символу;noCursor() – ховає курсор;blink() – миготіння курсору;noBlink() – скасування мигання;noDisplay() – вимкнення дисплея зі збереженням всієї інформації, що відображається;display() – включення дисплея зі збереженням всієї інформації, що відображається;scrollDisplayLeft() – прокрутка вмісту дисплея на 1 позицію вліво;scrollDisplayRight() – прокрутка вмісту дисплея на 1 позицію вправо;autoscroll() – включення автопрокрутки;noAutoscroll() – виключення автопрокрутки;leftToRight() – визначає напрямок тексту зліва направо;rightToLeft() – напрямок тексту справа наліво;createChar() – створює власний символ для LCD-екрану.

Установка библиотеки LiquidCrystal_I2C

4. Відкриємо зразок: Файл -> Зразки -> LiquidCrystal_I2C -> CustomChars і трохи його переробимо. Виведемо повідомлення, в кінці якого буде знаходитися миготливий символ. У коментарях до коду прокоментовано всі нюанси скетчу.

Скетч с произвольным символом

5. Трохи докладніше розглянемо питання створення власних символів для РК екранів. Кожен символ на екрані складається з 35-ти точок: 5 завширшки та 7 висоту (+1 резервна рядок для підкреслення). У рядку 6 наведеного скетчу ми задаємо масив з 7-ми чисел: {0x0,0xa,0x1f,0x1f,0xe,0x4,0x0}. Перетворимо 16-ричные числа в двійкові: {00000, 01010, 11111, 11111, 01110, 00100, 00000}. Ці числа – не що інше, як бітові маски для кожної з 7-ми рядків символу, де “0” позначають світлу точку, а “1” – темну. Наприклад, символ серця, заданий у вигляді бітової маски, буде виглядати на екрані так, як показано на рисунку.

Создание собственных символов с помощью битовой маски

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

ЖК экран подключён к Arduino по последовательному интерфейсу I2C

НАПИСАТИ ВІДПОВІДЬ

Please enter your comment!
Please enter your name here