Сказка дети начинается
И купил иван царевич чудо юдо заморское, кинув клич 10$ на http://www.aliexpress.com/item/2-4-inch-TFT-touch-LCD-Screen-Module-For-Arduino-UNO-Free-Shipping/1418497586.html
Выбирал конечно с кодом.
https://drive.google.com/file/d/0B3hqYAvAOKllZ0M3d3E4REdiS2c/edit?usp=sharing
Компилятор древнющий да бетта какая-то, с дурко именами папок и фалов, но запускался.
С трудом был найден криворабочий пример TFTLCD7781 хотя чип упорно говорит что я 7783.
И понеслась судьбинушка по кочкам.
Был поддержен ценнейшими и содержательными беседами с разработчиками компилятора http://forum.arduino.cc/index.php?topic=223769.0
Сказка закончилась.
Я в ЖКИ как свинья в апельсинах.
Я уже понял, что графическими ЖКИ, а тем более с тыкательными экранами у ардуиноводов и конь не валялся.
Теперь вопрос:
Теоретически возможно надежно клаву и экран ввод и вывод по общим проводам развести , допустим ЖКИ способен запоминать и после получения удерживать изображение, а клавку опрашивать допустим изредко delay(10);?
Ключевое слово - надежно.
мой код работает но плеваться хочеться
03 | #define YP A1 //tftloop-YU pcbundertft-13 arduinoshieldLCD_WR!!! arduinouno-A1 |
04 | #define XM A2 //tftloop-XR pcbundertft-14 arduinoshieldLCD_RS!!! arduinouno-A2 |
05 | #define YM 7 //tftloop-XR pcbundertft-15 arduinoshieldLCD_D7 arduinouno-7 |
06 | #define XP 6 //tftloop-XR pcbundertft-12 arduinoshieldLCD_D6 arduinouno-6 |
11 | #define LCD_CD A2 //cmosbuffer-arduinoshieldLCD_RS!!! arduinouno-A2 |
12 | #define LCD_WR A1 //cmosbuffer-arduinoshieldLCD_WR!!! arduinouno-A1 |
как вы видите меня смутило что ЦАПы у клавы и моника оказались общие по очереди
как вы видите я даже вскрыл моник и под ним на шлейфе вызвонил что там накудесено
поэтому встряхивать их приходится
[code]
void loop(){
pinMode(XM, OUTPUT);
pinMode(YP, OUTPUT);
[/code]
Вопрос второй
2. Как привильно подключать библиотеки?
Мне за несколько дней никто ничего не смог ответить.
Китай жлепает отходы жки наклеивает на них матрицы резиствные все это напаивают на шилд как китайский бог подал и кричат эй ардуиноводы е...сь.
Код думаю можете не искать в мире его нет .
Можете взять мой.
Я 118-ый кто купил такой новомодный шилд.
Не понимаю как остальные в темную покупают без кода :-?
нате вам рабочего кода
Чисто вывод .
Работает адекватно.
[code]
// art100 write message
//TOUCH PCB ARDUINO UNO
//YU 13 A1
//XL 12 6
//YD 15 7
//XR 14 A2
//TFT
//A
//K1
//K2
//K3
//K4
#include "TFTLCD.h"
//pins
#define LCD_RESET A4
#define LCD_CS A3
#define LCD_CD A2
#define LCD_WR A1
#define LCD_RD A0
// Color definitions
#define BLACK 0x0000
#define BLUE 0x001F
#define RED 0xF800
#define GREEN 0x07E0
#define CYAN 0x07FF
#define MAGENTA 0xF81F
#define YELLOW 0xFFE0
#define WHITE 0xFFFF
TFTLCD tft(LCD_CS, LCD_CD, LCD_WR, LCD_RD, LCD_RESET);
//-----------------------
void setup(void) {
Serial.begin(9600);
Serial.println("8 Bit LCD test!");
tft.reset();
tft.initDisplay();
// testtext(YELLOW);
}
//===================
void loop(void) {
//Serial.println("testFillRoundRect();");
//testFillRoundRect();
//delay(1000);
//Serial.println("testRoundRect();");
//testRoundRect();
//delay(1000);
//Serial.println("testtriangles();");
//testtriangles();
//delay(1000);
//testfilltriangles();
//Serial.println("testfilltriangles();");
//delay(1000);
//Serial.println("testfillcircles(50,RED);");
//testtext(RED);
//delay(1000);
//Serial.println("testdrawcircles(50,RED);");
//testdrawcircles(50,RED);
//delay(10000);
//Serial.println("testfillrects(YELLOW, RED);");
//testfillrects(YELLOW, RED);
//delay(1000);
//Serial.println("testdrawrects(YELLOW);");
//testdrawrects(YELLOW);
//delay(10000);
//Serial.println("testfastlines(YELLOW, RED);");
//testfastlines(YELLOW, RED);
//delay(10000);
Serial.println("testlines(RED);");
testlines(RED);
delay(10000);
//Serial.println("testBars();");
//testBars();
//delay(10000);
}
//----------------------------------
void testtext(uint16_t color) {
tft.fillScreen(BLACK);
tft.setCursor(0, 0);
tft.setTextColor(color);
tft.setTextSize(3);
tft.println("Chego");
tft.println("ustavilsya?");
tft.println("Pizdec");
tft.println("proshol.");
tft.println("Fashists");
tft.println("from Europe");
tft.println("in Kiev.");
tft.println("Havaysya");
tft.println("in ogurci.");
tft.println("Undestand?");
//tft.println(0xDEADBEEF, HEX);
}
//------------------------------
void testFillRoundRect() {
tft.fillScreen(BLACK);
for (uint16_t x=tft.width(); x > 20 ; x-=6) {
tft.fillRoundRect(tft.width()/2 -x/2, tft.height()/2 -x/2 , x, x, x/8, tft.Color565(0, x, 0));
}
}
//-------------------------------
void testRoundRect() {
tft.fillScreen(BLACK);
for (uint16_t x=0; x < tft.width(); x+=6) {
tft.drawRoundRect(tft.width()/2 -x/2, tft.height()/2 -x/2 , x, x, x/8, tft.Color565(x, 0, 0));
}
}
//-------------------------------
void testtriangles() {
tft.fillScreen(BLACK);
for (uint16_t i=0; i<tft.width()/2; i+=5) {
tft.drawTriangle(tft.width()/2, tft.height()/2-i,
tft.width()/2-i, tft.height()/2+i,
tft.width()/2+i, tft.height()/2+i, tft.Color565(0, 0, i));
}
}
//-------------------------------
void testfilltriangles() {
tft.fillScreen(BLACK);
for (uint16_t i=tft.width()/2; i>10; i-=5) {
tft.fillTriangle(tft.width()/2, tft.height()/2-i,
tft.width()/2-i, tft.height()/2+i,
tft.width()/2+i, tft.height()/2+i,
tft.Color565(0, i, i));
tft.drawTriangle(tft.width()/2, tft.height()/2-i,
tft.width()/2-i, tft.height()/2+i,
tft.width()/2+i, tft.height()/2+i, tft.Color565(i, i, 0));
}
}
//----------------------------
void testfillcircles(uint8_t radius, uint16_t color) {
for (uint16_t x=radius; x < tft.width(); x+=radius*2) {
for (uint16_t y=radius; y < tft.height(); y+=radius*2) { tft.fillCircle(x, y, radius, color); }
}
}
//-------------------------------
void testdrawcircles(uint8_t radius, uint16_t color) {
for (uint16_t x=0; x < tft.width()+radius; x+=radius*2) {
for (uint16_t y=0; y < tft.height()+radius; y+=radius*2) { tft.drawCircle(x, y, radius, color); }
}
}
//-------------------------------
void testfillrects(uint16_t color1, uint16_t color2) {
tft.fillScreen(BLACK);
for (uint16_t x=tft.width()-1; x > 6; x-=6) {
//Serial.println(x, DEC);
tft.fillRect(tft.width()/2 -x/2, tft.height()/2 -x/2 , x, x, color1);
tft.drawRect(tft.width()/2 -x/2, tft.height()/2 -x/2 , x, x, color2);
}
}
//-------------------------------
void testdrawrects(uint16_t color) {
tft.fillScreen(BLACK);
for (uint16_t x=0; x < tft.width(); x+=6) { tft.drawRect(tft.width()/2 -x/2, tft.height()/2 -x/2 , x, x, color); }
}
//-------------------------------
void testfastlines(uint16_t color1, uint16_t color2) {
tft.fillScreen(BLACK);
for (uint16_t y=0; y < tft.height(); y+=5) { tft.drawHorizontalLine(0, y, tft.width(), color1); }
for (uint16_t x=0; x < tft.width(); x+=5) { tft.drawVerticalLine(x, 0, tft.height(), color2); }
}
//-------------------------------
void testlines(uint16_t color) {
tft.fillScreen(BLACK);
for (uint16_t x=0; x < tft.width(); x+=6) { tft.drawLine(0, 0, x, tft.height()-1, color); }
for (uint16_t y=0; y < tft.height(); y+=6) { tft.drawLine(0, 0, tft.width()-1, y, color); }
tft.fillScreen(BLACK);
for (uint16_t x=0; x < tft.width(); x+=6) { tft.drawLine(tft.width()-1, 0, x, tft.height()-1, color); }
for (uint16_t y=0; y < tft.height(); y+=6) { tft.drawLine(tft.width()-1, 0, 0, y, color); }
tft.fillScreen(BLACK);
for (uint16_t x=0; x < tft.width(); x+=6) { tft.drawLine(0, tft.height()-1, x, 0, color); }
for (uint16_t y=0; y < tft.height(); y+=6) { tft.drawLine(0, tft.height()-1, tft.width()-1, y, color); }
tft.fillScreen(BLACK);
for (uint16_t x=0; x < tft.width(); x+=6) { tft.drawLine(tft.width()-1, tft.height()-1, x, 0, color); }
for (uint16_t y=0; y < tft.height(); y+=6) { tft.drawLine(tft.width()-1, tft.height()-1, 0, y, color); }
}
//-------------------------------
void testBars() {
uint16_t i,j;
for(i=0; i < tft.height(); i++)
{
for(j=0; j < tft.width(); j++)
{
if(i>279) tft.writeData(WHITE);
else if(i>239) tft.writeData(BLUE);
else if(i>199) tft.writeData(GREEN);
else if(i>159) tft.writeData(CYAN);
else if(i>119) tft.writeData(RED);
else if(i>79) tft.writeData(MAGENTA);
else if(i>39) tft.writeData(YELLOW);
else tft.writeData(BLACK);
}
}
}
//-------------------------------
[/code]
вывод и ввод
но работает не адекватно
[code]
//20140208 art100 tft2.4" st7783 shield on arduino uno
// art100 write message
//#include "st7783SD.h" // pins SD_SS-10 SD_DI-11(in) SD_DO-12(out) SD_SCK-13 no work
//#include "st7783TFT.h" //has not written
//#include "st7783TouchScreen.h" //has not written
#include "TFTLCD.h" // work
#include "TouchScreen.h" // bad but it works
//TouchScreen define
#define YP A1 //tftloop-YU pcbundertft-13 arduinoshieldLCD_WR!!! arduinouno-A1
#define XM A2 //tftloop-XR pcbundertft-14 arduinoshieldLCD_RS!!! arduinouno-A2
#define YM 7 //tftloop-XR pcbundertft-15 arduinoshieldLCD_D7 arduinouno-7
#define XP 6 //tftloop-XR pcbundertft-12 arduinoshieldLCD_D6 arduinouno-6
#define TS_MINX 150//0
#define TS_MINY 120//0
#define TS_MAXX 920//900//320 //for calibrate analog resistans ~1500om/700om
#define TS_MAXY 940//800//900//240 //for calibrate analog resistans ~1500om/700om
// For better pressure precision, we need to know the resistance// between X+ and X- Use any multimeter to read it
// For the one we're using, its 300 ohms across the X plate
TouchScreen ts = TouchScreen(XP, YP, XM, YM, 300);
//TFT define
#define LCD_RESET A4//
#define LCD_CS A3
#define LCD_CD A2 //cmosbuffer-arduinoshieldLCD_RS!!! arduinouno-A2
#define LCD_WR A1 //cmosbuffer-arduinoshieldLCD_WR!!! arduinouno-A1
#define LCD_RD A0
// Color definitions
#define WHITE 0xFFFF
#define BLACK 0x0000
#define RED 0xF800
#define BLUE 0x001F
#define GREEN 0x07E0
#define YELLOW 0xFFE0
TFTLCD tft(LCD_CS, LCD_CD, LCD_WR, LCD_RD, LCD_RESET);
//SD define //has not written
#define bordur 5
#define pen 3
//---------------------------------------
void setup(void) {
Serial.begin(9600);
Serial.println("Paint");
tft.reset();
uint16_t identifier = tft.readRegister(0x0);
tft.initDisplay();
tft.fillScreen(RED);
}
#define MINPRESSURE 10 // analog calibrate
#define MAXPRESSURE 1000 // analog calibrate
//=======================================
void loop(){
Point p = ts.getPoint(); // get analog point
pinMode(XM, OUTPUT); //2 chip on one pins
pinMode(YP, OUTPUT); //2 chip on one pins
if (p.z > MINPRESSURE && p.z < MAXPRESSURE) { // analog calibrate
p.x = map(p.x, TS_MINX, TS_MAXX, 0, tft.width ()); // aprocsimate variable
p.y = map(p.y, TS_MINY, TS_MAXY, 0, tft.height()); // aprocsimate variable
// if (300< p.x) { // erase only on bordur //no need have reset button
// Serial.println("erase"); // test
// tft.fillRect(0, 0, tft.width(), tft.height(), RED);// BLACK); //fill black
// }
// test
Serial.print("getPoint x=");Serial.print(p.x);Serial.print(" y=");Serial.print(p.y);Serial.print(" PRESSURE=");Serial.print(p.z);
// paint
if (((p.x)<tft.width()) && ((p.y)<tft.height())) { tft.fillRect(p.x,p.y,pen,pen,GREEN); }
}
}
[/code]
Последний код
Важно!
Я нарисовал свой жене на 8 марта сердечко и меня не стали убивать.
Вас тоже может спасти. :)
Жду критики.
ввод вывод
который спасает мир
потому что нравится женщинам
только вывод
работает легко
но какой практический смысл
только если политика
распиновочка
Неужто я опять впереди планеты всей :-0
А где остальные 117 купивших этот шилд :-?
Вопрос следующий 3-ий
Как SD писать читать.
Что модного нынче лучше рабочим кодом
Задача скажем такая:
Если втыкнул miniSD то прочитал картинку и сразу на экран.
Я в этом тоже как свинья в апельсинах.
Вижу распаяны 4 ноги некиt
SD_SS ни чего не думаю
SD_DI думаю Input
SD_DO дмуаю Output
SD_SCK думаю синхроимпульс
мне как чайнику надо обьяснять что это за 4 ноги
как порт называется
ну чтож продолжим беседу с умным человеком и мастером на все руки.
Говорите
Я в этом тоже как свинья в апельсинах.
не с пятачками тут мало совсем с кривыми руками тут поболей - на гоблины откликаются
мало того что крывые, так растут не ровно из плечей
вот и код выложит не в состоянии
хотя он у каждого кто сюда заходит в стандартных библиотеках
на твое фото малек посмотреть и чуток подправить
Вижу распаяны 4 ноги некиt
думаю SPI назывется ключевое словцо
SD_SS ни чего не думаю
инициализацией зовется
SD_DI думаю Input
SD_DO дмуаю Output
SD_SCK думаю синхроимпульс
как всегда прав
мне как чайнику надо обьяснять что это за 4 ноги
как порт называется
термит с выражоувыванием читай выше
код можешь мой попользовать
пин вместо по умолчанию да и ты сам видишь 10 11 12 13(4)
код возьами внутри компилятора отсюда http://arduino.cc/en/Main/Software#toc2 /labriary/SD/...
только не спеши все сразу запускать там много кода который пишет
не ровен час сгавняет твою инфу на miniSD-шке
почитай неспешно
а через денек как начитаешся приходи поговорим
ответ сожержимого вот такой будет
[code]
[/code]
или такой
[code]
и извини мил человек 64 Gbyte miniSD мало кто читает, а не с латинице вооще гавнецо
спасибо мил человек за совет заблудшему :)
и тебе спасибо
заходи поговорим :)
>> SD_SS...
SS - Slave Select. Выбрать раба. Если мастер (хозяин) spi шины подаст на этот вход ноль, то раб (управляемое устройство) подключится к шине и мастер сможет с ним общаться. Если мастер подаст единицу, то раб отключится от шины и мастер сможет общаться с другим рабом. Если на шине один раб, то, обычно, можно соединить SS с землёю.
спасибо мил человек за разум и просвящение :)
Не надо тут о политике, по моему скромному мнению.
Вот был один уважаемый мною украинский детский доктор с "поляцкой фамилией". Полез в политику. И стал неуважаемым.
"" - цитата из Стиллавина, кажется. Извините если что. Если вам показалось, что я ясно выразился, значит вы неправильно меня поняли.
а мне не смешно
этот переворот рядом со мной
может это последние игрушки что я делаю
попробуйте использовать ПО Arduino 1.0.5, если актуально. Я считаю версию стабильной.
Похоже, эти китайцы хитропопые набрали в один архив всякого ардуино-тфт хлама на 80 мегабайт, с миру о нитке. А толку нет. Отзывы на али превосходные. Али платит за отзывы?
попробуйте использовать ПО Arduino 1.0.5, если актуально. Я считаю версию стабильной.
Похоже, эти китайцы хитропопые набрали в один архив всякого ардуино-тфт хлама на 80 мегабайт, с миру о нитке. А толку нет. Отзывы на али превосходные. Али платит за отзывы?
просто очень быстро присылают мне вместо 30 дней за 14 пришло вот и отзывы exelent - ошалел
а споследними верисями эта FTFLCD7781 библиотека ругается
не разбирался с этим
это что-то повыше чем c:/arduino/library/...
я вопросы задавал но ни ответа ни привета
что в ведре сменилось при переходе pde на ino с 2.6->1.05
часть кода в старой часть в новой
http://yadi.sk/d/_WvSpnMdKHahV
Ты посоветовал искать 7781 - через гугль 7781 - нашёл тебя здесь :)
У меня экран приклеен немного криво - может под ним сопли. Отрывать пока не решился.
Код если можно - поищи - мне меньше граблей достанется.
Ардуина 256-я есть. Поиграюсь.
А что за плата (20$ с крутелькой и классическим ЖКИ 16x2) - на алиэкпресс или под заказ?
щас гляну
мне просто замечательно с крутелкой с SD и простеньким индикатором вываливающиеся много уровнеыве меню начали работать с этим за 15$
раз пошла такая пьянка
мне по usb щас код поменяю
как поменяю и он заработает выложу
я думаю понятно что компилятор старый с последним tftlcd.h..cpp нужен
проверил код от USB в ASCII поймал
в ардуину воткнуты сразу два щитка с ЖКИ и промежуточный с резисторами не обращай внимания мне лень выдергивать
не работает промежуточный щиток с панелкой контактов
01
// art100 write message
02
//TOUCH PCB ARDUINO UNO
03
//YU 13 A1
04
//XL 12 6
05
//YD 15 7
06
//XR 14 A2
07
//TFT
08
//A
09
//K1
10
//K2
11
//K3
12
//K4
13
#include "TFTLCD.h"
14
//pins
15
#define LCD_RESET A4
16
#define LCD_CS A3
17
#define LCD_CD A2
18
#define LCD_WR A1
19
#define LCD_RD A0
20
// Color definitions
21
#define BLACK 0x0000
22
#define BLUE 0x001F
23
#define RED 0xF800
24
#define GREEN 0x07E0
25
#define CYAN 0x07FF
26
#define MAGENTA 0xF81F
27
#define YELLOW 0xFFE0
28
#define WHITE 0xFFFF
29
TFTLCD tft(LCD_CS, LCD_CD, LCD_WR, LCD_RD, LCD_RESET);
30
int
commandusb = 0;
//
31
32
//-----------------------
33
void
setup
(
void
) {
34
Serial
.begin(9600);
35
// Serial.println("8 Bit LCD test!");
36
tft.reset();
37
tft.initDisplay();
38
// testtext(YELLOW);
39
}
40
//===================
41
void
loop
(
void
) {
42
if
(
Serial
.available() > 0) {
43
commandusb =
Serial
.read();
44
// Serial.print("commanda usb received: "); Serial.println(commandusb);
45
usbtextlcd(commandusb,YELLOW);
46
}
47
48
}
49
//----------------------------------
50
void
usbtextlcd(
int
text,uint16_t color) {
51
tft.fillScreen(BLACK);
52
tft.setCursor(0, 0);
53
tft.setTextColor(color);
54
tft.setTextSize(3);
55
tft.println(text);
56
//tft.println("ustavilsya?");
57
//tft.println("Pizdec");
58
//tft.println("proshol.");
59
//tft.println("Fashists");
60
//tft.println("from Europe");
61
//tft.println("in Kiev.");
62
//tft.println("Havaysya");
63
//tft.println("in ogurci.");
64
//tft.println("Undestand?");
65
//tft.println(0xDEADBEEF, HEX);
66
}
67
//-------------------------------
вот скоч уже не держит от тепла поплыл :)
фото с работающего станка
прямо сейчас визжит :)
у меня код для такого варинта с одной крутелкой просто на ура пошел
пищалки кнопки не пользую
а вот снизу SD в большом размере очень даже хорошо пошла
отрывать не бойся
двусторонний скочь найди про запас (я жирными пальцами не лапал чуток держится мне лень так и не приклеил полностью обратно)
и отрывай с краев тихонько ножичком где шлейфов нет сразу с жестянкой экрана
шлейф клавы 4 провода сбоку виден
шлейф экранчика проводов много по центру не порежешь
резисторы выбора режимов проводов чипа 16/8//// прямо на шлейфике припаяны и прячутся в экранчик
оторвешь увидешь что вручную китайка паяла выбирала :)
так что я практически пользую текстовые многострочные с вываливающимися менюшками экранчики на которые кода отлаженного очень много
думал еще вариант есть с графическим ЖКИ есть код но реально когда вникать начал опять кривой код
может попозже
не - отрывать пока не буду, помучаюсь пока так. когда программным путём упрусь в тупик - тогда полезу hardware переделывать :) Да и скотча кстати нету. А код сейчас попробую.
Компилятор старый - это arduino-1.0.5-r2 или arduino-2.6-7781-after12.22 ?
"с последним tftlcd.h..cpp нужен" - TFTLCD╘н.zip 471563 байта или из компилятора?
щас мой реальный для этой игрушки запакую выложу
будет открываться ругатся на чудо пробелы в именах чудо китайские имена не обрущай внимания можешь эти дурко библиотеки выкинуть, можешь имена поправлять мне лень
как есть as is c живого компьютера только что ардуинку с экраном "поднял"
72 мега на яндекс выложил
можешь забирать
тупо на вынь7 32бита в корне разверни
начихай на крывыве имена библиотек
там два примера из библиотек работают с ходу (запамятовал какие)
исходники от меня бери
современный и старый оба компилятора без проблем на одной машине
каталог ты уже понял специфический только для старого
http://yadi.sk/d/DFEUfxMMNrv5T
пиши как оно
а то по видимому 150 лохов как и я купили на сдачу 10$ некую зверушку ЖКУ-шку
повидимому я только один
1.жене на 8-ое марта сердечко нарисавал золотом по красному.
2.да тупо текстово тестер из графики оставил для USB анализов
Ты вторым будешь кто применит эти 10$
:)
ты посмотри нас таких лохов уже 197
http://www.aliexpress.com/item/2-4-inch-TFT-touch-LCD-Screen-Module-For-Arduino-UNO-Free-Shipping/1418497586.html
и только я один что-то написал.
весело :)
google.com молчит как партизан
скачал, запускаю, выводит текст, красные лини из углов, или код из компорта на экранчик - что-то работает.
НЕ работает примеры с тач. Один пример touchscreendemo - в цикле тишина, если убрать условие if (p.z > ts.pressureThreshhold) {
идут строки
X = 1021 Y = 554 Pressure = 0
X = 1021 Y = 554 Pressure = 0
на нажатие не реагирует.
Если пробую пример с этой страницы
//20140208 art100 tft2.4" st7783 shield on arduino uno
и т.д.
тогда в монитор идёт
Paint
getPoint x=265 y=352 PRESSURE=586
getPoint x=266 y=352 PRESSURE=981
getPoint x=266 y=352 PRESSURE=981
getPoint x=264 y=352 PRESSURE=341
getPoint x=264 y=352 PRESSURE=876
getPoint x=265 y=352 PRESSURE=587
getPoint x=265 y=352 PRESSURE=411
getPoint x=265 y=352 PRESSURE=470
getPoint x=267 y=352 PRESSURE=590
getPoint x=266 y=352 PRESSURE=412
getPoint x=266 y=352 PRESSURE=883
getPoint x=267 y=352 PRESSURE=886
getPoint x=265 y=352 PRESSURE=879
getPoint x=266 y=352 PRESSURE=252
getPoint x=268 y=352 PRESSURE=474
и НЕ рисует ничего. может тач негожий :( или руки
Если можно - для танкистов - напиши работающий код для тач для этой чудо платы
Что-то я наверное туплю, пойду лопатой часок поработаю...
судя по коду
это я пытался понять где-ж у экрана 0 0 а где 320 на 240
пальцем поводи по экрану координаты небось выдаю другие
а прямую сылку дай што за мой код
я все что написал не помню
Запускаю этот код, экран заливается красным. При нажимании в районе выводов тачпанели ИНОГДА на красном появляются желтые точки, однажды получилось провести пунктирную линию. Иногда экран становится синим с желтыми точками. Нажимал-нажимал, точки стали всё реже появляться. По видимому диагноз - тач дохлый, этот экземпляр только для вывода графики. Это всё на Arduino UNO. Поставил экран на Мегу2560. Там ещё чудесатее глюки.
Может купить ещё экран - а ВДРУГ тач нормальный попадётся?
01
//20140208 art100 tft2.4" st7783 shield on arduino uno
02
// art100 write message
03
//#include "st7783SD.h" // pins SD_SS-10 SD_DI-11(in) SD_DO-12(out) SD_SCK-13 no work
04
//#include "st7783TFT.h" //has not written
05
//#include "st7783TouchScreen.h" //has not written
06
#include "TFTLCD.h" // work
07
#include "TouchScreen.h" // bad but it works
08
//TouchScreen define
09
#define YP A1 //tftloop-YU pcbundertft-13 arduinoshieldLCD_WR!!! arduinouno-A1
10
#define XM A2 //tftloop-XR pcbundertft-14 arduinoshieldLCD_RS!!! arduinouno-A2
11
#define YM 7 //tftloop-XR pcbundertft-15 arduinoshieldLCD_D7 arduinouno-7
12
#define XP 6 //tftloop-XR pcbundertft-12 arduinoshieldLCD_D6 arduinouno-6
13
#define TS_MINX 150//0
14
#define TS_MINY 120//0
15
#define TS_MAXX 920//900//320 //for calibrate analog resistans ~1500om/700om
16
#define TS_MAXY 940//800//900//240 //for calibrate analog resistans ~1500om/700om
17
// For better pressure precision, we need to know the resistance// between X+ and X- Use any multimeter to read it
18
// For the one we're using, its 300 ohms across the X plate
19
TouchScreen ts = TouchScreen(XP, YP, XM, YM, 300);
20
//TFT define
21
#define LCD_RESET A4//
22
#define LCD_CS A3
23
#define LCD_CD A2 //cmosbuffer-arduinoshieldLCD_RS!!! arduinouno-A2
24
#define LCD_WR A1 //cmosbuffer-arduinoshieldLCD_WR!!! arduinouno-A1
25
#define LCD_RD A0
26
// Color definitions
27
#define WHITE 0xFFFF
28
#define BLACK 0x0000
29
#define RED 0xF800
30
#define BLUE 0x001F
31
#define GREEN 0x07E0
32
#define YELLOW 0xFFE0
33
TFTLCD tft(LCD_CS, LCD_CD, LCD_WR, LCD_RD, LCD_RESET);
34
//SD define //has not written
35
#define bordur 5
36
#define pen 3
37
//---------------------------------------
38
void
setup
(
void
) {
39
Serial
.begin(9600);
40
Serial
.println(
"Paint"
);
41
tft.reset();
42
uint16_t identifier = tft.readRegister(0x0);
43
tft.initDisplay();
44
tft.fillScreen(RED);
45
}
46
#define MINPRESSURE 10 // analog calibrate
47
#define MAXPRESSURE 1000 // analog calibrate
48
//=======================================
49
void
loop
(){
50
Point p = ts.getPoint();
// get analog point
51
pinMode(XM, OUTPUT);
//2 chip on one pins
52
pinMode(YP, OUTPUT);
//2 chip on one pins
53
if
(p.z != 0) {
54
Serial
.print(
"getPoint x="
);
Serial
.print(p.x);
Serial
.print(
" y="
);
Serial
.print(p.y);
Serial
.print(
" PRESSURE="
);
Serial
.print(p.z);
55
Serial
.println(
"--"
);
56
57
}
58
if
(p.z > MINPRESSURE && p.z < MAXPRESSURE) {
// analog calibrate
59
p.x = map(p.x, TS_MINX, TS_MAXX, 0, tft.width ());
// aprocsimate variable
60
p.y = map(p.y, TS_MINY, TS_MAXY, 0, tft.height());
// aprocsimate variable
61
62
// if (300< p.x) { // erase only on bordur //no need have reset button
63
// Serial.println("erase"); // test
64
// tft.fillRect(0, 0, tft.width(), tft.height(), RED);// BLACK); //fill black
65
// }
66
67
// test
68
Serial
.print(
"getPoint x="
);
Serial
.print(p.x);
Serial
.print(
" y="
);
Serial
.print(p.y);
Serial
.print(
" PRESSURE="
);
Serial
.print(p.z);
69
Serial
.println(
"++"
);
70
71
// paint
72
if
(((p.x)<tft.width()) && ((p.y)<tft.height())) { tft.fillRect(p.x,p.y,pen,pen,GREEN); }
73
}
74
}
значит и ты мой код запустил
и тебя посчитали
ТЫ ТЕПЕРЬ 2-ой кто этот экранчик запустил с тачскрином
не заливается, а я заливаю
не иногда а веди линии неспеша
я же в коде написал ноги экрана и жки дебило-запаралелены
ардуинка с ума с ходит что на ее ногах творится и ввод и вывод одновременно
в строках 9 и 10 и 22 и 23 что я написал?
ты видео мое видел ссылку на http://arduino.cc вот нашел что-то
http://yadi.sk/d/EPYljwnIKAWUT
введи карандашом помедленне и всего делов-то
потренируйся
и жене сердечко нарисуй
она тебя полюбит
золотом по красному :)
а если уж не в терпеж вскрывай режь коли разводи ноги по углам
моргать перестанет и станет все работать и станет скучно :(
шутки закончаться
по отдельности все там очень даже рабочее а
все сопротивления экрана я кодом отьюстировал
я кому писал
запаяли как китайский бог подал
перепаяй
отпишись
Что вы курили?
за безтолковое набивание постов
садись два
следующий
видио видел.
Про 9и10 и 22и23 - сравнил платы - для меги нужно А3и4-ага. Спасибо, невнимательно смотрел. Я то думал мега просто длиннее... (а внутри скетча можно определить на какой плате запущено - на uno или на mega? хотя это конечно извращение)
А тач всё-таки контуженный. ЕСЛИ прижать в одном месте в районе торца (где шлейф тач панели подходит к самой панели) ТОГДА тач почти работает: моргает красно-синим и рисуются желтые точки. Только линии сплошные никак не получаются - только пунктирные и на несколько пикселей смещены от точки касания. Смещение - ладно, можно скорректировать. Но прижимать шлейф в ОСОБОЙ точке под особым углом - напрягает.
Если придумаю куда мне ОЧЕНЬ необходим тач - куплю ещё экран у твоего продавца (я покупал у другого). А пока буду с графикой тренироватся. Как выводить текст горизонтально? tft.setRotation(rotation) у тебя работает ?
в моем коде все работало
что не работало я сразу удалял
хотя может
ты смотришь наверно не мой код
а библиотечный наверно там подгонка под резисторы тачскрина не всегда попадали вроде
в разных подкаталогах вроде разные варианты валялись\
не помню
не пользую
полгода еще не прошло 2 месяца
вот пройдет забуду совсем если комментарий не увижу
отруби вывод на экран отсавь вывод в USB поводи пальцем если координаты обе плавненько значит не обломан на краю
я ведь координаты по факту отлавливал через usb
так точно строчка 68 вывод только в usb
тупо строчку 6 ую закоментируй
и все остальное на что ругнется компилятор
останется
тачскрин->usb
поймешь есть обрыв нет
может тебе постоянные константы подобрать нужно
партия отмороженная отпаренная сопротивление поплыло
я при комнатной температуре 18 градусов отлаживал
Этот код твой - в начале этой темы идут два твоих примера: один рисует красные линии из углов, второй - рисовалка.
Если закомментировать 6- ругается на 19, закомментировать 19 -ругается на 33 и т.д.
Неконтачит шлейф и верхний элемент (резистивный?емкостный) примерно в том месте где нарисована книжка, прижимать не с торца и не сверху - а под 45 градусов - тогда тач работает нормально. Там 4 контакта, не контачит 3-й считая слева. Отрывать от красной платы нет смысла.
Как выводить текст в "альбомной ориентации"?
Как выводить текст, чтобы при достижении нижней строки верхний текст прокручивался и уходил наверх - окно прокрутки - наверное только самому руками...
сочувствую
Говорят - утро вечера мудренее - а я что-то теперь не пойму: что нужно написать в строках 9,10,22,23 для Меги? Разьемы то одинаковые
(больше не у кого спросить )
1) Оставил из первоначального кода только нужное, запускаю: в цикле горизонтальные полосы и из угла красные линии. раскомментирую строку // tft.println("Undestand?1"), запускаю - горизотнальные полосы, красные линии, ВЕРТИКАЛЬНЫЕ полосы... Почему?
2) если поменять местами код полосы и линии - то правая часть полос рисуется на 1 пиксель ниже
Программу я как-нибудь составлю-отлажу, а тут такое :(
Или библиотека глючная, или к чипу не подходит, или компилятор, ...
01
// art100 write message //TOUCH PCB ARDUINO UNO //+
02
#include "TFTLCD.h"
03
//pins
04
#define LCD_RESET A4
05
#define LCD_CS A3
06
#define LCD_CD A2
07
#define LCD_WR A1
08
#define LCD_RD A0
09
// Color definitions
10
#define BLACK 0x0000
11
#define BLUE 0x001F
12
#define RED 0xF800
13
#define GREEN 0x07E0
14
#define CYAN 0x07FF
15
#define MAGENTA 0xF81F
16
#define YELLOW 0xFFE0
17
#define WHITE 0xFFFF
18
TFTLCD tft(LCD_CS, LCD_CD, LCD_WR, LCD_RD, LCD_RESET);
19
//-----------------------
20
void
setup
(
void
)
21
{
22
Serial
.begin(9600);
23
Serial
.println(
"8 Bit LCD test!"
);
24
tft.reset();
25
tft.initDisplay();
26
}
27
28
void
loop
(
void
)
29
{
30
tft.fillScreen(BLACK);
31
32
//--------------------------------
33
Serial
.println(
"testBars();"
);
34
for
(uint16_t i=0; i < tft.height(); i++)
35
{
36
for
(uint16_t j=0; j < tft.width(); j++)
37
{
38
if
(i>279) tft.writeData(WHITE);
39
else
if
(i>239) tft.writeData(BLUE);
40
else
if
(i>199) tft.writeData(GREEN);
41
else
if
(i>159) tft.writeData(CYAN);
42
else
if
(i>119) tft.writeData(RED);
43
else
if
(i>79) tft.writeData(MAGENTA);
44
else
if
(i>39) tft.writeData(YELLOW);
45
else
tft.writeData(BLACK);
46
}
47
}
48
delay(1000);
49
//--------------------------------
50
Serial
.println(
"testlines(RED);"
);
51
for
(uint16_t x=0; x < tft.width(); x+=19) { tft.drawLine(0, 0, x, tft.height()-1, RED); }
52
delay(1000);
53
//--------------------------------
54
Serial
.println(
"testtext(YELLOW);"
);
55
tft.setCursor(0, 0);
56
tft.setTextColor(YELLOW);
57
tft.setTextSize(3);
58
// tft.println("Undestand?1");
59
delay(1000);
60
}
ак что вы от меня хотите?
сначало определитесь с начальным координатами
потом отсчитывая от них пробуйте по фигурке за раз рисовать
сами поймете где отступы заступы шаги нашаги нужны
все вроде были корректные
там есть код где 15 фигур вроде все кроме одно все были адекватны
я же писал мне не интересно
я как терминал для отладки пользую только потому как только это надежно
я думал кнопки реальзовать на менюшки и Rect-англовые регионы опрашивать для выбора нажатой виртуальной кнопки
но потому как перепаивать клаву надо чтобы адекватно интерес пропал
потом увидел не быстрый экран получается
в принципе хватит но в вываливающие ся FillRact-англить не интересно становится картинки хотел подменивать с SD для подмены интерфейса а тут несовместимость компиляторв которые надо сразу два применять если в дебри компияторов не лезть
зачем?
мне подходящаая панель управления пришла с управлением за 15$
я больше на эту время не трачу с глюкоуправлением за 10$
зачем?
вы определитесь чего хотите
то и пробуйте
попробуйте эти подпрограмки
не помню точно вроде все кроме одной рабочие
тут кстати код определения типа чипа st7783 но правду искать надов st7781
вы даташит читали возможности поняли
может вам сосвем не подойдет
мне не подошел
001
#define LCD_CS A3
002
#define LCD_CD A2
003
#define LCD_WR A1
004
#define LCD_RD A0
005
// you can also just connect RESET to the arduino RESET pin
006
#define LCD_RESET A4
007
//Duemilanove/Diecimila/UNO/etc ('168 and '328 chips) microcontoller:
008
// Color definitions
009
#define BLACK 0x0000
010
#define BLUE 0x001F
011
#define RED 0xF800
012
#define GREEN 0x07E0
013
#define CYAN 0x07FF
014
#define MAGENTA 0xF81F
015
#define YELLOW 0xFFE0
016
#define WHITE 0xFFFF
017
018
#include "TFTLCD.h"
019
020
TFTLCD tft(LCD_CS, LCD_CD, LCD_WR, LCD_RD, LCD_RESET);
021
022
void
setup
(
void
) {
023
Serial
.begin(9600);
024
Serial
.println(
"8 Bit LCD test!"
);
025
026
027
tft.reset();
028
029
//uint16_t identifier = tft.readRegister(0x0);
030
// if (identifier == 0x9325)
031
// {
032
// Serial.println("Found ILI9325");
033
// } else if (identifier == 0x9328)
034
//{
035
// Serial.println("Found ILI9328");
036
//} else
037
// {
038
// Serial.print("Unknown driver chip ");
039
// Serial.println(identifier, HEX);
040
// while (1);
041
//}
042
043
tft.initDisplay();
044
045
testtext(RED);
046
047
048
}
049
050
void
loop
(
void
) {
051
052
053
}
054
055
056
057
void
testFillRoundRect() {
058
tft.fillScreen(BLACK);
059
060
for
(uint16_t x=tft.width(); x > 20 ; x-=6) {
061
tft.fillRoundRect(tft.width()/2 -x/2, tft.height()/2 -x/2 , x, x, x/8, tft.Color565(0, x, 0));
062
}
063
}
064
065
void
testRoundRect() {
066
tft.fillScreen(BLACK);
067
068
for
(uint16_t x=0; x < tft.width(); x+=6) {
069
tft.drawRoundRect(tft.width()/2 -x/2, tft.height()/2 -x/2 , x, x, x/8, tft.Color565(x, 0, 0));
070
}
071
}
072
073
void
testtriangles() {
074
tft.fillScreen(BLACK);
075
for
(uint16_t i=0; i<tft.width()/2; i+=5) {
076
tft.drawTriangle(tft.width()/2, tft.height()/2-i,
077
tft.width()/2-i, tft.height()/2+i,
078
tft.width()/2+i, tft.height()/2+i, tft.Color565(0, 0, i));
079
}
080
}
081
082
void
testfilltriangles() {
083
tft.fillScreen(BLACK);
084
085
for
(uint16_t i=tft.width()/2; i>10; i-=5) {
086
tft.fillTriangle(tft.width()/2, tft.height()/2-i,
087
tft.width()/2-i, tft.height()/2+i,
088
tft.width()/2+i, tft.height()/2+i,
089
tft.Color565(0, i, i));
090
tft.drawTriangle(tft.width()/2, tft.height()/2-i,
091
tft.width()/2-i, tft.height()/2+i,
092
tft.width()/2+i, tft.height()/2+i, tft.Color565(i, i, 0));
093
}
094
}
095
void
testtext(uint16_t color) {
096
tft.fillScreen(BLACK);
097
tft.setCursor(0, 20);
098
tft.setTextColor(color);
099
tft.setTextSize(3);
100
tft.println(
"Hello aitendo!"
);
101
// tft.setTextSize(3);
102
//tft.println(1234.56);
103
//tft.setTextSize(3);
104
//tft.println(0xDEADBEEF, HEX);
105
}
106
107
void
testfillcircles(uint8_t radius, uint16_t color) {
108
for
(uint16_t x=radius; x < tft.width(); x+=radius*2) {
109
for
(uint16_t y=radius; y < tft.height(); y+=radius*2) {
110
tft.fillCircle(x, y, radius, color);
111
}
112
}
113
}
114
115
void
testdrawcircles(uint8_t radius, uint16_t color) {
116
for
(uint16_t x=0; x < tft.width()+radius; x+=radius*2) {
117
for
(uint16_t y=0; y < tft.height()+radius; y+=radius*2) {
118
tft.drawCircle(x, y, radius, color);
119
}
120
}
121
}
122
123
124
void
testfillrects(uint16_t color1, uint16_t color2) {
125
tft.fillScreen(BLACK);
126
for
(uint16_t x=tft.width()-1; x > 6; x-=6) {
127
//Serial.println(x, DEC);
128
tft.fillRect(tft.width()/2 -x/2, tft.height()/2 -x/2 , x, x, color1);
129
tft.drawRect(tft.width()/2 -x/2, tft.height()/2 -x/2 , x, x, color2);
130
}
131
}
132
133
void
testdrawrects(uint16_t color) {
134
tft.fillScreen(BLACK);
135
for
(uint16_t x=0; x < tft.width(); x+=6) {
136
tft.drawRect(tft.width()/2 -x/2, tft.height()/2 -x/2 , x, x, color);
137
}
138
}
139
140
void
testfastlines(uint16_t color1, uint16_t color2) {
141
tft.fillScreen(BLACK);
142
for
(uint16_t y=0; y < tft.height(); y+=5) {
143
tft.drawHorizontalLine(0, y, tft.width(), color1);
144
}
145
for
(uint16_t x=0; x < tft.width(); x+=5) {
146
tft.drawVerticalLine(x, 0, tft.height(), color2);
147
}
148
149
}
150
151
void
testlines(uint16_t color) {
152
tft.fillScreen(BLACK);
153
for
(uint16_t x=0; x < tft.width(); x+=6) {
154
tft.drawLine(0, 0, x, tft.height()-1, color);
155
}
156
for
(uint16_t y=0; y < tft.height(); y+=6) {
157
tft.drawLine(0, 0, tft.width()-1, y, color);
158
}
159
160
tft.fillScreen(BLACK);
161
for
(uint16_t x=0; x < tft.width(); x+=6) {
162
tft.drawLine(tft.width()-1, 0, x, tft.height()-1, color);
163
}
164
for
(uint16_t y=0; y < tft.height(); y+=6) {
165
tft.drawLine(tft.width()-1, 0, 0, y, color);
166
}
167
168
tft.fillScreen(BLACK);
169
for
(uint16_t x=0; x < tft.width(); x+=6) {
170
tft.drawLine(0, tft.height()-1, x, 0, color);
171
}
172
for
(uint16_t y=0; y < tft.height(); y+=6) {
173
tft.drawLine(0, tft.height()-1, tft.width()-1, y, color);
174
}
175
176
tft.fillScreen(BLACK);
177
for
(uint16_t x=0; x < tft.width(); x+=6) {
178
tft.drawLine(tft.width()-1, tft.height()-1, x, 0, color);
179
}
180
for
(uint16_t y=0; y < tft.height(); y+=6) {
181
tft.drawLine(tft.width()-1, tft.height()-1, 0, y, color);
182
}
183
}
184
185
186
void
testBars() {
187
uint16_t i,j;
188
for
(i=0; i < tft.height(); i++)
189
{
190
for
(j=0; j < tft.width(); j++)
191
{
192
if
(i>279) tft.writeData(WHITE);
193
else
if
(i>239) tft.writeData(BLUE);
194
else
if
(i>199) tft.writeData(GREEN);
195
else
if
(i>159) tft.writeData(CYAN);
196
else
if
(i>119) tft.writeData(RED);
197
else
if
(i>79) tft.writeData(MAGENTA);
198
else
if
(i>39) tft.writeData(YELLOW);
199
else
tft.writeData(BLACK);
200
}
201
}
202
}
Здравствуйте !Приобрел такой вот модуль экрана http://www.aliexpress.com/snapshot/6109553363.html но без кнопки ресет.Перепробовал разные библиотечки для экрана-но при заливке скетчей получается вот такое .Подскжите где искать проблему и как решить..
Вот только пришло это чудо, инфы мало, а полосы такие же!
Буду капаться! скорее всего програмный косяк!
Скачал по второй ссылке art100
прогу все работает без полс!
Скачал по второй ссылке art100
прогу все работает без полс!
ну и ладушки
В скейче по прорисовки изображений, удалось только поднять только красные линии по диагонали (tft.drawLine), изображение текста (tft.setTextSize), и РПГ (tft.writeData)
Все остальные функции по отрисовке и изображению фигур просто не работают или работают, а после переворачивают координаты, таким образом, что tft.drawLine- одна линия вдоль правой кромки экрана и все, а tft.writeData - вместо полос с верху вниз, развернуты и идут справа налева.
Интересно где можно посмотреть полный перечень операторов для отрисовки изображений, возможно в место планометрии осей (Х,У) в них может применяться и Z,X.Y.
Вобще и меня стоит задача написать элементарное сенсорное текстовое меню (на русском языке), но примера так ни где и ни нашел полного скейча, а http://misc.ws/2013/11/08/touch-screen-shield-for-arduino-uno/ не полный, я не смог запустить может у кого есть скейтч подобного меню?
А координаты я что зря на видео нарисовал 0 у штектра питания.
Перечитай пост 29.
Через 12 дней уже третий комплект экранчик+ енкодер+ драйвера+ ардунина256+ с надетым щитком за 44$ получать на почте буду. Если сможешь дешевле будет интересно увидеть. И никаких проблем с надежностью нажатий. Вложений менюшек даже не знаю весь набор на сколько пунктов. Думаю менюшек с 255 положениями не более 50.
Короче ардуинка20$+глючный тормоз тфт10$ и и и :( больше ничего не втыкается - ерунда без практического применения.
Я попытался в промежуток щиток с потенциометрами воткнуть индикатор уровней звуковых слепить.
Смотрю скорости на одно еле хватает, а на правый канал уже сосвем ерунда.
Я тоже брал чтоб 6 сенсорных кнопок сделать, но искать различия между двумя компиляторами из-за 10$?
Сомнительное удовольствие.
Но если на версии 1.0.5 1.5.6 заведете стучитесь.
Доброго времени суток.
Получил подобный дисплейчик, только без кнопки "ресет". У дисплея шлейф на 40pin, из регистра идентификации читается 0083h. Может кто знает что за "чудо зверь" мне попался.
Все описания что я накопал на подобные дисплеи имеют 37pin шлейфы, и идентификаторы у них более понятные.
Вечер добрый всем. И меня почта порадовала рассматриваемым девайсом. От такой братец - http://www.dx.com/ru/p/2-8-lcd-touch-shield-module-for-arduino-leaf-mapl... . Завёлся с пол тыка паяльником. Подключил к нане, там без паяльника - никак. Персонально art100 - особый респект. Исходники пошли без допиливаний, раскоментировал все тесты, все ок. А либка (которая TFTLCD) не порадовала, тормознутая - жуть, день правил работу с шиной, напрямую на порты перевел, еще по мелочам. Стало поживей раза в 3-4. Судя по спеке на контроллер, либа "левая" часть возможностей контроллера не знает. Ниче, понемногу может научу. Ща на повестке дня "русификация". Там проблем не видно. После этого, если кому интерестно, могу выложить.
Долгие мучения с этим экранчиком и вуаля поиски привели меня вот сюда http://www.smokeandwires.co.nz/blog/a-2-4-tft-touchscreen-shield-for-arduino/ ,здесь дана ссылка на либу которая сразу заработала вкупе с адафруитской GFX,вот ссылка на либу
https://github.com/Smoke-And-Wires/TFT-Shield-Example-Code
Вот скрин в тестовом режиме
И я графику поборол :
Красота.Вопрос а каквдоль экрана расположитьво всю длинну?
Это в смысле изменить "портретную" ориентацию на "альбомную" ?
А если в регистр 0х0003 записать значение 0ч1028 (или 0х1018) - не поможет?
Или речь не о том?
Народ, в посте 38 ссылки на библиотеки, выложите их в файлобменник (если возможно) или укажите другой источник, меня браузеры не пускают на сайт github :(
Так понял сейчас выложим
Вот выложил http://putit.ru/Mjc5MTgxNjM5NTg3OQ==
Спасибо.
Кстати, в этой библиотеке есть функция "вращения" - Adafruit_TFTLCD::setRotation(uint8_t x)
Я особопока не разбирался-слабоват в программировании.Я так понял с этим экраном совсем мало ног остается для использования?
Ну, на счет "слабоват в программировании" это судя по всему не проблема - скрин выложил, значит тест уже запустил ;)
А в выложенной по моей просьбе библиотеке есть пример "rotationtest", в нем уже всё сделано для презентации поворота экрана. Остается только собрать, запустить и посмотреть (на сколько я понимаю). Я чесно говоря проверить не могу, поскольку у меня нет нужного железа, только дисплей с тачскрином, библиотеки от которых и использую как основу софта для своего девайса.
Жаль непосредственно для моего дисплейчика st7783 нет модуля в этой библиотеке, но надеюсь отличия лишь в инициализации, остальные процедуры думаю универсальны...
Пытаюсь программить время от времени.Думал прикрутить DHT11 к этому экранчику и либу rcswitch но по ходу выводы прерываний заняты дисплеем
Блин обнаружил-что не ту либу выложил,сечас ту которая у меня робит кину