RootAdmin писал(а):
Могу предположить что требуется калибровка. Тач-то резистивный.
Сегодня пытался найти что либо (понимаю нужен скетч для калибровки) для UNO, но ничего не могу найти. Везде стандартные програмки рисовалки, которые у меня не работают (кроме примера выше (ссылка выше))
RootAdmin писал(а):
Или, если зеркально смещены точки, подключен наоборот. Рекомендую вывести на экран значения с АЦП и проверить, нажимая в углах.
Вот тут еще больше "тумана"...
Есть у вас готовые примеры или ссылки, для моей UNO?
Добавлено спустя 1 час 52 минуты 49 секунд:Мучию ардвинку.
Калибровка 100% требуется.
Так как сдела простой скетч - Hello World!
В библиотеке прописал размеры экрана
Код:
#include "pins_arduino.h"
#include "wiring_private.h"
#include "Adafruit_TFTLCD.h"
#include "pin_magic.h"
// my big screen 480 x 320
#define TFTWIDTH 320
#define TFTHEIGHT 480
//#define TFTWIDTH 240
//#define TFTHEIGHT 400
Если что, так же менял местами значения 480 и 320. Видимая часть стала чуть меньше. Если задать размер 100 на 100 пикселей, то сразу видно что часть 100 пиксельного экрана "съедена" (смещена) в лево. Как раз на две буквы
развернул экран, что бы он был в Альбомном формате
Код:
//.................... Rotate screen 1=90. 2=180. 3=270 ...............................
tft.setRotation(3);
//.....................................................................................
Ну и конечно поставил сообщение в 0, 0
Код:
unsigned long testText() {
tft.fillScreen(BLACK);
unsigned long start = micros();
tft.setCursor(0, 0);
tft.setTextColor(GREEN);
tft.setTextSize(3);
tft.println("Hello World!");
return micros() - start;
}
как видно две буквы вне экрана.
Как сделать калибровку???Полный код под спойлером
Код:
#include <Adafruit_GFX.h> // Core graphics library
#include <Adafruit_TFTLCD.h> // Hardware-specific library
#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 BLUE 0x001F
#define RED 0xF800
#define GREEN 0x07E0
#define CYAN 0x07FF
#define MAGENTA 0xF81F
#define YELLOW 0xFFE0
#define WHITE 0xFFFF
Adafruit_TFTLCD tft(LCD_CS, LCD_CD, LCD_WR, LCD_RD, LCD_RESET);
// If using the shield, all control and data lines are fixed, and
// a simpler declaration can optionally be used:
// Adafruit_TFTLCD tft;
void setup(void) {
Serial.begin(9600);
Serial.println(F("TFT LCD test"));
#ifdef USE_ADAFRUIT_SHIELD_PINOUT
Serial.println(F("Using Adafruit 2.8\" TFT Arduino Shield Pinout"));
#else
Serial.println(F("Using Adafruit 2.8\" TFT Breakout Board Pinout"));
#endif
Serial.print("TFT size is "); Serial.print(tft.width()); Serial.print("x"); Serial.println(tft.height());
tft.reset();
uint16_t identifier = tft.readID();
tft.begin(identifier);
//.................... Rotate screen 1=90. 2=180. 3=270 ...............................
tft.setRotation(3);
//.....................................................................................
Serial.print(F("Text"));
Serial.println(testText());
delay(3000);
}
void loop(void) {
}
unsigned long testText() {
tft.fillScreen(BLACK);
unsigned long start = micros();
tft.setCursor(0, 0);
tft.setTextColor(GREEN);
tft.setTextSize(3);
tft.println("Hello World!");
return micros() - start;
}