Arduino Arduino и LCD экран

Arduino и LCD экран

Подключаем LCD экран к Arduino Uno

В данной статье мы рассмотрим как можно подключить к Arduino Uno LCD дисплей. В примере будет рассмотрено подключение экрана с двумя строчками и шестнадцатью столбцами.

Итак, вот что нам понадобится для работы: Arduino Uno (если у вас его нет, почитайте, как его купить), LCD экран с ножками для подключения к монтажной плате (в нашем случае LCM1602C), вязанка проводов, потенциометр или просто резистор на 47 кОм. Для работы с экраном необходимо соединить его контакты с Arduino по следующей схеме:

lcd экран для Arduino

Начинаем подключать через монтажную плату проводки (смотрите на картинку). Экран у нас плотно посажен на свои ножки или вообще к ним припаян. Итак втыкаем ножки экрана в монтажную плату.

  • Над первой ножкой втыкаем провод от GND, расположенном на Arduino.
  • Вторую ножку экрана соединяем с 5 вольтами
  • Над третьим втыкаем провод от потенциометра (будет регулировать контрастность экрана). Сам потенциометр имеет 3 ножки. На одну подаём 5 вольт на другую землю (черный и красный провод на картинке), со средней ножки мы как раз и будем "забирать" нужное для конкретной контрастности напряжение.
  • Четвертый соединим с 12 разъёмом на Arduino (зеленый провод)
  • Пятый с GND (черный провод)
  • Шестой с 10 разъёмом на Arduino (зеленый провод)
  • 7,8,9,10 оставляем пустыми
  • 11 с 5 разъёмом на Arduino (зеленый провод)
  • 12 с 4 разъёмом на Arduino (зеленый провод)
  • 13 с 3 разъёмом на Arduino (зеленый провод)
  • 14 с 2 разъёмом на Arduino (зеленый провод)
  • 15 через резистор с 5 вольтами (нужен для подсветки)
  • 16 с GND (нужен для подсветки)
Ниже приведен список разъёмов LCD экрана:
  • 1 - Gnd (земля)
  • 2 - Vin (питание +5В)
  • 3 - VO (настройка контрастности)
  • 4 - RS (данные/команды)
  • 5 - RW (чтение/запись)
  • 6 - E (Enable)
  • 7-14 - DB0-DB7 (линии данных)
  • 15 - LED+ (анод подсветки)
  • 16 - LED- (катод подсветки)

Если всё подключено правильно, то заливаем следующий скетч:

#include <LiquidCrystal.h>

//Создаем объект для работы с дисплеем.
//При создании указываем номера портов
//в порядке RS, E, DB4, DB5, DB6, DB7
LiquidCrystal lcd(12, 10, 5, 4, 3, 2);

void setup() {
  //Выставлем число столбцов и строк
  lcd.begin(16, 2);
  //Выводим текст
  lcd.print("hello, world!");
}

void loop() {
  //Выставляем курсор во 2-ю строку,
  //1й столбец (счет идет с 0, поэтому
  //строка номер 1, стобец номер 0)
  lcd.setCursor(0, 1);
  //Выводим число секунд со старта
  lcd.print(millis()/1000);
};

Если после этого экран мигает, но текст на нём не появляется, ещё аз проверьте, что всё подключено по схеме. Если и это не помогает убедитесь в хорошем контакте всех соединений. Подсветка должна гореть в любом случае, когда у экрана правильно подключены 16 и 15 разъём.

Добавляем свой символ на LCD экран

Сразу оговорюсь, символов на данный экран можно добавить не более 8 штук. Под каждый символ отведено 5 пикселей ширины и 8 пикселей высоты. При создании символа нам нужно указать, какие символы "зажигать" а какие нет. В примере мы создадим символ - лицо со шляпой (моей фантазии хватило только на это). Итак, слева пустая клетка 5 на 8, справа то, что мы хотим увидеть на экране.

lcd экран для Arduino lcd экран для Arduinolcd экран для Arduino

Мы зарегистрируем наш символ для вызова по команде /1. То есть в списке из восьми своих символов мы "посадим" наш на вторую позицию (нумерация от 0 до 7). (Обращаю внимание, что lcd.print("\0"); не выведет нулевой символ!) Для задания данного символа нужно написать следующий код:

#include <LiquidCrystal.h>

/* Описываем наш символ в виде массива битовых масок.
 * Каждый символ - это восемь масок по пять бит.
 * тут 8 - высота клетки экрана
 */
byte man_with_hat[8] =
{
  B01110,
  B11111,
  B00000,
  B01010,
  B00100,
  B10001,
  B01110,
  B00000,
};


/* Объявляем объект нашего дисплея */
LiquidCrystal lcd(12, 10, 5, 4, 3, 2);

void setup()
{
  /* Регистрируем собственный символы с кодом 1 */
  lcd.createChar(1, man_with_hat);

  /* Начинаем работу с дисплееем */
  lcd.begin(16, 2);
   lcd.print("\1");
}

void loop()
{

}

Данная возможность позволит вам немного решить проблему с русским алфавитом (кириллицей), если ваш LCD экран его не поддерживает. Вот русский алфавит: АБВГДЕЁЖЗИКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ - тут выделены те буквы, которые не имеют схожих по начертанию букв с буквами на английском языке. Жаль, таких букв больше 8.

p.s. Если хотите почитать более подробный материал по этой теме - вам сюда!

 

Случайная новость

Apple отказалась от мировой с Samsung в Австралии

Буквально на днях компания Apple отклонила предложение компании Samsung урегулировать спор в отношении планшетов Galaxy Tab и iPad в австралийском суде.

Подробнее ...

Материал о ПК

Ещё пару лет назад такого нельзя было представить - выступление Тупака (2Pac) вместе с другими рэперами на одной сцене, но сегодня это стало возможно благодаря голограмме!

Подробнее ...


Нажимай!

Кто на сайте

Сейчас 17 гостей онлайн

Голосуй

Используете ли вы плёнку на сенсорных экранах?
 

Valid XHTML 1.0 Transitional Читать в Яндекс.Ленте