LCD I2C модуль подключение к Arduino

Опубликовано 04.04.2013 11:00:00


LCD I2C модуль позволить подключить символьный дисплей к плате Arduino всего по двум сигнальным проводам. 

LCD I2C модуль подключение к Arduino

 

 

Основные технические характеристики:

• Дисплей: Символьный 16х02 либо 20x04
• Подсветка: Синяя c белыми символами
• Контраст: Настраивается потенциометром
• Напряжение питания: 5В
• Интерфейс: I2C
• I2C адрес: 0x27
• Размеры: 82мм x 35мм x 18мм


 

Подключение к Arduino

Модуль оборудован четырех-пиновым разъемом стандарта 2.54мм

 SCL: последовательная линия тактирования (Serial CLock)

 SDA: последовательная линия данных (Serial DAta)

 VCC: "+" питания

 GND: "-" питания

 

Выводы отвечающие за интерфейс I2C на платах Arduino на базе различных контроллеров разнятся

 LCD I2C модуль  На базе ATmega 328  Leonardo  MEGA, ADK, DUE
 SCL  A5  D3  D21
 SDA  A4  D2  D20
 VCC  +5V  +5V  +5V
 GND  GND  GND  GND

LCD I2C модуль подключение к Arduino

 

Для работы с данным модулем необходимо установить библиотеку LiquidCrystal_I2C1602V1

Скачиваем, распаковываем и закидываем в папку libraries в папке Arduino. В случае, если на момент добавления библиотеки, Arduino IDE была открытой, перезагружаем среду.

Переходим непосредственно к скетчу. В данном примере выведем стандартный "Hello, world!" и  для адрес нашего сообщества.

 

пример программного кода:

//Тестировалось на Arduino IDE 1.0.5
#include <Wire.h> 
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27,16,2);   /* Задаем адрес и размерность дисплея. 
При использовании LCD I2C модуля с дисплеем 20х04 ничего в коде изменять не требуется, cледует только задать правильную размерность */

void setup()
{
  lcd.init();                            // Инициализация lcd             
  lcd.backlight();                       // Включаем подсветку
  // Курсор находится в начале 1 строки
  lcd.print("Hello, world!");            // Выводим текст
  lcd.setCursor(0, 1);                   // Устанавливаем курсор в начало 2 строки
  lcd.print("zelectro.cc");              // Выводим текст
}

void loop()
{
}

 

Создание собственных символов

С выводом текста разобрались, буквы английского алфавита зашиты в память контроллера внутри дисплея и с ними проблем нет. А вот что делать если нужного символа в памяти контроллера нет?

Не беда, требуемый символ можно сделать вручную. Данный способ частично, ограничение в 7 символов, поможет решить проблему вывода.

Ячейка, в рассматриваемых нами дисплеях, имеет разрешение 5х8 точек. Все, к чему сводится задача создания символа, это написать битовую маску и расставить в ней единички в местах где должны гореть точки и нолики где нет.

В ниже приведенном примере нарисуем смайлик.

битовая маска для ячейки 5х8

 

пример программного кода:

//Тестировалось на Arduino IDE 1.0.5
// Добавляем необходимые библиотеки
#include <Wire.h>
#include <LiquidCrystal_I2C.h>

// Битовая маска символа улыбки
byte smile[8] =
{
  B00010,
  B00001,
  B11001,
  B00001,
  B11001,
  B00001,
  B00010,
};     
LiquidCrystal_I2C lcd(0x27,20,4);      // Задаем адрес и размерность дисплея.

void setup()
{
  lcd.init();                          // Инициализация lcd
  lcd.backlight();                     // Включаем подсветку  
  // Создаем символ под номером 0
  lcd.createChar(1, smile);

  lcd.setCursor(0, 0);                 // Устанавливаем курсор в начало 1 строки
  lcd.print("\1");                     // Выводим смайлик (символ под номером 1) - "\1"
}

void loop()
{
}

 

Программка для легкого создания символов

В комментариях участник сообщества скинул ссылку на генератор символов

Аватар


 

Статьи в подобной тематике:

Перечень статей о работе с дисплеями

Z-LCD I2C модуль сделай сам


 

Купить Купить в России  LCD I2C модуль


А как же комментарии?