MCUFRIEND_kbv и TFT LCD
- Войдите на сайт для отправки комментариев
Ср, 22/06/2022 - 14:42
Добрый день. Приобрел себе вот такую "головную боль"
Перепробовал много библиотек и только одна начала с этим дисплеем работать: MCUFRIEND_kbv. Скачал последнюю версию 2.9.9.
Загрузил пример скетча GLUE DEMO 480 320. Выбросил рисование всех линий, прямоугольников. Оставил пока только текст, с которым и возникают уже вопросы.
Запускал разные "читалки". Выдает чип ИД - 0хС0С4. Хотя работает и если поставить 0х9341, и 0х9388.
#include <Adafruit_GFX.h> #include <UTFTGLUE.h> UTFTGLUE myGLCD(0xC0C4,A2,A1,A3,A4,A0); void setup() { pinMode(A0, OUTPUT); digitalWrite(A0, HIGH); myGLCD.InitLCD(); myGLCD.setFont(SmallFont); myGLCD.print("Hello, world!",CENTER,0); myGLCD.setFont(BigFont); myGLCD.print("Hello, world!",CENTER,100); myGLCD.setFont(SevenSegNumFont); myGLCD.print("Hello, world!",CENTER,200); } void loop() { }
Какой бы я не ставил шрифт, получаю одно и то же
Кстати сказать, запускал скетч Utouch_Calibr_kbv. Тоже работает.
Открыл файл самой библиотеки. Там написано:
3. remove smallFont, BigFont, SeveSegNumFont declarations
4. UTFTGLUE uses FreeFonts or NULL (System 5x7)
5. knows FreeSmallFont, FreeBigFont and FreeSevenSegNumFont
Я так понимаю, что она должна работать с FreeSmallFont, FreeBigFont and FreeSevenSegNumFont.
Но ни с FreeSmallFont, FreeBigFont and FreeSevenSegNumFont ни с smallFont, BigFont, SeveSegNumFont не работает. Что их все в отдельный файл "выносить" (как там написано: any other Fonts just need to #include "FreeOtherXXX.h")?
Может кто ещё сталкивался с подобными проблемами? Что ещё вырезано из данной библиотеки? Или может есть какая-то другая библиотека которая работает с этой "сладкой парочкой" (Мега и LCD) и у которой не урезаны функции?
Фонты не надо самому никуда выносить, они там уже есть, их надо только включить в скетч.
смотрите пример FontsSimple.ino
Добрый день. Приобрел себе вот такую "головную боль"
Перепробовал много библиотек и только одна начала с этим дисплеем работать: MCUFRIEND_kbv. Скачал последнюю версию 2.9.9.
Насчет библиотек - если правильно описать марку дисплея, то все будет работать. Автоматически не определяется, надо ручками.
b707 вы уже не первый раз помогаете и даете полезные советы, я, вроде бы, понял где искать но видимо что то не доделываю или не так делаю. Объясните чуть подробнее:
Я нашел что в файле "UTFTGLUE.h" который есть в архиве есть некоторые комментированные строки:
У меня такой экран откликнулся на инициализацию как 61509 контроллер, работает правильно. Посмотри в библиотеке, есть там такой контроллер? Или я по текстам пробегусь.
Открыл файл Font_simple.ino Мне не понятно следующее:
#include <MCUFRIEND_kbv.h> // Hardware-specific library MCUFRIEND_kbv tft;
Так не работает, а работает:
#include <UTFTGLUE.h>
UTFTGLUE tft(0xC0C4,A2,A1,A3,A4,A0);
не вижу в примере таких строк. Если вы удалили из примера библиотеку <MCUFRIEND_kbv.h> и вставили вместо нее <UTFTGLUE.h>, то очевидно, что еперь вы работает с библиотекой <UTFTGLUE.h> и искать, как добавить в нее фонты уже надо в другом месте
Я бы вам посоветовал для начала запустить свой дисплей именно на либе <MCUFRIEND_kbv.h>
нет, не работает с 61509
Итак, я может быть когда писал неправильно изложил все свои мысли.
Я скачал файл: "MCUFRIEND_kbv-2.9.9-Release.zip". Установил библиотеку и из всех примеров подошёл скетч "GLUE_Demo_480x320",
который использует библиотеку UTFTGLUE.h, а не MCUFRIEND_kbv.h.
Рабочий пример я привел выше. Нашел инфу (https://arduinoplus.ru/arduino-tft-lcd-display/) про MCUFRIEND_kbv.h. сделал как написано:
Ничего. fillScreen не работает, потому что, как мне кажется, объект tft создан не корректно.
А "UTFTGLUE myGLCD(0xC0C4,A2,A1,A3,A4,A0)" - работает.
Пробовал MCUFRIEND_kbv tft(A2,A1,A3,A4,A0) - тоже не работает.
Причем (из только что приведенного примера) в монитор порта выдает идентификатор TFT - 49348.
Таким образом надо работать дальше с UTFTGLUE.h
Где мне что и как надо раскомментировать что бы шрифты подтянуть и получить доступ к другим функциям библиотеки, поскольку как я писал ранее (я открыл файл UTFTGLUE.h ) некоторые функции закомментированы и не работают, например: