TFT 3,5" и Ардуино

kometa111
Offline
Зарегистрирован: 02.05.2014

slider пишет:

по TFT LCD shield 3.5" arduino mega ili9488 480x320. красный меговский шилд, дисплей FPC-A35242N01QI-A .

Ещё вопрос - версия IDE влияет на результат ? (должна?)

У меня "ID_display_read_to_serial_monitor_universal_v2.ino" в IDE 1.6.6 вылетет при проверке/заливе - ld.exe обнаружена ошибка. В IDE 1.5.6 - заливается без ошибок.

slider
Offline
Зарегистрирован: 17.06.2014

kometa111 пишет:

slider пишет:

по TFT LCD shield 3.5" arduino mega ili9488 480x320красный меговский шилд, дисплей FPC-A35242N01QI-A .

мега+красный шилд 3,5", читалка ID выдает в сериал монитор :

start...
.....
register EFh for ILI9327(0 02 04 93 27 FF),
register 0 EF
1 Parameter 0 EF
2 Parameter 0 EF
3 Parameter 0 EF
4 Parameter 0 EF
5 Parameter 0 EF
6 Parameter 0 EF

register BFh for ILI9481(0 0 94 81 xx xx)
register 0 BF
1 Parameter 0 BF
2 Parameter 0 BF
3 Parameter 0 BF
4 Parameter 0 BF
5 Parameter 0 BF
6 Parameter 0 BF

.......
Что делать: отрывать дисплей - отпаивать 1 и вторую и замыкать между собой?

(днём постараюсь сказать спасибо)

всё верно. когда она пишет, то что и отправляла, значит RD дисплея не выведен. на этом шилде это так. Если шилд, тотже что и на фото, и модель дисплея  на шлейфе FPC-A35242N01QI-A  .  RD и не нужен для вывода графики на дисплей.

Да достаточно 2й пин дисплея перекинуть с3го пина (+3,3в) на 1й пин (GND).  Т.е. поднимать, отпаивать нужно только 2й пин. Ну или 1й и 2й, только 1й желательно припаять на место. 2й соединить с 1м. Перед включением убедитесь, прозвоните мультиметром, что 2й пин отвязался от 3го пина (+3,3в).

тож вернулся на IDE 1.5.х   .   1.6.x чтото косячит, а на каком компе и не запускается вовсе .

kometa111
Offline
Зарегистрирован: 02.05.2014

slider пишет:

по TFT LCD shield 3.5" arduino mega ili9488 480x320красный меговский шилд, дисплей FPC-A35242N01QI-A .

Ура! Заработало!

спасибо

Первую и вторую поднял,под вторую подложил бумажку, припаял 1 и 2 к общему (там где была 1-я). Прозвонил. Влючил скетч для проверки ID - опять не работает. Прозвонил - не работает. Залил тестовый пример UTFT\examples\Arduino (AVR)\UTFT_Demo_480x320 - УРА!!! Ещё не ура - поменять слева-направо - в файле initlcd.h в 36h регистр записать "LCD_Write_DATA(0b10001000); // было 0x48 0b01001000 , чтобы перевернуть надо 0x88 0b10001000". Теперь Ура. Только ещё осталась каша в голове - в скетче указан тип CTE32HR - это 21 (и ili9481). И initlcd.h я правил для ili9481. А по вашему описанию ili9488=28, и на самом дисплее написано ili9488.

Значит для определения ID (какой же у меня дисплей) нужно припаять контакт RD - 10кОм - 42 пин Ардуино - 10кОм на +5Вольт.

+5Вольт - это 20и21 на Меге?

 

pshonia
Offline
Зарегистрирован: 29.03.2015

Вы правильно сказали макросы.  на выполнение уходит куча времени. 

тест проходит с радной прог-мой примерно  44с

а если писать сразу PORTA ..     DDRA..  наченает 

на тесте летать  примерно   на 8с  быстрее

 

pshonia
Offline
Зарегистрирован: 29.03.2015

Yarik.Yar пишет:

 

А вы уверены, что sbi и cbi не прописаны как макросы? Если не ошибаюсь, в avr-libc они декларированы в файле compat/deprecated.h, соответственно,

#define sbi(reg, pin) reg |= (1<<pin)
#define cbi(reg, pin) reg &= ~(1<<pin)

 

Вы правильно сказали макросы.  на выполнение уходит куча времени. 

тест проходит с радной прог-мой примерно  44с

а если писать сразу PORTA ..     DDRA..  наченает 

на тесте летать  примерно   на 8с  быстрее

kometa111
Offline
Зарегистрирован: 02.05.2014

slider пишет:

по TFT LCD shield 3.5" arduino mega ili9488 480x320красный меговский шилд, дисплей FPC-A35242N01QI-A .

А 42 пин ардуины через RP3 приходит на 35 контакт шлейфа дисплея. А куда же заводить отрезанный RD ?

slider
Offline
Зарегистрирован: 17.06.2014

kometa111 пишет:

slider пишет:

по TFT LCD shield 3.5" arduino mega ili9488 480x320красный меговский шилд, дисплей FPC-A35242N01QI-A .

Ура! Заработало!

спасибо

Первую и вторую поднял,под вторую подложил бумажку, припаял 1 и 2 к общему (там где была 1-я). Прозвонил. Влючил скетч для проверки ID - опять не работает.

Да ёжкин кот, сколько можно ? и как еще написать? ЧТОБЫ СЧИТАЛОСЬ ID НАДО ВЫВЕСТИ RD на этом шилде !!! естественно скетч для проверки ID не считает без RD. в соседней ветке разжевал и на фото даже показал.  42й пин идет на второй резистор PR3 , и через него никуда. Вот и если хотите считать ID, надо переключить 32й пин дисплея от +3,3в на него.

Дополнительно приложил фото с коммутацией  PR3 в соседнюю ветку, чтоб не захламлять эту.

kometa111 пишет:
 

Прозвонил - не работает. Залил тестовый пример UTFT\examples\Arduino (AVR)\UTFT_Demo_480x320 - УРА!!! Ещё не ура - поменять слева-направо - в файле initlcd.h в 36h регистр записать "LCD_Write_DATA(0b10001000); // было 0x48 0b01001000 , чтобы перевернуть надо 0x88 0b10001000". Теперь Ура. Только ещё осталась каша в голове - в скетче указан тип CTE32HR - это 21 (и ili9481). И initlcd.h я правил для ili9481. А по вашему описанию ili9488=28, и на самом дисплее написано ili9488.

Где вы нашли  CTE32HR ? Я везде там в примерах заменил на 28 или ili9486 - это нужно чтоб использовалась преобразованная библиотека ili9488 под UTFT  ,  которую и закинул в папку ili9486. Поэтому в скетчах надо использовать UTFT myGLCD(ILI9486,38,39,40,41);  , потому что он лежит в её папке. Так проще, чем во многих местах всё одноименно править.

 Может вы предыдущие библиотеки utft и utouch из C:\Users\...\Documents\Arduino\libraries  не стерли? вот  и каша.

