Розбираємося з підключенням рідкокристалічного монохромного дисплея з роздільною здатністю 84х48 пікселів від Nokia 5110 до Arduino.
Вам знадобиться
- - Arduino;
- - ЖК дисплей для Nokia 5110/3310;
- - з'єднувальні дроти.
Інструкція
1
Підключимо ЖК екран 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() очищаємо екран і пишемо маленьким шрифтом довільний текст, під ним - середнім шрифтом виводимо лічильник секунд.
4
Давайте виведемо на екран картинку. Для цього підготуємо монохромне зображення, що хочемо вивести на екран Nokia 5110. Пам'ятайте, що дозвіл екрана 48 на 84 точки, і картинка повинна бути не більше. На сторінці http://www.rinkydinkelectronics.com/t_imageconverter_mono.php перетворимо зображення у масив бітів. Завантажити отриманий файл з розширенням "*.c" і додамо його до проекту через меню: Ескіз -> Додати файл... або просто помістимо файл в директорію скетчу, а потім перезагрузим середовище розробки Arduino IDE.
5
Тепер потрібно в коді програми оголосити масив з даними зображення (у мене в коді це рядок extern uint8_t mysymb[];), а потім використовуємо функцію drawBitmap() для виводу зображення в потрібному місці екрану.
6
Завантажимо скетч Arduino. Тепер текст змінюється картинкою, і лічильник кожен раз збільшує своє значення.
Відео по темі
В. О. Т.