Розбираємося з підключенням рідкокристалічного монохромного дисплея з роздільною здатністю 84х48 пікселів від Nokia 5110 до Arduino.

LCD дисплей для Nokia 5110

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

  • – Arduino;
  • – ЖК дисплей для Nokia 5110/3310;
  • – з’єднувальні дроти.

Інструкція

1. Підключимо ЖК екран Nokia 5110 до Arduino за наведеною схемою.

Схема подключения ЖК экрана Nokia 5110 к Arduino

2. Для роботи з цим LCD екраном написано багато бібліотек. Пропоную скористатися цією: http://www.rinkydinkelectronics.com/library.php?id=44 (скачування файлу LCD5110_Basic.zip). Для установки разархивируем файл в директорію Arduino IDE/libraries/.Бібліотека підтримує такі можливості.LCD5110(SCK, MOSI, DC, RST, CS); – оголошення РК екрану з зазначенням відповідності пинам Arduino;InitLCD([contrast]); – ініціалізація дисплея 5110 з опціональним зазначенням контрастності (0-127), за замовчуванням використовується значення 70;setContrast(contrast); – задає контрастність (0-127);enableSleep(); – переводить екран в сплячий режим;disableSleep(); – виводить екран із сплячого режиму;clrScr(); – очищає екран;clrRow(row, [start], [end]); – очищення вибраного рядка номер row, від позиції start до end;invert(true); і invert(false); – вмикання і вимикання інверсії вмісту LCD екрана;print(string, x, y); – виводить рядок символів з заданими координатами; замість x-координати можна використовувати LEFT, CENTER і RIGHT; висота стандартного шрифту 8 точок, тому рядки повинні йти з інтервалами через 8;printNumI(num, x, y, [length], [filler]); – вивести ціле число на екран на заданій позиції (x, y); length – бажана довжина числа; filler – символ для заповнення “порожнеч”, якщо число менше бажаної довжини; за умовчанням це порожній пропуск “;printNumF(num, dec, x, y, [divider], [length], [filler]); – вивести число з плаваючою комою; dec – число знаків після коми; divider – знак десяткового розділювача, за замовчуванням точка “.”; setFont(name); – вибрати шрифт; вбудовані шрифти називаються SmallFont і TinyFont; ви можете визначити свої шрифти у скетчі; invertText(true); і invertText(false); – інверсія тексту вкл./викл.;drawBitmap(x, y, data, sx, sy); – вивести картинку на екран за координатами x і y; data – масив, що містить картинку; sx і sy – ширина і висота малюнка.

3. Напишемо такий скетч. Спочатку підключаємо бібліотеку, потім оголошуємо екземпляр класу LCD5110 з призначенням висновків.У процедурі setup() ініціалізуємо ЖК екран. У процедурі loop() очищаємо екран і пишемо маленьким шрифтом довільний текст, під ним – середнім шрифтом виводимо лічильник секунд.

Скетч для вывода текста на ЖК экран Nokia 5110

4. Давайте виведемо на екран картинку. Для цього підготуємо монохромне зображення, що хочемо вивести на екран Nokia 5110. Пам’ятайте, що дозвіл екрана 48 на 84 точки, і картинка повинна бути не більше. На сторінці http://www.rinkydinkelectronics.com/t_imageconverter_mono.php перетворимо зображення у масив бітів. Завантажити отриманий файл з розширенням “*.c” і додамо його до проекту через меню: Ескіз -> Додати файл… або просто помістимо файл в директорію скетчу, а потім перезагрузим середовище розробки Arduino IDE.

Добавляем файл изображения к проекту Arduino

5. Тепер потрібно в коді програми оголосити масив з даними зображення (у мене в коді це рядок extern uint8_t mysymb[];), а потім використовуємо функцію drawBitmap() для виводу зображення в потрібному місці екрану.

Вывод изображения на LCD экран Nokia 5110

6. Завантажимо скетч Arduino. Тепер текст змінюється картинкою, і лічильник кожен раз збільшує своє значення.

Текст и изображение на ЖК экране Nokia 5110

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

Please enter your comment!
Please enter your name here