TFT дисплей 2.4
- Войдите на сайт для отправки комментариев
Втр, 14/11/2017 - 15:28
TFT дисплей 2.4 длелает зеркальне зображение !
#include <Adafruit_GFX.h> // Core graphics library #include <SWTFT.h> // Hardware-specific library // LCD_CS A3 // Chip Select goes to Analog 3 // LCD_CD A2 // Command/Data goes to Analog 2 // LCD_WR A1 // LCD Write goes to Analog 1 // LCD_RD A0 // LCD Read goes to Analog 0 // LCD_RESET A4 // D0 connects to digital pin 8 // D1 connects to digital pin 9 // D2 connects to digital pin 2 // D3 connects to digital pin 3 // D4 connects to digital pin 4 // D5 connects to digital pin 5 // D6 connects to digital pin 6 // D7 connects to digital pin 7 #define BLACK 0x0000 #define BLUE 0x001F #define RED 0xF800 #define GREEN 0x07E0 #define CYAN 0x07FF #define MAGENTA 0xF81F #define YELLOW 0xFFE0 #define WHITE 0xFFFF SWTFT tft; long interval1 = 1000; long LastTime1 = 0; int h; int m; int s; void setup() { tft.reset(); tft.begin(); tft.fillScreen(BLACK); tft.setRotation(3); } void loop() { tft.invertDisplay(true); delay(500); tft.invertDisplay(false); delay(500); testText(); teme(); } void teme(){ if (millis() - LastTime1 > interval1) { LastTime1 = millis(); s=s+1; } if(s==60){ s=0; m=m+1; } if(m==60) { m=0; h=h+1; } if(h==24) { h=1; } } void testText() { tft.setCursor(0, 0); tft.setTextColor(YELLOW); tft.setTextSize(2); tft.println(1234.56); tft.setTextColor(RED,BLACK); tft.setTextSize(4); tft.println(0xDEADBEEF, HEX); tft.println(String (s)+":"+(m)+":"+(h)); tft.setTextColor(GREEN); tft.setTextSize(5); tft.println("Groop"); tft.setTextSize(2); tft.println("I implore thee,"); tft.setTextSize(1); tft.println("my foonting turlingdromes."); tft.println("And hooptiously drangle me"); tft.println("with crinkly bindlewurdles,"); tft.println("Or I will rend thee"); tft.println("in the gobberwarts"); tft.println("with my blurglecruncheon,"); tft.println("see if I don't!"); }
С пытался с помощью оператора в стороке 50-53 tft.invertDisplay(); но некакой реакции. Как можно сделать что бы нормальное отображение??
Крутяк!
Как ты этого добился?
Мне такой дисплей с китая пришел, я вобще ничего не делал!
Мне такой дисплей с китая пришел, я вобще ничего не делал!
Когда-то давно, у меня на телефоне (кнопочном ещё) экран также зеркалил. Что-то со шлейфом было вроде...
Так что может это и не программное, а аппаратный брак
A если так - tft.setRotation( 3);
A если так - tft.setRotation( 3);
у меня так 44 строке и написано
044 tft.setRotation(3);
не имеет значения в каком положении!
Когда зеркало подставляешь то всё нормально, только как это программно сделать, если можно??
Ну так попробуйте tft.setRotation(0); или tft.setRotation(1); или tft.setRotation(2);
Интуитивно, разве нет?
tft.setRotation() вряд ли поможет, нужно в библиотеке вывод пикселей менять наоборот.
библеотека Adafruit_GFX.h
библеотека SWTFT.h
так вот библеотеки где тут чото поменять?
библеотека Adafruit_GFX.h
библеотека SWTFT.h
так вот библеотеки где тут чото поменять?
Нужно ковырять файлы *.cpp данных библиотек, скорее всего функцию drawPixel().
Вот SWTFT.cpp
На верно надо в нести изменения 270,271 строку?
Вот SWTFT.cpp
На верно надо в нести изменения 270,271 строку?
Я бы попробовал внести изменения в функцию drawPixel() (строка 445) - она является основной при рисовании графических объектов.
Узнаем контроллер экрана, читаем его мануал, там много тонких настроек в т.ч. и порядка сканирования экрана, повороты - один из них. Вооружившись знаниями лезем в либу смотрим, есть ли работа с требуемыми настройками. Если есть - юзаем, иначе - дописываем. Этот путь сложный, но верный т.к. окромя результата дает вам знания. Пути попроще - купить новый экран, может повезет, перебрать либы их дочертиков, поныть на форуме и т.д. Выбирайте вобщем,
проще экран -> в ведро и пойти пиво пить.
http://arduino.ru/forum/apparatnye-voprosy/arduino-i-displei-ot-sotikov-...