Arduno 2560 7`` экран LCD TFT
- Войдите на сайт для отправки комментариев
Сб, 06/02/2016 - 11:40
Добрый день!
Не могу разобраться.
Есть такой экран - http://roboparts.ru/products/tft-lcd-7-inch-module
Купил такой шилд - http://devicter.ru/goods/ITDB02-LCD-Mega-Shield-V2-0
Соединил. Экран не заработал.
Загрузил примеры отсюда - http://www.henningkarlsen.com/electronics/
Экран даже не светится. Не пойму в чем може быть дело.
Код компилируется, скетч заливается.
Вот код который заливаю
// UTFT_Demo_800x480
// Copyright (C)2015 Rinky-Dink Electronics, Henning Karlsen. All right reserved
//
// This program is a demo of how to use most of the functions
// of the library with a supported display modules.
//
// This demo was made for modules with a screen resolution
// of 800x480 pixels.
//
// This program requires the UTFT library.
//
#include <UTFT.h>
// Declare which fonts we will be using
extern uint8_t SmallFont[];
// Set the pins to the correct ones for your development shield
// ------------------------------------------------------------
// Arduino Uno / 2009:
// -------------------
// Standard Arduino Uno/2009 shield : <display model>,A5,A4,A3,A2
// DisplayModule Arduino Uno TFT shield : <display model>,A5,A4,A3,A2
//
// Arduino Mega:
// -------------------
// Standard Arduino Mega/Due shield : <display model>,38,39,40,41
// CTE TFT LCD/SD Shield for Arduino Mega : <display model>,38,39,40,41
//
// Remember to change the model parameter to suit your display module!
UTFT myGLCD(CTE70,38,39,40,41);
void setup()
{
randomSeed(analogRead(0));
// Setup the LCD
myGLCD.InitLCD();
myGLCD.setFont(SmallFont);
}
void loop()
{
int buf[798];
int x, x2;
int y, y2;
int r;
// Clear the screen and draw the frame
myGLCD.clrScr();
myGLCD.setColor(255, 0, 0);
myGLCD.fillRect(0, 0, 799, 13);
myGLCD.setColor(64, 64, 64);
myGLCD.fillRect(0, 466, 799, 479);
myGLCD.setColor(255, 255, 255);
myGLCD.setBackColor(255, 0, 0);
myGLCD.print("* Universal Color TFT Display Library *", CENTER, 1);
myGLCD.setBackColor(64, 64, 64);
myGLCD.setColor(255,255,0);
myGLCD.print("<http://www.RinkyDinkElectronics.com/>", CENTER, 467);
myGLCD.setColor(0, 0, 255);
myGLCD.drawRect(0, 14, 799, 465);
// Draw crosshairs
myGLCD.setColor(0, 0, 255);
myGLCD.setBackColor(0, 0, 0);
myGLCD.drawLine(399, 15, 399, 464);
myGLCD.drawLine(1, 239, 798, 239);
for (int i=9; i<790; i+=10)
myGLCD.drawLine(i, 237, i, 242);
for (int i=19; i<470; i+=10)
myGLCD.drawLine(397, i, 402, i);
// Draw sin-, cos- and tan-lines
myGLCD.setColor(0,255,255);
myGLCD.print("Sin", 5, 15);
for (int i=1; i<798; i++)
{
myGLCD.drawPixel(i,239+(sin(((i*1.13)*3.14)/180)*200));
}
myGLCD.setColor(255,0,0);
myGLCD.print("Cos", 5, 27);
for (int i=1; i<798; i++)
{
myGLCD.drawPixel(i,239+(cos(((i*1.13)*3.14)/180)*200));
}
myGLCD.setColor(255,255,0);
myGLCD.print("Tan", 5, 39);
for (int i=1; i<798; i++)
{
myGLCD.drawPixel(i,239+(tan(((i*0.9)*3.14)/180)));
}
delay(2000);
myGLCD.setColor(0,0,0);
myGLCD.fillRect(1,15,798,464);
myGLCD.setColor(0, 0, 255);
myGLCD.setBackColor(0, 0, 0);
myGLCD.drawLine(399, 15, 399, 464);
myGLCD.drawLine(1, 239, 798, 239);
}
проверьте на пине LEDA дисплея должна быть лог.1 . у меня с белым шилдом переходником с год работает непрерывно, правда сделал для диспея отдельные мощные 5в, иначе если питать от юсб, то на меге срабатывает самовосстанавливающийся предохранитель и подсветке нехватает питания, а если питать от 12в то идёт перегрев стабилизатора 5в на меге. Проверьте чтоб в файле memorysaver.h был закоментирован //#define DISABLE_SSD1963_800_ALT 1 // TFT01_70 / CTE70 / EHOUSE70 , остальное можно раскоментировать, чтоб небыло лишних инициализаций в коде.
иначе проблема аппаратная, начните с проверки напряжений питания, подсветки на шилде экрана.
Спаибо, экран заработал. НО немного не таким способом.
Я на плате экрана увидел перемычку распаяную - always on(на снимке я синим выделил). Я её замкнул и экран заработал
Насколько я понимаю, это включение разъёма led-a всегда.
Как сделать что бы работало без этой запаяной перемычки?
Спасибо.
таки не замерили что на LED_A. что тогда хотите услышать в ответ?
- если 0, то на шилде ошибка. согласно подобной схеме http://elecfreaks.com/estore/download/EF02034-TFT_MEGA_V2.0.pdf LED_A должен был на нем уже запаян на 3,3в
- если 1 (3,3-5в) , то значит на экране не доходит да замкнутой перемычки led_a, или её вообще забыли поставить. Тогда можно её поставить или на always on , без разницы, всё равно будет светить постоянно при подаче питания на Мегу. Если захотите управлять яркостью, надо ставить перемычку на только на pwm, здесь и в инете уже обсуждалось как именно. Если просто включать/выключать , то можно (на всяк случай через резистор 1..10кОм) led_a перекоммутировать на любой свободный пин меги и им включать.
Да в ответ-то, как бы ничего особо и не хотел услышать ))) , обрадовался, что вообще работает и увлёкся всякими экспериментами, сегодня обязательно проверю LED-A.
Спасибо, вы очень помогли.
На экране не доходит да замкнутой перемычки led_a, тут вы бли правы.
Оставил сейчас пока замкнутой перемычку.
Скажите, а вы тачскрин используете?
У меня почему-то не работает тач.
Взял из примера код калибровки, что-то не реагирует на тач. Код компилируется, но тача нет.
Что может быть не так?
Вот код
а где вы видели на нём тач? и куда интересно вы жали, надеясь что что-то произойдёт :)
на фото спереди нет тача. на фото сзади к разъему тача (4пин плоский) ничего не подключено. Купите в близлежайшем магазине запчастей для сотовых , цена ему 50-100руб . называться может "сенсорный экран универсальный 7,0" " , выберете только чтоб шлейф был как вам нужно. и на тонкие узкие полоски двухстороннеко скотча приклейте, купить их можете там же.
Жал на экран )) Я думал, что тут тач в в самом экране ))
Купить надо вот что-то типа такого да?
http://first-fix.ru/index.php?route=product/product&path=124_86_117&product_id=231
И когда я его подключу, будет мне щастье?
И еще, я правильно понимаю, что тач в данном случаеп - это разъём для тач экрана, который будет работать в связке с этим понирором, я правильно понимаю?
Спасибо!
А где вы купили такой экран? Обошёл несколько магазинов, нету ((
https://www.la-bora.ru/ (сейчас чек накладную глянул , покупал у них в прошлом году тачскрины 3.0" по 29руб , 4.0" и 7.0" по 39руб . Забирал в местном магазине, т.е. доставка 0руб.)
вот еще где иногда что беру по смешным ценам http://www.gsm-service.info/ http://siriust.ru/
или поспрашайте у знакомых, всяко без дела старые ненужные планшетники валяются с резистивными тачскринами.
Спасибо больше, за ответы, я купил так экан. Ездил на Юнону.
Теперь у меня проблема с калибровкой.
Создала даже отельную тему под калибровку. Ибо вроде всё далаю правильно а на выходе получается ерунда какая-то.
За экран, ОГРОМНОЕ спасибо.
пожалуйста.
если на выходе ерунда, то прозвоните мультиметром вывода тача. должно быть чтото вроде для 7.0" по X 950 Ом , по Y 270-300 Ом . распиновка примерно y1 x1 y2 x2 . Между собой X и Y , должны иметь сопротивление только при нажатии на тач, причем сопротивление должно отличаться при разном нажатии от края до края.
Это не емкостной тач , как уже привыкли к еле прикасаемым емкостным тачам, здесь надо нажимать стилусом или ногтем. Заново распакуйте библиотеку с UTouch (чтоб были изначально стандартные настройки, UTouch_QuickDraw уже должен работать хоть и повернуто). Замените в скетче калибровки UTouch_Calibration #define TOUCH_ORIENTATION PORTRAIT на #define TOUCH_ORIENTATION LANDSCAPE и только потом заливаете скетч калибровки и калибруете стилусом. Дальше в файле UTouchCD.h стираете старые значения и пишете новые, те что вам выдал скетч калибровки. Дальше зальете тест рисовалку, и проверите точность UTouch_QuickDraw UTouch_QuickPaint (в этих скетчах уже не надо нигде писать Potrtrait и Lanscape , они нужны были только в скетче калибровки, для выдачи правильной калибровки.)
чтоб не плодить ветки , раз здесь про дисплей 7" , черкну сюда про отключение подсветки дисплея ( LED_A ) и разгрузку 5в стаба на плате Меги
на плате шилда-переходнике около стаба 3.3в убрать перемычку , и нижний её контакт пустить на свободный пин, к примеру цифровой пин 44. http://elecfreaks.com/store/download/datasheet/shield/TFT_MEGA_V2.0.pdf - подали лог1 - включили , лог.0 - выключили. Желательно последовательно добавить резистор 5-10ком. ( ибо почемуто по PDF http://elecfreaks.com/store/download/datasheet/lcd/TFT/7_Material.zip схемотехнике платы дисплея , LED_A идёт напрямую к преобразователю TPS61040 для подсветки , а он по PDF питается от 3.3в )
7" экран много хавает подсветкой, около 0,5 А , поэтому поставил dc-dc и запитал его от Vin , ножку 5в от ардуины надо убрать. На случай заливки скетча и проверки и питания от мощного USB 3.0 - поставил вверху диод шоттки , чтоб подсветка дисп. могла запитаться в отсутствии Vin. И для этого ещё надо усилить самаовосстанавливающийся предохранитель по USB на плате Меги, ибо он не выдержиавает питание подсветки от USB. кабель USB толстый для ардуин.
// подсветка светится круглосуточно уже 2 года, яркость вроде непотеряна :) . Отключением подсветки озадачился чтоб при частом пропадании сети 220в , хватало резервного АКБ надолго для рисования лога (при подсаживании до 50% - ардуина подсветку отключает)
Про управление яркостью подсветки https://habrahabr.ru/post/234601/