kometa111 пишет:

А 42 пин ардуины через RP3 приходит на 35 контакт шлейфа дисплея. А куда же заводить отрезанный RD ?

 

42й пин не может приходить на 35й контакт шлейфа, на него приходит 40й пин. 

 

diger67
Offline
Зарегистрирован: 25.07.2015

slider, , большенству лень лезь в кишки железу или почитать pdf. Иногда проще по любому поводу кричать, караул, и тудже найдется добрый самолитянен. Опятьже тот кто решает проблемы такого рода не лишен тщеславия, это в хорошем смысле слова. На то и расчет страждущих....... Но помогать друг другу надо, это двигатель развития. Спасибо тебе за терпение.

Самоделкин
Offline
Зарегистрирован: 04.12.2015

diger67 пишет:

slider, , большенству лень лезь в кишки железу или почитать pdf. Иногда проще по любому поводу кричать, караул, и тудже найдется добрый самолитянен. Опятьже тот кто решает проблемы такого рода не лишен тщеславия, это в хорошем смысле слова. На то и расчет страждущих....... Но помогать друг другу надо, это двигатель развития. Спасибо тебе за терпение.

Уважаемый Slider. Чтобы лезть в тех.документацию, надо иметь соответствующий уровень знаний и навыков. Я не имею, да и времени нет. Хотелось бы просто управлять на уровне программы, хотя бы так пока. А вам господа великая благодарность за ваш безвозмездный героический труд.

И вот мой вопрос. С вашей помощью я запустил свой 3.95". Картинка замечательная, но вот "тач" не работает. Может подскажете где копать?

Araris
Offline
Зарегистрирован: 09.11.2012

Самоделкин пишет:

Картинка замечательная, но вот "тач" не работает. Может подскажете где копать?

Сформулируйте лучше как "я подключаю библиотеку такую-то, прописываю тач так-то, пытаюсь читать так-то, происходит/не происходит то-то".

У меня, например, проблема чтения тача решилась двумя строками на выходе из функции чтения тача:
pinMode(TS_XM, OUTPUT);
pinMode(TS_YP, OUTPUT);
slider
Offline
Зарегистрирован: 17.06.2014

Самоделкин пишет:

...... И вот мой вопрос. С вашей помощью я запустил свой 3.95". Картинка замечательная, но вот "тач" не работает. Может подскажете где копать?

фотки скиньте, или ссылку сообщение/пост кто уже точ в точ выложил. и какая либа подошла?

Для UTFT графики нужен тач с его микросхемой на шилде, чтоб Utouch заработал. Иначе потратить время , чтоб притянуть адафруитскую либу тача. 

Для адафруит графики и так всё работает, она заточена на тач подключенного напрямую. ( Возможно тип ардуинки надо выбрать в скече.) + народ тут поделился как что где добавляли.

Прочтите несколько последних страниц, все советы там даны, и по железу как прозвонить.

 

Самоделкин
Offline
Зарегистрирован: 04.12.2015

Извините за невежество, но вот вопрос в модуле UTouch.cpp есть процедура (видимо внутренняя, не прописана) pinMode(). Так понимаю что записывает кудато константы переданные при инициализации. Константы известны, в примере с кнопками UTouch  myTouch( 6, 5, 4, 3, 2);, но вот ваш пример не понял TS_XM и TS_YP, это переменные откуда? Жаль, что нет отладчика, сложно понять без него, что он получает и как на это реагирует.

Araris
Offline
Зарегистрирован: 09.11.2012

Самоделкин пишет:

Извините за невежество, но вот вопрос в модуле UTouch.cpp есть процедура (видимо внутренняя, не прописана) pinMode(). Так понимаю что записывает кудато константы переданные при инициализации. Константы известны, в примере с кнопками UTouch  myTouch( 6, 5, 4, 3, 2);, но вот ваш пример не понял TS_XM и TS_YP, это переменные откуда? Жаль, что нет отладчика, сложно понять без него, что он получает и как на это реагирует.

Я с тачем работаю через библиотеку #include <TouchScreen.h>  

"Переменные" - это номера пинов
#define TS_YP             A1 // TouchScreen
#define TS_XM             A2 // TouchScreen 
#define TS_XP              6 // TouchScreen
#define TS_YM              7 // TouchScreen 
Инициализация тача выглядит так
TouchScreen ts = TouchScreen(TS_XP, TS_YP, TS_XM, TS_YM, 300); 

 

diger67
Offline
Зарегистрирован: 25.07.2015

Еще раз повторим.

1. Какой у вас шилд (подключение тача на прямую к ардуино или через xpt2046)

2. какую библиотеку подключаете (для прямого подключения ​ TouchScreen, если через контроллер UTouch)

3. Проверить работу тача можно без дебагера,  для этих целей используют монитор последовательного порта.

Для TouchScreen вот так к примеру

 


if (p.z > MINPRESSURE && p.z < MAXPRESSURE)
  {
     //pressure
     Serial.print("X = "); Serial.print(p.x);
     Serial.print("\tY = "); Serial.print(p.y);
     Serial.print("\tPressure = "); Serial.println(p.z);
  }

 

Самоделкин
Offline
Зарегистрирован: 04.12.2015

Братья электронщики! Чудо! Всё работает. Начинаю серьёзно грызть гранит знаний АРДУИНО. Спасибо вам всем. Як кажуть у нас - Великий вам дякуй.

switch
Offline
Зарегистрирован: 07.12.2015

товарищи, помогите, пожалуйста, идентифицировать дисплей. Перепробовал полсотни вариантов - показывает белый  экран. Покупал пару лет назад, два комплекта. Один UNO+LCD, второй MEGA+LCD. Первый завелся, второй - не получилось. Удалось найти у китайцев лот с таким экраном http://ru.aliexpress.com/item/Free-shipping-LCD-module-TFT-3-5-inch-TFT-LCD-screen-for-Arduino-MEGA-2560-R3/1874970050.html, но не подходит то что там написано... Может кто-то сталкивался..

Просто на UNO в память проект не влазиет ;)

Yarik.Yar
Offline
Зарегистрирован: 07.09.2014

Хм...попробуйте завести его как ILI9327...

slider
Offline
Зарегистрирован: 17.06.2014

switch пишет:

товарищи, помогите, пожалуйста, идентифицировать дисплей. Перепробовал полсотни вариантов - показывает белый  экран. ......

Да был он здесь 1в1 судя по фото. удосужьтесь прочтите эту ветку форума.

// По микросхеме тача - подойдёт библиотека UTouch что с UTFT . По количеству резисторов (если они только с задней стороны платы) - это 8ми битный дисплей (и скорее всего ili9327),

1?.  RD врятли выведен, но всё равно проверте куда идёт 42й пин ардуины?

2?. фото платы полностью под экраном (чтоб и дорожки в шлейфе хорошо было видно)

