TFT LCD 3,2" - různé drivery
TFT LCD 3,2" - různé drivery
Vážení přátelé,
používám tento displej: https://www.aliexpress.com/item/3-2-TFT ... 0.0.HPTsLH
Jsem s ním spokojen, ovšem narazil jsem na problém s jakousi inovací driveru. Zatímco před časem jsem zakoupil displej s driverem ILI9327 Special, nyní je v nabídce jako náhrada displej s driverem HX8352B. Drivery vyžadují rozdílné verze knihovny MCUFRIEND_kbv. Vzájemně nejsou kompatibilní - Číňan mi k tomu napsal, že pokud chci pracovat s novým displejem, musím upgradovat knihovnu a naopak - pokud nechci knihovnu sám přepsat.
Protože mám rozpracované projekty s oběma verzemi současně, asi mi nezbude, než se o to nějak pokusit. Nejdříve bych se ale rád zeptal zde, zda už někdo nemá tento problém třeba vyřešený... Díky.
používám tento displej: https://www.aliexpress.com/item/3-2-TFT ... 0.0.HPTsLH
Jsem s ním spokojen, ovšem narazil jsem na problém s jakousi inovací driveru. Zatímco před časem jsem zakoupil displej s driverem ILI9327 Special, nyní je v nabídce jako náhrada displej s driverem HX8352B. Drivery vyžadují rozdílné verze knihovny MCUFRIEND_kbv. Vzájemně nejsou kompatibilní - Číňan mi k tomu napsal, že pokud chci pracovat s novým displejem, musím upgradovat knihovnu a naopak - pokud nechci knihovnu sám přepsat.
Protože mám rozpracované projekty s oběma verzemi současně, asi mi nezbude, než se o to nějak pokusit. Nejdříve bych se ale rád zeptal zde, zda už někdo nemá tento problém třeba vyřešený... Díky.
Re: TFT LCD 3,2" - různé drivery
Tak rychlé upřesnění, a sorry, že jsem kecal .
Číňan se mýlil, když se nainstaluje update knihovny [OPEN-SMART] TFT LCD Shield 3.2inch Update HX8352B.rar z tohoto umístění: https://drive.google.com/drive/folders/ ... lViUkI1Sms, tak to funguje s novým i se staršími verzemi driveru.
Není to tedy bez chybičky. Předně na nových deskách je displej osazený vzhůru nohama, ale touchscreen je "normálně". Aby korespondovaly souřadnice jako dřív, je potřeba dát setRotation(2).
Dále instalace updatu knihovny způsobí to, že na novém displeji (HX...) se zobrazují barvy standardně (BLACK = 0x0000, WHITE = 0xFFFF), ale na starém displeji (ILI...) jsou inverzní (BARVA=0xFFFF-BARVA).
Starý a nový displej se dá rozlišit podle readID(), takže se dá při inicializaci udělat podmínka.
Tak jsem si hezky odpověděl a třeba do budoucna pomohl někomu stejně zmatenému. A kdybyste měli další postřehy a zkušenosti k tématu, tak je aspoň kam je připisovat .
Číňan se mýlil, když se nainstaluje update knihovny [OPEN-SMART] TFT LCD Shield 3.2inch Update HX8352B.rar z tohoto umístění: https://drive.google.com/drive/folders/ ... lViUkI1Sms, tak to funguje s novým i se staršími verzemi driveru.
Není to tedy bez chybičky. Předně na nových deskách je displej osazený vzhůru nohama, ale touchscreen je "normálně". Aby korespondovaly souřadnice jako dřív, je potřeba dát setRotation(2).
Dále instalace updatu knihovny způsobí to, že na novém displeji (HX...) se zobrazují barvy standardně (BLACK = 0x0000, WHITE = 0xFFFF), ale na starém displeji (ILI...) jsou inverzní (BARVA=0xFFFF-BARVA).
Starý a nový displej se dá rozlišit podle readID(), takže se dá při inicializaci udělat podmínka.
Tak jsem si hezky odpověděl a třeba do budoucna pomohl někomu stejně zmatenému. A kdybyste měli další postřehy a zkušenosti k tématu, tak je aspoň kam je připisovat .
Re: TFT LCD 3,2" - různé drivery
Díky moc! Ušetřil jsi mi pár bezesných nocí
Re: TFT LCD 3,2" - různé drivery
pomohlo. rozdil mezi A/B fatalni, 1.6.5 nutne, pozor na cinana, vubec neresi verze, deklaruje B, posle A...klasika. Dik!
- pavel1tu
- Příspěvky: 2054
- Registrován: 26 říj 2017, 08:28
- Reputation: 0
- Bydliště: Trutnov
- Kontaktovat uživatele:
Re: TFT LCD 3,2" - různé drivery
Já to řeším s jiným typem displeje.
A tohle mi pomůže, až to pochopím a vyzkouším - tedy vyzkouším - moc díky
Dával jsem ho k alarmům i k řízení světel akvária - už sám jsem si naběhl používáním 3 displejů kdo jaký chtěl, teď díky řadičům mám už 5 verzí programu a s každou opravou/úpravou/zdokonalením - mě to stojí strašně moc času.
A tohle mi pomůže, až to pochopím a vyzkouším - tedy vyzkouším - moc díky
Dával jsem ho k alarmům i k řízení světel akvária - už sám jsem si naběhl používáním 3 displejů kdo jaký chtěl, teď díky řadičům mám už 5 verzí programu a s každou opravou/úpravou/zdokonalením - mě to stojí strašně moc času.
UNO, NANO, Mikro, PRO mini, DUE, ESP32S2, RPi PICO
Pavel1TU
"Správně napsaný kod lze číst jako knihu"
Pavel1TU
"Správně napsaný kod lze číst jako knihu"
Re: TFT LCD 3,2" - různé drivery
Pavle jestli to pomuze:
Kód: Vybrat vše
#include <Adafruit_GFX.h> // Core graphics library
#include <Wire.h> //I2C knihova
#include <LM75.h> //knihovna teplotniho cidla na desce displeje
#include <MCUFRIEND_kbv.h> //neco bez ceho to nechodi a je to dulezity :)
MCUFRIEND_kbv tft; //deklarace jmena displeje
LM75 sensor; // deklarace jmena cidla teploty
// barvy pro lidi
#define BLACK 0x0000
#define BLUE 0x001F
#define RED 0xF800
#define GREEN 0x07E0
#define CYAN 0x07FF
#define MAGENTA 0xF81F
#define YELLOW 0xFFE0
#define WHITE 0xFFFF
void setup() {
Serial.begin(9600); //nahozeni serialu meze displejem a arduinem
Wire.begin(); //nahozeni I2C
/* Serial.println(F("TFT LCD test"));
Serial.print("TFT size is ");
Serial.print(tft.width());
Serial.print("x");
Serial.println(tft.height()); */
tft.reset();
tft.begin(0x5252);//nahozeni HX8352A driveru displeje
tft.fillScreen(BLACK); //backgroung displeje
}
void loop() {
tft.setRotation(1); //rotace na sirku
tft.fillRect(60,80, 170, 50, BLUE); //modry podklad pro TEMP
tft.setCursor(65, 85); //kurzor pro text
tft.setTextColor(WHITE); tft.setTextSize(1);
tft.println("Teplota desky:");
tft.setCursor(100, 100);
tft.setTextColor(WHITE); tft.setTextSize(3);
tft.print(sensor.temp());
tft.println(" C");
tft.setCursor(10, 30);
tft.setTextColor(YELLOW); tft.setTextSize(4);
tft.println("73! DE OK1VBR");
tft.setCursor(60, 200);
tft.setTextColor(WHITE); tft.setTextSize(1);
tft.println(tft.width());
tft.setCursor(80, 200);
tft.setTextColor(WHITE); tft.setTextSize(1);
tft.println("x");
tft.setCursor(90, 200);
tft.setTextColor(WHITE); tft.setTextSize(1);
tft.println(tft.height());
delay(5000);
}
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 11 hostů