mcufriend 2.4 tft мега 2560
Пожалуйста, помогите мне с моим TFT-дисплеем mcufriend 2,4 на моем Mega2560.
Я выполнил все инструкции, которые смог найти, в том числе:
2.4" TFT LCD Shield не работает на Arduino Mega
У меня все еще отображается белый экран. Интересно, у меня TFT другой или сломан? Моя выглядит так:
Я запустил пример кода из SWtft. Я получил этот вывод по последовательному каналу:
TFT LCD test
LCD driver chip: 6TFT LCD test
LCD driver chip: 6767
Benchmark Time (microseconds)
Screen fill 1786024
Text 413024
Lines 2569212
Horiz/Vert Lines 226196
Rectangles (outline) 176972
Rectangles (filled) 4682244
Circles (filled) 2703104
Circles (outline) 1119540
Triangles (outline) 815028
Triangles (filled) 2867288
Rounded rects (outline) 469268
Rounded rects (filled) 5733992
Done!
@rudi rahmadi, 👍0
Обсуждение4 ответа
У меня есть один из этих TFT LCD shields, но мой — ILI9335. Мне потребовалось около 2 недель, чтобы найти работающую библиотеку и код для моего драйвера 9335, и теперь я приступаю к созданию эскизов на основе моей рабочей библиотеки. Библиотека - TFTLCD с использованием контроллера st7783 К сожалению, большинство продавцов этих щитов (за исключением компаний с хорошей репутацией) не сообщают, какой драйвер установлен на щите, и становится сложно найти рабочую библиотеку для драйвера приобретенного щита.
ТАКЖЕ проверьте, что библиотеки, которые у вас есть, работают для вашей версии Arduino IDE. Некоторые из моих библиотек не компилируются в v1.0.5, но компилируются в v1.6.3 (и наоборот) Если для вашего драйвера 6767 нет библиотеки (и я должен сказать, что не видел ни одной в своих поисках драйвера 9335), то вам, возможно, придется загрузить как можно больше различных библиотек, чтобы найти эскиз, который подойдет именно вам. Как только у вас появится рабочая библиотека, останется только модифицировать ее в соответствии с вашими целями.
Удачи в поиске рабочего решения для вашего щита.
Лэнс..
Спасибо за ваш личный опыт, интересно, он похож на мой? Удалось ли вам запустить его на mega2560?, @rudi rahmadi
Здравствуйте, у меня тоже есть 9335, но я не смог заставить его работать. Не могли бы вы поделиться библиотеками и примерами, которые вы используете? Спасибо, @MondKin
В продаже имеется несколько таких плат (в основном из Китая).
Следующие идентификаторы различных чипов взяты из файла с именем mcufriend_kbv_2_8.txt
из архива с именем Mcufriend_kbv_2.8.zip
, который предоставляет целую библиотеку (предположительно, ответвление UTFT), поддерживающую эти печатные платы. Здесь, на форуме Arduino.cc, находится одна из ссылок для загрузки.
----- HX8347-A 240x320 ID=0x8347 new Untested
ILI9320 240x320 ID=0x9320
ILI9325 240x320 ID=0x9325
ILI9327 240x400 ID=0x9327
ILI9329 240x320 ID=0x9329
ILI9335 240x320 ID=0x9335
ILI9341 240x320 ID=0x9341
ILI9481 320x480 ID=0x9481
ILI9486 320x480 ID=0x9486
ILI9488 320x480 ID=0x9488
LGDP4535 240x320 ID=0x4535
RM68090 240x320 ID=0x6809
R61505V 240x320 ID=0xB505
R61505W 240x320 ID=0xC505 new Untested
R61509V 240x400 ID=0xB509
----- S6D0139 240x320 ID=0x0139 removed due to lack of tester
S6D0154 240x320 ID=0x0154
SPFD5408 240x320 ID=0x5408
----- SSD1963 800x480 ID=0x1963 new Untested
SSD1289 240x320 ID=0x1289
ST7781 240x320 ID=0x7783
ST7789V 240x320 ID=0x7789
Белый экран — результат выбора неправильного чипа. Выберите правильный (по ID) и он заработает.
Вам необходимо изменить эти параметры #define TouchScreen() из
#define YP A3 #define XM A2 #define YM 9 #define XP 8
к
#define YP A2 #define XM A1 #define YM 6 #define XP 7
Вставьте только 4-ю строку, если (идентификатор == 0x6767) идентификатор = 0x7575; в setup(), как показано ниже
............
tft.reset();
uint16_t identifier = tft.readID();
if(identifier==0x0101)
identifier=0x9341;
if (identifier == 0x6767)
identifier = 0x7575;
if(identifier == 0x9325) {
Serial.println("Found ILI9325 LCD driver");
} else if(identifier == 0x4535) {
Serial.println("Found LGDP4535 LCD driver");
}else if(identifier == 0x9328) {
Serial.println("Found ILI9328 LCD driver");
} else if(identifier == 0x7575) {
Serial.println("Found HX8347G LCD driver");
} else if(identifier == 0x9341) {
Serial.println("Found ILI9341 LCD driver");
} else if(identifier == 0x8357) {
Serial.println("Found HX8357D LCD driver");
} else {
Serial.print("Unknown LCD driver chip: ");
Serial.println(identifier, HEX);
Serial.println("If using the Adafruit 2.4\" TFT Arduino shield, the line:");
Serial.println(" #define USE_ADAFRUIT_SHIELD_PINOUT");
Serial.println("should appear in the library header (Adafruit_TFT.h).");
Serial.println("If using the breakout board, it should NOT be #defined!");
Serial.println("Also if using the breakout, double-check that all wiring");
Serial.println("matches the tutorial.");
return;
}
- Попробуйте.
Скорее всего, контроллер не поддерживается или отключен в файле .cpp. Сначала узнайте свой идентификатор, например ID=0x6767. Затем посмотрите в папке библиотеки MCUFRIEND_kvb "extras" чтобы включить поддержку, например, в нашем случае 0x6767 — это 8347D. Наконец, перейдите в корень библиотеки, отредактируйте MCUFRIEND_kvd.cpp и раскомментируйте его, как в примере: #define SUPPORT_8347D. Сохраните измененный файл .cpp, а затем загрузите пример графического теста.
Привет и добро пожаловать. раскомментировать, как в вашем примере
- вы имеете в виду раскомментировать, как в вашем примере
? Пожалуйста, [отредактируйте] и исправьте все опечатки. Спасибо., @Greenonline
- ЖК экран подменю
- Arduino Ethernet Shield при использовании контактов Arduino Mega
- Кнопка двойного состояния Nextion
- Arduino GSM Shield GSM_READY никогда не готов
- ЖК-дисплей 16x2, показывающий блоки под текстом
- Печать содержимого файла SD - карты на ЖК-дисплее
- Arduino Ethernet Shield 2: Как автоматически определить MAC-адрес?
- Использование модуля JYETech 2.4 Inch LCD Display Screen Module с Arduino?
Какой TFT на плате носителя? Какой чип он использует?, @Majenko
В этом и проблема.. шилд пришел без какого-либо документа.. я пытался прочитать чип, но тоже неясно., @rudi rahmadi
Вы не прочтете чип, о котором я говорю, — «Чип на стекле», встроенный в TFT-экран. Вам нужно знать, что это такое, чтобы найти правильный драйвер. Продавец должен знать. Если они этого не делают, то они бесполезны., @Majenko
По словам продавца, драйвер - HX8347G LCD, им удалось запустить его на Uno, а на Mega 2560 мне не повезло., @rudi rahmadi
@rudirahmadi проверьте различия в совместимости контактов между UNO и MEGA. Убедитесь, что каждый вывод, которому требуется ШИМ, имеет ШИМ., @Paul