3?.  можете всё равно запустить последнюю читалку ID. и вставить сюда кодом (что выдал монитор посл. порта), только поставить галку Свернуть Сворачитьвать код по умолчанию  .

4?. скачать девственную последнюю UTFT,  в файле UTFT.cpp    byte dtm[] =  выставить все восьмерки  {8,8.......,8}; . и перебирать все инициализации с  числами от1 до 31 , и выбрать ту что заведёт красиво дисплей.  (в файле memorysaver.h д.б. закоментированы все #define DISABLE_  и в скетче примера \UTFT\examples\Arduino (AVR)\UTFT_Demo_400x240    , в 

void setup()  {   указать на всяк случай   -  pinMode(42,OUTPUT); digitalWrite(42,HIGH); 

5?. проверте последнюю адафруитскую библиотеку, переберите принудительно все  виды её контроллеров. как здесь http://arduino.ru/forum/apparatnye-voprosy/24-tft-lcd-shield-chip-35702-vklyuchenie#comment-151574  возможно ещё распиновку надо Меговскую указать.

switch
Offline
Зарегистрирован: 07.12.2015

Спасибо, попробую!

Тему прочитал, но там где заводили - не  помогло. вот тут http://arduino.ru/forum/apparatnye-voprosy/tft-35-i-arduino?page=8. Там Плата такая же, дисплей похож, но у дисплея моего последняя цифра 7, а там - 1.

switch
Offline
Зарегистрирован: 07.12.2015

в  общем вот так вот

UTFT myGLCD(28,38,39,40,41);

показало серым пол-экрана. И еще каких-то пару примитивов в углу. Ну хотя бы экран рабочий ;)

Попробовал перенести это в другой скетч, без модификации  dtm[] - не вышло ничо.

Что еще можно придумать?

Проверил, кстати, пайку шлейфа - вроде  все держится хорошо.

Фотка шлейфа. С обратной стороны показать не могу - мешает шлейф тачскрина.

diger67
Offline
Зарегистрирован: 25.07.2015

что написано на тыльной стороне модуля tft? По этому идентификатору можно найи какой контроллер установлен. И еще попробуйте в поиске набрать надпись со шлейфа.

switch
Offline
Зарегистрирован: 07.12.2015

Да, я нашел тут товарища с таким же экраном, но не нашел его решения в теме...

switch
Offline
Зарегистрирован: 07.12.2015

Товарищи, еще вопрос: я уже говорил что на UNO завел экранчик, но наблюдаю на нем странное мерцание, которое очень сильно ухудшает цветопередачу и углы обзора. Однако когда скетч загружается в мегу - мерцания нет, картинка четкая. Что может быть? По каким словам гуглить?

Next
Offline
Зарегистрирован: 01.09.2015

switch пишет:

Товарищи, еще вопрос: я уже говорил что на UNO завел экранчик, но наблюдаю на нем странное мерцание, которое очень сильно ухудшает цветопередачу и углы обзора. Однако когда скетч загружается в мегу - мерцания нет, картинка четкая. Что может быть? По каким словам гуглить?

Мне кажется питание может быть. У меня тоже экран мерцал, когда потребителей было много и питание проседало сильно. Попробуйте запитать от другого источника.

slider
Offline
Зарегистрирован: 17.06.2014

switch пишет:

....

Что еще можно придумать?

.....

Ответить надо было на все вопросы. вам проще, т.к. всё для этого есть! замерте ещё напряжение на стабилизаторе 3,3в , что на шилде стоит.

и ктож так экраны отрыват, что скотч на шилде остался? греть надо было снизу, иначе экран можно было повредить.

Могу лишь предположить:

на 7й странице ваш шилд (судя по вашей фотке и дорожкам на ней)

там же и зеленый , по этим картинкам  RD это 12й пин шлейфа идёт на ваш PR6 (можете прозвонить чтобы проверить)

FPC-XT035-059-A это 42пин 8ми битный ILI9327  400х240 3.5"

запускаете мою читалку ID  https://yadi.sk/d/I7C36vqtkpb86 чтобы убедиться в модели контроллера и работе порта. пишите что выдал монитор порта. Если не возвращать как было, то в скетчах  надо будет писать потом void setup()  {      -  pinMode(42,OUTPUT); digitalWrite(42,HIGH); ,  либо сделать подобно как здесь http://arduino.ru/forum/apparatnye-voprosy/35-tft-lcd-krasnyi-megovskii-mega-2560-r3-resheno-kak-reshit-drugie#comment-151350 , т.е.:  RDпин дисплея  -[резистор]-  пин42  -[резистор]-  +5в либо +3в 

switch пишет:

Товарищи, еще вопрос: я уже говорил что на UNO завел экранчик, но наблюдаю на нем странное мерцание, которое очень сильно ухудшает цветопередачу и углы обзора. Однако когда скетч загружается в мегу - мерцания нет, картинка четкая. Что может быть? По каким словам гуглить?

Соображать. шилд для уно, вставляешь в мегу, м.б. библиотека или инициализация (разобраться как она перебрасыват пины для разных платформ, или кто здесь уже заточил правильно), или питание(проверить все напряжения), или ардуина(заменить ардуину) . Если одина и таже библиотека и инициализация то либо питание на ардуине, либо вывода, либо библиотека. Слишком много неизвестных, какой шилд? какую библиотеку используете? на другой Уно проверяли?

switch
Offline
Зарегистрирован: 07.12.2015

Спасибо! Попробую!

switch
Offline
Зарегистрирован: 07.12.2015

Next пишет:

Мне кажется питание может быть. У меня тоже экран мерцал, когда потребителей было много и питание проседало сильно. Попробуйте запитать от другого источника.

Попробовал питать от USB блока питания маленького, от телефона, он пару  ампер дает. Эффект тот же. А мерцает под светом люминисцентной лампы.

Next
Offline
Зарегистрирован: 01.09.2015

switch пишет:
Попробовал питать от USB блока питания маленького, от телефона, он пару  ампер дает. Эффект тот же. А мерцает под светом люминисцентной лампы.

Вы УНО запитали от другого БП? Я не это имел ввиду, Сама УНО может не выдать нужного тока. Я питал и экран и УНО от другого стабилизированного источника 5 вольт подавая его на выход +5 УНЫ.

switch
Offline
Зарегистрирован: 07.12.2015

Похоже дело не в БП, а в тачскрине. 

Я в качестве основы использовал пример-рисовалку. Если убрать все что в Loop, то никакого мерцания нет. Напомню, дисплей для Uno, похоже последовательное подключение...

Пробовал перейти на utouch - не понял как. Похоже не поддерживается. Как я понял и тач и экран подключается по SPI или чему-то похожему, 13-й пин выбирает либо тач либо экран. Так?

void loop(void) {
  digitalWrite(13, HIGH);
  // Считываем координаты нажатия
  TSPoint p = ts.getPoint();
  /digitalWrite(13, LOW);

  pinMode(XM, OUTPUT);
  pinMode(YP, OUTPUT);
 
  // Если сила нажатия попадает в допустимый диапазон
  // то начинаем обработку
  if (p.z > MINPRESSURE && p.z < MAXPRESSURE) {
 //    Serial.print("\absX = "); Serial.print(p.x);
 //    Serial.print("\tabsY = "); Serial.print(p.y);
  //   Serial.print("\tPressure = "); Serial.println(p.z);
  // Переводим координаты в размеры разрешения дисплея
  //    Serial.print("x = "); Serial.print(p.x);
  //   Serial.print("\ty = "); Serial.println(p.y);
  p.x = map(p.x, TS_MINX, TS_MAXX, 399, 0);
  p.y = map(p.y, TS_MINY, TS_MAXY, 239, 0);
  
  //   Serial.print("X = "); Serial.print(p.x);
  //   Serial.print("\tY = "); Serial.println(p.y);
     
    // Если попали в зону кнопок выбора цвета, то выбираем цвет
  if (p.x > 399-BOXSIZE) {
     oldcolor = currentcolor;
     if (p.y < BOXSIZE) { 
       myGLCD.setColor(VGA_BLACK); 
       myGLCD.fillRect(0,0,398-BOXSIZE,239); 
       myGLCD.setColor(currentcolor);
     } 
     else if (p.y < BOXSIZE*2) {
       currentcolor = VGA_BLUE; 
       Serial.println("VGA_BLUE!");
     }
     else if (p.y < BOXSIZE*3) {
       currentcolor = VGA_FUCHSIA; 
       Serial.println("VGA_FUCHSIA!");
     }
     else if (p.y < BOXSIZE*4) {
       currentcolor = VGA_LIME; 
       Serial.println("VGA_LIME!");
     }
     else if (p.y < BOXSIZE*5) {
       currentcolor = VGA_YELLOW; 
       Serial.println("VGA_YELLOW!");
     }
     else if (p.y < BOXSIZE*6) {
       currentcolor = VGA_RED; 
       Serial.println("VGA_RED!");
     }
    }  
    
    if (oldcolor != currentcolor){ 
      myGLCD.setColor(currentcolor); 
    }
    
    // Если попали в зону рисования, то рисуем круг с заранее заданным радусом
    if ((p.x+PENRADIUS) < 399-BOXSIZE) {
    //myGLCD.drawPixel(p.x, p.y);
    myGLCD.fillCircle(p.x, p.y, PENRADIUS);
    }
  }
}
  

 

alexmanson
Offline
Зарегистрирован: 12.12.2015

Алексей (AlexeiBrizgalov), добрый день, если вы еще не выкинули дисплей, или сами не дошли до победного конца, так вот натолкну на мысль: перед отправкой данных одного пикселя необходимо передать команду 0x3C (Memory Write Continue), я неделю назад получил такой же дисплей, от того же продавца. При последовательной записи 2-х байт BGR (друг за другом) что-то некорректно отрабатывается и рисует область не того цвета с полосами. А если передать COM 0x2C - COM 0x3C -  DATA 0xF8 - DATA 0x00 то рисует красный пиксель. Там действительно стоит ILI9488 прочитать ID можно по адресу 0xD4 третий и четвертый байт содержат ID.

напомню, сам дисплей 

http://www.ebay.com/itm/141647130960?_trksid=p2060353.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT

Если кому-то будет полезно, то вот основная часть кода заливки дисплея двумя цветами, для теста так сказать. В мэйне, после инициализации контроллера и настройки портов запустить две функции LCD_start(); и LCD_draw_test(); Тестировал на отладочной плате AT91SAM7X-EK, для желающих могу выложить проект под ИАР_АРМ_5.4, но там много лишнего.

//------------------------------------------------------------------------------
// дефайны для работы с портами AT91SAM7X
#define PA  AT91C_BASE_PIOA
#define PB  AT91C_BASE_PIOB
#define Set_pin(x,y)    x->PIO_SODR=(1<<y)
#define Clr_pin(x,y)    x->PIO_CODR=(1<<y)

// макросы и функции для организации задержек
void __delay_cycles(unsigned int k) {while(k--) {asm("NOP");}}
#define _delay_1    asm("NOP")
#define _delay_2    asm("NOP"); asm("NOP")

// макросы для клацанья ногами LCD дисплея
#define LCD_RST_L         Clr_pin(PB,8)
#define LCD_RST_H         Set_pin(PB,8)
#define LCD_CS_L          Clr_pin(PB,9)
#define LCD_CS_H          Set_pin(PB,9)
#define LCD_CD_L          Clr_pin(PB,10)
#define LCD_CD_H          Set_pin(PB,10)
#define LCD_WR_L          Clr_pin(PB,11)
#define LCD_WR_H          Set_pin(PB,11)
#define LCD_RD_L          Clr_pin(PB,12)
#define LCD_RD_H          Set_pin(PB,12)
// строб записи
#define LCD_WR_S          LCD_WR_L; LCD_WR_H // строб записи

// дефайн установки начальных и конечных адресов пикселей "окна"
#define LCD_Write_ADR(_cs,_ce,_ps,_pe)  LCD_Write_COM(0x2A); \
                                        LCD_Write_DATA(_cs>>8); \
                                        LCD_Write_DATA(_cs); \
                                        LCD_Write_DATA(_ce>>8); \
                                        LCD_Write_DATA(_ce); \
                                        LCD_Write_COM(0x2B); \
                                        LCD_Write_DATA(_ps>>8); \
                                        LCD_Write_DATA(_ps); \
                                        LCD_Write_DATA(_pe>>8); \
                                        LCD_Write_DATA(_pe)
										
// дефайны внутренних регистров ILI9488
#define ILI9488_SOFTRESET           0x01
#define ILI9488_SLEEPIN             0x10
#define ILI9488_SLEEPOUT            0x11
#define ILI9488_NORMALDISP          0x13
#define ILI9488_INVERTOFF           0x20
#define ILI9488_INVERTON            0x21
#define ILI9488_GAMMASET            0x26
#define ILI9488_DISPLAYOFF          0x28
#define ILI9488_DISPLAYON           0x29
#define ILI9488_COLADDRSET          0x2A
#define ILI9488_PAGEADDRSET         0x2B
#define ILI9488_MEMORYWRITE         0x2C
#define ILI9488_PIXELFORMAT         0x3A
#define ILI9488_FRAMECONTROL        0xB1
#define ILI9488_DISPLAYFUNC         0xB6
#define ILI9488_ENTRYMODE           0xB7
#define ILI9488_POWERCONTROL1       0xC0
#define ILI9488_POWERCONTROL2       0xC1
#define ILI9488_VCOMCONTROL1        0xC5
#define ILI9488_VCOMCONTROL2        0xC7
#define ILI9488_MEMCONTROL          0x36
#define ILI9488_MADCTL              0x36
#define ILI9488_MADCTL_MY         0x80
#define ILI9488_MADCTL_MX         0x40
#define ILI9488_MADCTL_MV         0x20
#define ILI9488_MADCTL_ML         0x10
#define ILI9488_MADCTL_RGB        0x00
#define ILI9488_MADCTL_BGR        0x08
#define ILI9488_MADCTL_MH         0x04

// запись команды
void LCD_Write_COM (unsigned int a)
{  
  LCD_CS_L; 
  LCD_CD_L; 
  AT91C_BASE_PIOB->PIO_ODSR = a; //вывод байта в порт LCD
  LCD_WR_S;
  LCD_CD_H; 
  LCD_CS_H;
}

// запись данных
void LCD_Write_DATA (unsigned int a)
{
  LCD_CS_L;	
  AT91C_BASE_PIOB->PIO_ODSR = a; //вывод байта в порт LCD
  LCD_WR_S;
  LCD_CS_H;
}

// подпрограмма инициализации дисплея
void LCD_start(void)
  {
    // кусок кода инициализации дисплея
    //**********Сброс после подачи питания********
    LCD_RST_H; __delay_cycles(300000);
    LCD_RST_L; __delay_cycles(300000);
    LCD_RST_H; __delay_cycles(300000);
    LCD_CS_H; LCD_CD_H; LCD_WR_H; LCD_RD_H;
    __delay_cycles(300000);
    LCD_Write_COM(ILI9488_SOFTRESET);
    __delay_cycles(300000);
    LCD_Write_COM(ILI9488_DISPLAYOFF);
    LCD_Write_COM(ILI9488_POWERCONTROL1);
    LCD_Write_DATA(0x23);
    LCD_Write_COM(ILI9488_POWERCONTROL2);
    LCD_Write_DATA(0x10);
    LCD_Write_COM(ILI9488_VCOMCONTROL1);
    LCD_Write_DATA(0x2B);
    LCD_Write_DATA(0x2B);
    LCD_Write_COM(ILI9488_VCOMCONTROL2);
    LCD_Write_DATA(0xC0);
    LCD_Write_COM(ILI9488_MEMCONTROL);
    LCD_Write_DATA(ILI9488_MADCTL_MY | ILI9488_MADCTL_BGR);
    LCD_Write_COM(ILI9488_PIXELFORMAT);
    LCD_Write_DATA(0x55);
    LCD_Write_COM(ILI9488_FRAMECONTROL);
    LCD_Write_DATA(0x80);
    LCD_Write_DATA(0x11);
    LCD_Write_COM(ILI9488_ENTRYMODE);
    LCD_Write_DATA(0x07);
    /* writeRegister32(ILI9488_DISPLAYFUNC, 0x0A822700);*/
    LCD_Write_COM(ILI9488_SLEEPOUT);
    __delay_cycles(300000); 
    LCD_Write_COM(ILI9488_DISPLAYON);
    __delay_cycles(300000); 
    LCD_Write_COM(ILI9488_NORMALDISP);
    //setAddrWindow(0, 0, TFTWIDTH-1, TFTHEIGHT-1);
    // установка адресного пространства прямоугольника 320 x 480
	LCD_Write_ADR(0,319,0,479);
  }

void LCD_draw_test(void)
{
  int i;
  // установка адресного пространства прямоугольника 320 x 480
  LCD_Write_ADR(0,319,0,479);
  // начинаем запись с начала блока 
  LCD_Write_COM(0x2C);
  // запись первой половины элементов одним цветом 0xF800
  for (i=76800; i>0; i--)
  {
    LCD_Write_COM(0x3C);
    LCD_Write_DATA(0xF8); 
    LCD_Write_DATA(0x00);
  }
  // запись второй половины элементов другим цветом 0x07FF
  for (i=76799; i>0; i--)
  {
    LCD_Write_COM(0x3C);
    LCD_Write_DATA(0x07); 
    LCD_Write_DATA(0xFF);
  }
}
//------------------------------------------------------------------------------

инфу про шилд, контроллер ILI и его инициализацию собирал по крупицам с разных форумов, в том числе и китайских, улыбнуло, когда скачал по китаской ссылке файл со скетчами и нашел там отсылки к господину diger67. Так что сильно не пинайте, если увидите знакомые строки, я на них не претендую :-) 

