Підключення LCD дисплею 1.44″ 128×128 SPI ILI9163 до PSoC 4

Це гостьова стаття мого колеги з ніком VHOY. Він поділився своїм досвідом підключення LCD дисплею з контроллером ILI9163  до PSoC 4. Публікую оригінал його статті.

Дисплей 1.44 inch TFT 128×128 GLCD ILI9163 можна купити на “eBay” чи “Aliexpress” за трохи більше ніж $3. Підприємливі китайці позиціонують даний дисплей, як замінник дуже популярного і не дорогого диспею Nokia 5110. Проте, це відверта … не правда! Дані дисплеї несумісні взагалі(!) (окрім хіба що пінів). Тож, якщо ви маєте готовий проект під Nokia 5110, то LCD дисплей 1.44″ 128×128 SPI працювати там не буде, тому що “залізо” зовсім інше.

Проте, незважаючи на низьку ціну та невідомого виробника, даний дисплей показав себе з хорошої сторони – добра яскравість, нормальна  кольоропередача, стабільна робота на частоті 40MHz(!).

 

 

За 3$ ми отримаємо:

Тип дисплею                  – 1.44″  TFT LCD Модуль;
Роздільна здатність    –  RGB 128×128 px;
Колір                               – 18-бітів (262144 відтінків);
Яскравість                    –  120 кд/м2;
Контрасність               – 400: 1;
Тип контролера            –  ILI9163;
Інтерфейс                     – SPI;
Живлння                        –  2.8-3.3 В;
Підсвітка                      – білий світлодіод, 18 mA, 3.15 В;
Разміри                         –   32.4х45 мм.

Оскільки інтерфейс дисплею SPI, то підключення його до PSoC відбуватиметься через компоненту “SPI_Master”. Підключення виводів дисплею показані на Схемі 1. Виводи Vcc та LED  підключені до 3.3V.

Схема 1. Підключення 1.44″  TFT LCD Модуля до PSoC4/5

Щоб “подружити” PSoC з дисплеєм потрібно прописати відповідні регістри, вказати розміри екрану, позиціонування, і т.д. Все це робить процедура ініціалізації, що знаходиться у “display.h”, “display.с” (дану інформацію можна знайти у ILI9163 Controller DataSheet). Також проект використовує glcd_font_ukr_16x16.h та glcd_verdana_ukr_font.h файли де, власне, і є українські шрифти (великий та маленький). Слід зауважити, що на даний час не працює вивід українських літер стрічкою(string). Тому у проекті вивід українською є лише по-символьно 🙁

Рис 2. Вивід тексту різного розміру

Рис 3. Вивід тексту українською мовою

Демонстрація роботи

 

Проект із LCD бібліотекою можна завантажити із GitHub.