Stránka 1 z 1

LCD TFT Shield 2.4" (320x240px) mirrored

Napsal: 23 lis 2017, 12:24
od Mefisto
Zdravim, jsem uplny zacatecnik a zakoupil jsem si na sve prvni pokusy Arduino UNO R3 original desku a k ni 2,4" dotykovy TFT shield od mcufriend, nahral jsem do arduina jednoduchy ukazkovy program, ve kterem jsem po několika pokusech zjistil, ze displej reaguje na tft.begin(0x7575), napr.:

#include <Adafruit_GFX.h>
#include <Adafruit_TFTLCD.h>

#define LCD_RESET A4
#define LCD_CS A3
#define LCD_CD A2
#define LCD_WR A1
#define LCD_RD A0

#define BLACK 0x0004
#define WHITE 0xFFFF

Adafruit_TFTLCD tft(LCD_CS, LCD_CD, LCD_WR, LCD_RD, LCD_RESET);

void setup(void) {
tft.reset();
tft.begin(0x7575); // HX8347G LCD driver
tft.setRotation(1);
}

void loop(void) {
tft.fillScreen(BLACK);
tft.setCursor(80, 100);
tft.setTextColor(WHITE);
tft.setTextSize(7);
tft.println("AHOJ");
delay(5000);
}

zkousel jsem i mnoho jinych knihoven, ci jine ukázkove programy, displej bohužel ale vždy zobrazuje obracene, zrcadlove, viz. obrazek, podarilo se mi i naprogramovat funkcni tlačítka, text v nich ale byl opet prevraceny, na shieldu neni nic moc napsano, ale mel by to byt radic HX8347G, nejake rady?, navody?

dekuji.

Re: LCD TFT Shield 2.4" (320x240px) mirrored

Napsal: 23 lis 2017, 12:46
od Axamith
Nemám s těmito displeji zkušenost, ale napadá mě jednoduchý test.
Zkus do dipleje poslat grafiku, čtverec o straně 10 mm, souřadnice 0,0 - 10,10

Kód: Vybrat vše

displej.fillRect(0, 00, 10, 10, BLACK);
Kde se obdélník vůči orientaci displeje zobrazí?

Re: LCD TFT Shield 2.4" (320x240px) mirrored

Napsal: 23 lis 2017, 16:01
od martinius96
musí sa to na začiatku kódu prediť.. X do Y a Y do X.. ale neviem ako sa to robí. Tiež som mal podobný problém s TFT 3.5'' až som to nakoniec vzdal a predal ho.

Re: LCD TFT Shield 2.4" (320x240px) mirrored

Napsal: 23 lis 2017, 22:21
od Mefisto
Problém vyresen, nakonec jsem dle nalezeneho navodu upravil knihovnu MCUFRIEND_kbv.cpp, original odkaz zde:

https://forum.arduino.cc/index.php?topic=450176.0

slo jen o to, zakazat něco, a něco povolit pridanim a odebranim // v tom souboru, pote jsem pouzil tft.readID a po prevedeni do HEX mi vyslo 0x4747, cily tento kod jsem pouzil do tft.begin a huraa, display funguje, prikladam uplne jednoduchy overovaci priklad:

#include <SPI.h> // f.k. for Arduino-1.5.2
#include "Adafruit_GFX.h" // Hardware-specific library
#include <MCUFRIEND_kbv.h>
MCUFRIEND_kbv tft;

#define LCD_CS A3 // Chip Select goes to Analog 3
#define LCD_CD A2 // Command/Data goes to Analog 2
#define LCD_WR A1 // LCD Write goes to Analog 1
#define LCD_RD A0 // LCD Read goes to Analog 0
#define LCD_RESET A4 // Can alternately just connect to Arduino's reset pin

#define BLACK 0x0000
#define WHITE 0xFFFF

void setup(void) {
tft.begin(0x4747);
tft.setRotation(1);
}

void loop(void) {
tft.fillScreen(BLACK);
tft.setCursor(90, 90);
tft.setTextColor(WHITE);
tft.setTextSize(7);
tft.println("AHOJ");
delay(2000);
}

dále pridavam upravenou knihovnu do prilohy a dukazni foto :)