P.S. где-то тут читал о мерцании экранов, обратите внимание на регистр ILI9488_FRAMECONTROL он как раз отвечает за частоту обновления экрана LCD, успехов.

switch
Offline
Зарегистрирован: 07.12.2015

Товарищи, такой вопрос:

я что-то умаялся экономить память, а графики температуры построить очень хочется. ХЗ правда для чего, но хочется. Наэкономил памяти, что весь код чуть более 20 кб занимает. Однако ОЗУ не хватает. Решил переставить дисплей с UNO на MEGA, прошил его - не пашет. Использую библиотеку местную для UNО, я так подозреваю она не адаптирована для MEGA? куда смотреть, что править?

AlexRyzh
Offline
Зарегистрирован: 11.11.2015

Уважаемые гуру. нужна помощь начинающему.

Вместе с Мега 2560 заказал вот такой дисплей http://ru.aliexpress.com/item/Free-Shipping-1pcs-lot-3-2-TFT-LCD-Module-Display-Touch-Screen-Panel-PCB-Adapter-Blue/2036287115.html

Подскажите как его подключить? Это возможно без дополнительной платы? Как разобраться с распиновкой, что куда присоединять? К сожалению там у продавца фото обратной стороны платы нет. Вот я сфотал его заднюю сторону:

038d69f8e6dat.jpg

Вот выписал распиновку. Подскажите как пины с какими соединить на Ардуино мега 2560?

Я так догадываюсь, что GND к GND на  Ардуино нужно подключать?

РАСПИНОВКА      ПОДКЛЮЧИТЬ
1 CS
2 RS
3 WR
4 RD
5 RST
6 DB0
7 DB1
8 DB2
9 DB3
10 DB4
11 DB5
12 DB6
13 DB7
14 DB8
15 DB9
16 DB10 
17 DB11
18 DB12 
19 DB13
20 DB14
21 DB15
22 SDCS
23 BL
24 VDD
25 VDD
26 GND             GND        
27 GND             GND
28 NC
29 MISO
30 MOSI
31 PEN
32 F_CS
33 T_CS
34 CLK

 

diger67
Offline
Зарегистрирован: 25.07.2015

switch пишет:

Товарищи, такой вопрос:

я что-то умаялся экономить память, а графики температуры построить очень хочется. ХЗ правда для чего, но хочется. Наэкономил памяти, что весь код чуть более 20 кб занимает. Однако ОЗУ не хватает. Решил переставить дисплей с UNO на MEGA, прошил его - не пашет. Использую библиотеку местную для UNО, я так подозреваю она не адаптирована для MEGA? куда смотреть, что править?

Есть файл в котором указывается привязка шины данных к пинам ардуино. В adafruit это PinMagik. В UTFT не подскажу, но вероятно что то подобное. Ройте в эту сторону.

diger67
Offline
Зарегистрирован: 25.07.2015

AlexRyzh, Все выводы управления и данных последовательно через 10 кОм к ардуино. Питание контроллера TFT 3.3 в. Подсветка через 10 - 20 Ом 5 в. Или через отдельный стабилизатор 3.3 вольта.

diger67
Offline
Зарегистрирован: 25.07.2015

Данная информация может пригодиться многим. Нарвался на магазин, где сразу прилагают даташиты на TFT, а иногда и коды инициализации, и примеры программ для разных контроллеров (AVR, ARM, 8051)

http://www.wayengineer.com/43-capacitive-lcd-touch-screen-module-800x480-with-stm32-code-p-7345.html#.Vm9kDY9OKUk

slider
Offline
Зарегистрирован: 17.06.2014

switch пишет:

Товарищи, такой вопрос:

я что-то умаялся экономить память, а графики температуры построить очень хочется. ХЗ правда для чего, но хочется. Наэкономил памяти, что весь код чуть более 20 кб занимает. Однако ОЗУ не хватает. Решил переставить дисплей с UNO на MEGA, прошил его - не пашет. Использую библиотеку местную для UNО, я так подозреваю она не адаптирована для MEGA? куда смотреть, что править?

 

Да было уже , на 7й странице, изучите тему внимательней. Чтоб адафруитский шилд заработал на UTFT c Мегой , уже выкладывал http://arduino.ru/forum/apparatnye-voprosy/tft-35-i-arduino?page=6#comment-90708 , для ili9327,  там уж какие угодно инициализации подставляйте. Если пользуете не либу UTFT , а либу   адафруита, то у неё есть pinmagic , разберетесь.

У ардуины уно/про мини , достаточно хватает оперативы чтоб построить 3 графика на экране 400х240 , и держать к примеру 3й в оперативной памяти для смещения.  ( http://arduino.ru/forum/apparatnye-voprosy/arduino-i-displei-ot-sotikov-mobilnykh-telefonov#comment-93736 )

привел к byte massive[ ] , потому как смысла нет в int , всё равно число приводится к нескольким пикселям на экране.

работало с: (изредка сбоило из-за 93% использованной ОЗУ, видимо шрифт UTFT подгружался в ОЗУ и наслаивался на массив)

byte mass_5minut[300]; //60сек*5мин=300
byte mass_24hour_max[288]; // 24*12(пятиминуток в часе)=288
byte mass_24hour_min[288]; // 24*12(пятиминуток в часе)=288
byte mass_12days_max[336]; // 12дней*24часа=288   
byte mass_12days_min[336]; // 12дней*24часа=288

потом сделал

byte mass_5minut[300]; //60сек*5мин=300
////////// byte mass_24hour_max[288]; // 24*12(пятиминуток в часе)=288
////////// byte mass_24hour_min[288]; // 24*12(пятиминуток в часе)=288
byte mass_12days_max[336]; // 12дней*24часа=288   14дней 336
byte mass_12days_min[336]; // 12дней*24часа=288
byte Y_day_min=60;  // исходный минимум  // ежечасно

Как то хотел на про мини дисплей 800х480 нагрузить с 3 большими динамичными графиками, не особо вышло, пришлось Мегу взять. На крайняк минимизации, решение зависит от скорости вывода, либо ардуин на типа atmega644, 128,... , либо STM, или внешняя память, или использование RD пина и считывать обратно с дисплея то что загрузили, а ведь ещё у некоторых дисплеев есть ещё банки памяти (для резкого переключения нарисованной графики), то это ещё огромный "+" к общему ОЗУ по скорости упирающейся в скорость ардуины и серии команд обмена с дисплеем).

diger67 пишет:

Данная информация может пригодиться многим. Нарвался на магазин, где сразу прилагают даташиты на TFT, а иногда и коды инициализации, и примеры программ для разных контроллеров (AVR, ARM, 8051)

http://www.wayengineer.com/43-capacitive-lcd-touch-screen-module-800x480-with-stm32-code-p-7345.html#.Vm9kDY9OKUk

http://arduino.ru/forum/apparatnye-voprosy/tft-35-i-arduino?page=12#comment-142133

что распиновки и инициализации на емкие контроллеры NT35510 ,... выкладывают, эт хорошо, мож попадётся кому 

 

slider
Offline
Зарегистрирован: 17.06.2014

AlexRyzh пишет:

Уважаемые гуру. нужна помощь начинающему.

Вместе с Мега 2560 заказал вот такой дисплей http://ru.aliexpress.com/item/Free-Shipping-1pcs-lot-3-2-TFT-LCD-Module-Display-Touch-Screen-Panel-PCB-Adapter-Blue/2036287115.html

Подскажите как его подключить? Это возможно без дополнительной платы? Как разобраться с распиновкой, что куда присоединять? К сожалению там у продавца фото обратной стороны платы нет. Вот я сфотал его заднюю сторону:

038d69f8e6dat.jpg

...

Да было уже в этой теме, и в многих соседних темах (1-5 страниц назад) . 2.4" 3.2" .... 7" по такой технологии  ...http://arduino.ru/forum/apparatnye-voprosy/problema-s-32-tft-lcd-mega-2560-r3 ....... приучайтесь искать сами. У многих уже нет терпения и времени отвечать то-же по 100раз.

// : - "а,... если и правда надо, то увидет соседнюю ветку, да и сам найдёт!"

Либо берете дополнительный шилд переходник, либо делаете сами на 10к резисторах , схемы  и старых резисторных шилдов переходников здесь 

RESOURCES

http://www.elecfreaks.com/estore/lcd-tft01-arduino-shield-v2-0-shd09.html

http://www.elecfreaks.com/estore/lcd-tft01-arduino-mega-shield-v2-0-shd10.html

здесь ещё попадался тонкии экран с IPS TFT , владелец утверждает что пины его толерантны(равнодушны)  к уровням +5в

Если всё же хотите подключить сами , то может понадобиться хороший стабилизатор +3,3v , (если не подключать подсветку в роли стабилитрона на 3v) и 10к резисторы . Подключать что куда есть в PDF что идет с UTFT : UTFT_Requirements.pdf

 

//П.С.  кто бы собрал базу шилдов и библиотек к ним, или хотябы таблицу с фотками чтоб форумчанины могли изменять и вносить свои шилды и что помогло.

Что то складывается иногда такое впечатление, что форум тролить начинают, ладно уже те-же вопросы, но иногда доходит до опрометчивых решений. или же новое поколение мозги спиртует и жрет всякую гадость. ... Простите меня за мой "французский".

AlexRyzh
Offline
Зарегистрирован: 11.11.2015

slider пишет:

Если всё же хотите подключить сами , то может понадобиться хороший стабилизатор +3,3v , (если не подключать подсветку в роли стабилитрона на 3v) и 10к резисторы . Подключать что куда есть в PDF что идет с UTFT : UTFT_Requirements.pdf

Спасибо. Довольно внятный ответ, но для НОВИЧКА не совсем. Щас разберусь с UTFT_Requirements.pdf и подготовлю вопрос что не понятно по подключению. UTFT_Requirements.pdf нашел здесь http://rinkydinkelectronics.com/files/UTFT_Requirements.pdf (у себя на диске в библиотеке такого не нашел)

Апока вот такой вопрос: Уменя есть модуль питания с доской и проводами вот такой http://ru.aliexpress.com/item/3-3V-5V-MB102-Breadboard-power-module-MB-102-830-points-Solderless-Prototype-Bread-board/32219528385.html?detailNewVersion=2

Планирую его использовать для запитки монтажной доски 3.3В и 5В и самого Ардуино через USB выход. 

Питание на модуль подается 6.5-12В. Мксимальный выходной ток 700мА на оба канала.

Подойдет ли этот модуль для питания этого TFT-дисплея и Ардуино с подключенными датчиками (5-6 датчиков влажность, уровень жидкости, температура жидкости и воздуха... и 5-6 управляющих релюшек)

И попутно - подойдет ли к этому модулю питания блок питания с мобильного телефона 4-11В макс 800мА?

diger67
Offline
Зарегистрирован: 25.07.2015

AlexRyzh пишет:

Апока вот такой вопрос: Уменя есть модуль питания с доской и проводами вот такой http://ru.aliexpress.com/item/3-3V-5V-MB102-Breadboard-power-module-MB-102-830-points-Solderless-Prototype-Bread-board/32219528385.html?detailNewVersion=2

Планирую его использовать для запитки монтажной доски 3.3В и 5В и самого Ардуино через USB выход. 

Питание на модуль подается 6.5-12В. Мксимальный выходной ток 700мА на оба канала.

Подойдет ли этот модуль для питания этого TFT-дисплея и Ардуино с подключенными датчиками (5-6 датчиков влажность, уровень жидкости, температура жидкости и воздуха... и 5-6 управляющих релюшек)

И попутно - подойдет ли к этому модулю питания блок питания с мобильного телефона 4-11В макс 800мА?

Жуем дальше. На самом ардуино есть все для питания вашего TFT. Как было сказано выше, Вам нужно добавить только более мощный стабилизатор для питания подсветки. По поводу блока питания. Обычный USB порт компьютера обеспечивает до 500 мА ток, значит все что выше можно использовать.

diger67
Offline
Зарегистрирован: 25.07.2015

slider пишет:

http://arduino.ru/forum/apparatnye-voprosy/tft-35-i-arduino?page=12#comment-142133

что распиновки и инициализации на емкие контроллеры NT35510 ,... выкладывают, эт хорошо, мож попадётся кому 

 

Много работы и голова пухнет от мозговых атак, как оптимизировать работу TFT. Действительно, Вы уже указывали эту ссылку, думаю напоминание не бывает лишним......

AlexRyzh
Offline
Зарегистрирован: 11.11.2015

Вот распиновка моего дисплея + картинка из UTFT_Requirements.pdf + модуль питания (установленный на монтажную доску)

1. Почитав UTFT_Requirements.pdf я понл подключение большинства пинов, но некоторые не понятно. Подскажите куда их подключать? RD - это подсветка экрана?

2. На всех соединениях я показал через резисторы 10К. Все контакты через резисторы, или GND не нужно? Или еще какие не нужно?

3. Как правильно подключить 3.3 вольта от модуля питания на подсветку? Соединить GND модуля и  GND Ардуино между собой, включить питание модуля и 3.3В подать с модуля? Только на подсветку или есть еще пины 3.3В нужно подать и подать можно с модуля 3.3В?

 

8e51c04963dft.jpg

Пытался найти по форуму ответ, но в основном проблема - экран не работает или работает не правильно, а у меня пока проблема подключить правильно, чтоб понять работает или нет. Находил на форуме и проблемы с подключением, но распиновка экранов не такая, понять не смог. Их сколько Китайцев - столько типов дисплеев. :/

slider
Offline
Зарегистрирован: 17.06.2014

AlexRyzh пишет:

Вот распиновка моего дисплея + картинка из UTFT_Requirements.pdf + модуль питания (установленный на монтажную доску)

1. Почитав UTFT_Requirements.pdf я понл подключение большинства пинов, но некоторые не понятно. Подскажите куда их подключать? RD - это подсветка экрана?

2. На всех соединениях я показал через резисторы 10К. Все контакты через резисторы, или GND не нужно? Или еще какие не нужно?

......

раз уж хватило времени нарисовать, (частично правильно),  уделил время , Порассматривал ваше фото сделайте фото  сбоку, с линейкой, а так, судя по фото ему не надо +3,3в, только +5в на VDD. Трёхнога "662K" в корпусе sot23 похожа на стабилизатор +3,3в. Перемычку J1 не трогайте, она закорачивает внутренние дисплейные 3,3в на VDD. (Можно еще прозвонить выводы на шилде, если они  не звонятся как диоды на GND и VDD , значит вероятно резисторы уже стоят под дисплеем.) На место U2 можно по желанию запаять микросхемку внешней памяти SPI FLASH , к примеру вроде для хранения своих картинок, шрифтов, и всякого другого.

1. RD (Read Data) - чтение данных из дисплея. пока через резистор подключите на 42пин Меги, узнаете какой контроллер в дисплее стоит. Читалка  ID v2.0 https://yadi.sk/d/I7C36vqtkpb86  (прочтите здесь хоть несколько страниц ранее, как посмотреть и выложить здесь)., потому как на Али на похожих пишут про SSD1289/HX8347/ILI9341 Потом подключите RD  через резистор на 5в . 

2.3.    GND   и  VDD (+5,5v)  подключаются напрямую, как можно короче и если есть потолще  провода. Сигнал подсветки BL можно попробовать подключить  на  +5в (по фото он вроде через 1ком резистором управляет транзистором), прозвоните , проверьте. 

 Другие пины (карты памяти, тача , флэша  и их включение (ChipSelect:   SD_CS, T_CS , F_CS ) пока не используйте, запустите сначала дисплей. 

// можно было прост забить в поиск на Али типа "TFT LCD Module Display ssd1289" или 3.2"  и порассматривать

...  http://ru.aliexpress.com/item/Wholesale-3-2-Inch-240-320-Touch-Tft-Display-LCD-Module-Pcb-Parallel-Port-SSD1289-ILI9341/32368408414.html - расписано как куда подключать

 

AlexRyzh
Offline
Зарегистрирован: 11.11.2015

slider пишет:

раз уж хватило времени нарисовать, (частично правильно),  уделил время , Порассматривал ваше фото сделайте фото  сбоку, с линейкой, а так, судя по фото ему не надо +3,3в, только +5в на VDD. Трёхнога "662K" в корпусе sot23 похожа на стабилизатор +3,3в. Перемычку J1 не трогайте, она закорачивает внутренние дисплейные 3,3в на VDD. (Можно еще прозвонить выводы на шилде, если они  не звонятся как диоды на GND и VDD , значит вероятно резисторы уже стоят под дисплеем.) На место U2 можно по желанию запаять микросхемку внешней памяти SPI FLASH , к примеру вроде для хранения своих картинок, шрифтов, и всякого другого.

1. RD (Read Data) - чтение данных из дисплея. пока через резистор подключите на 42пин Меги, узнаете какой контроллер в дисплее стоит. Читалка  ID v2.0 https://yadi.sk/d/I7C36vqtkpb86  (прочтите здесь хоть несколько страниц ранее, как посмотреть и выложить здесь)., потому как на Али на похожих пишут про SSD1289/HX8347/ILI9341 Потом подключите RD  через резистор на 5в . 

2.3.    GND   и  VDD (+5,5v)  подключаются напрямую, как можно короче и если есть потолще  провода. Сигнал подсветки BL можно попробовать подключить  на  +5в (по фото он вроде через 1ком резистором управляет транзистором), прозвоните , проверьте. 

 Другие пины (карты памяти, тача , флэша  и их включение (ChipSelect:   SD_CS, T_CS , F_CS ) пока не используйте, запустите сначала дисплей. 

// можно было прост забить в поиск на Али типа "TFT LCD Module Display ssd1289" или 3.2"  и порассматривать

...  http://ru.aliexpress.com/item/Wholesale-3-2-Inch-240-320-Touch-Tft-Display-LCD-Module-Pcb-Parallel-Port-SSD1289-ILI9341/32368408414.html - расписано как куда подключать

Спасибо огромное, что откликнулись. Благодаря этому ответу еще на шаг ближе к цели (цель подключить дисплей правильно, чтоб ничего не сгорело и он работал)

Все же есть много непонятного, буду уточнять и отвечать по порядку Вашего поста: 

1. Что значит "(Частично правильно)"? Где правильно а где нет? Я же не могу подключить дисплей не будучи уверенным что ВСЁ ПРАВИЛЬНО

2. Фото сбоку сделал с линейкой. только ума не приложу как можно пофото с боку понять нужны 3.3В или нет. Вот фото вид со стороны пинов и сбоку. Толщина платы с экраном 5мм. Т.е экран как вроде приклеен к плате. 

804d4d72257at.jpg

662К похоже действительно стабилизатор, здесь понятно что это стабилизатор http://inrussia.us/index.php?option=com_ebay&task=showitem&itemid=171355723921

Перемычка J1 - я её не трогал и не собирался. Но я не вижу там перемычки, там просто 2 точки пайки. пробовал прозвонить - нет цепи.

Выводы на GND и VDD звонятся как диоды, и между GND и VDD звонится как диод. Значит везде нужно ставить резисторы 10К?

На U2 впаяна микросхема ХР12046, U3 свободна, может Вы её имели ввиду? Но с этим потом, щас нужно подключить дисплей

RD перерисовал на 42 пин. Ноничего не подключал и не читал читалкой, т.к. не уверен в правильности подключений. После читалки подключу к +5В. Правильно?

BL прозвонил, идет на резистор 1К а срезистора на транзистор, значит можно подключать к +5. На рисунке указал зеленой перемычкой.

Да можно было поскать и на Али, но мне это ничего не дало бы, слишком слабо пока разбираюсь. Даже ваша ссылка мне ни о чем не сказала. :)

Итак переделанный рисунок

94eca6dc82c9t.jpg

diger67
Offline
Зарегистрирован: 25.07.2015

AlexRyzh, по вашей информации и фото.

1. Данный шилд однозначно для использования с ARM процесорами, для подключения к AVR ставьте последовательно 10кОм на все сигнальные выводы шилда (CS, RS, WR, RD,RST,  D0 - D15).

2. Если 662к стабилизатор 3.3v вам вообще не нужно дополнительного стабилизатора, все есть на ардуино. На питание LCD подаем 3.3. На питание подсветки 5v. Перемычка нужна для постоянной работы подсветки, без нее можно подавая 0 или 1 на вывод BL (бэк лайт) управлять ею.

Соединив все выводы в соответствии с определенными в программе заливаем соответствующий скетч проверяем работу LCD.

 

AlexRyzh
Offline
Зарегистрирован: 11.11.2015

Но по ходу U1 это стабилизатор на 3.3В для дисплея, поэтому 5В можно подключать?

Питание дисплея это оба пина VDD на разъеме дисплея?

diger67
Offline
Зарегистрирован: 25.07.2015

AlexRyzh пишет:

Но по ходу U1 это стабилизатор на 3.3В для дисплея, поэтому 5В можно подключать?

Питание дисплея это оба пина VDD на разъеме дисплея?

Прозвоните VDD над  BL и VDD рядом с ним. если они звоняться, то на оба надо подавать 3.3V. Как я понял это шилд на ili9341, у меня такой работает с stm32, тут все просто и контроллер и индикатор питаются от 3.3V.

URkA
Offline
Зарегистрирован: 21.03.2014

Вот  у меня один вопрос,что мешает открыть тему с конкретным шилдом и конкретной ардуиной и в этой теме за две-три страницы решить все вопросы,а не сваливать все в одну ,превращаю тему в помойку,которую даже не считают нужным читать? За новую тему тут ДЕНЕГ не берут.

AlexRyzh
Offline
Зарегистрирован: 11.11.2015

Началось :((

Включаю, белый экран и тишина :((

Скачал и прошил в Адруину эту читалку, что посоветовал slider ID v2.0 https://yadi.sk/d/I7C36vqtkpb86  

Загрузилась в Ардуинку хорошо, но на экране ничего не происходит :(

AlexRyzh
Offline
Зарегистрирован: 11.11.2015

URkA пишет:

Вот  у меня один вопрос,что мешает открыть тему с конкретным шилдом и конкретной ардуиной и в этой теме за две-три страницы решить все вопросы,а не сваливать все в одну ,превращаю тему в помойку,которую даже не считают нужным читать? За новую тему тут ДЕНЕГ не берут.

Тему открыл несколько дней назад, но к сожалению никто не отвечает там :((

http://arduino.ru/forum/apparatnye-voprosy/kak-podklyuchit-displei-32-lc...

slider
Offline
Зарегистрирован: 17.06.2014

AlexRyzh пишет:

URkA пишет:

Вот  у меня один вопрос,что мешает открыть тему с конкретным шилдом и конкретной ардуиной и в этой теме за две-три страницы решить все вопросы,а не сваливать все в одну ,превращаю тему в помойку,которую даже не считают нужным читать? За новую тему тут ДЕНЕГ не берут.

Тему открыл несколько дней назад, но к сожалению никто не отвечает там :((

http://arduino.ru/forum/apparatnye-voprosy/kak-podklyuchit-displei-32-lcd-module#comment-153995

Млин, тяжелый случай, для AlexRyzh и вправда нужна отдельная ветка , согласен с URkA , Хватит спамить здесь ! по этому дисплею туда -> http://arduino.ru/forum/apparatnye-voprosy/kak-podklyuchit-displei-32-lcd-module