Как подключить дисплей 3.2 LCD Module
- Войдите на сайт для отправки комментариев
Пнд, 14/12/2015 - 16:14
Вместе с Мега 2560 заказал вот такой дисплей
http://ru.aliexpress.com/item/Free-Shipping-1pcs-lot-3-2-TFT-LCD-Module-...
Подскажите как его подключить? Это возможно без дополнительной платы? Как разобраться с распиновкой, что куда присоединять? К сожалению там фото обратной стороны платы нет. Вот я сфотал его заднюю сторону:
И еще вопрос. Я купил эту Ардуину http://www.aliexpress.com/snapshot/7094119787.html?orderId=70976858832287
Эта модель должна иметь какую тактовую частоту? 16000?
Здесь у меня написано 12000 это так должно быть? Это указана тактовая частота?
Можно ли это объявить несоответствием описанию?
Это кварц к контроллеру вообще отношения не умеет. Он для UART-USB.
И еще вопрос. Я купил эту Ардуину http://www.aliexpress.com/snapshot/7094119787.html?orderId=70976858832287
Эта модель должна иметь какую тактовую частоту? 16000?
Здесь у меня написано 12000 это так должно быть? Это указана тактовая частота?
Можно ли это объявить несоответствием описанию?
Кварц становлен SMD, по размеру ну очень мелкий, установлен рядом с megs2560. Теперь как проверить тот ли кварц. Заливаем Blink скетч, ставим задержку 1000 mS, смотрим с какой частотой мигает светодиод.
Переходим из соседней темы http://arduino.ru/forum/apparatnye-voprosy/tft-35-i-arduino?page=17
дабы её не загаживать .
повторюсь:
Подключайте так как вы перерисовали:
Только каждому DB по своему резистору 10кОм, а не все вместе одним как на рисунке.
Макетка с модулем питания 5в3.3в не нужна. Подаете питание, удостоверяетесь, чта на "662К" есть +3,3в . Если выше 3,6в, то поставьте стабилитрон на +3,3в // (параллельно кондеру С1. Т.е. на +3,3в - катодом вверх(черная полоска на стобилитроне) , а на GND анодом вниз)
запускаете читалку ID, открываете монитор сериал порта в Ардуино IDE , скорость 9600. и смотрите что он выдал. Копируете сюда (вставляете через "вставка-редактирование кода" , там в "дополнительно" ставите галку Сворачитьвать код по умолчанию
Естественно на каждый ДБ свой резистор. Спасибо, что напомнили, но если даже этого не понимать, то браться за подобное не стоит:)
Подал питание 3.3 с Ардуино, на "662К" показало 3.1В, а подключил 5В на "662К" показало 3.3В
Запустил читалку, вот данные с монитора
На BL, (подсветку дисплея) подавал 3.3 и 5 В без разницы, яркость одна
Теперь подключил RD на 5В через резистор 10К. Пытаюсь загрузить демонстрацию экрана из примеров, экран белый светится и ничего не происходит. Может скетчи не подходят для этого экрана?
На самой Ардуино светодиод мигает (похоже программа работает) но мдисплей молчит.
Может подскажите скетч, который точно должен работать на этом дисплее?
читалка могла определить работоспособность, тип контроллера, битность, т.е. какой именно скетч(инициализация) подойдёт. Есть подозрение что старому типу контроллера ssd1289 чтото ещё надо, мож первых времен или неисправен. Возможно уменьшить номиналы резисторов. Пошукай в прошлой теме, там встречался не такой, но немного похожий синий шилд, там форумчанин подключал напрямую и проводил исследование , при каких номиналах резисторов он работоспособен. У меня ssd1289 , читалка считывает 0x8989 - это доработанная версия контрололера 1289, работает как и все на 10кОм.
отпишись вместо лички на segun соб. яндekc ру . и фотку скинь на столе как получилось.
Подскажите скетч демо экрана, который точно должен работать при данной распиновке. А так я даже не знаю как должен вести себя экран :(
читалка могла определить работоспособность, тип контроллера, битность, т.е. какой именно скетч(инициализация) подойдёт. Есть подозрение что старому типу контроллера ssd1289 чтото ещё надо, мож первых времен или неисправен. Возможно уменьшить номиналы резисторов. Пошукай в прошлой теме, там встречался не такой, но немного похожий синий шилд, там форумчанин подключал напрямую и проводил исследование , при каких номиналах резисторов он работоспособен. У меня ssd1289 , читалка считывает 0x8989 - это доработанная версия контрололера 1289, работает как и все на 10кОм.
отпишись вместо лички на segun соб. яндekc ру . и фотку скинь на столе как получилось.
Т.е читалка определила что тип контроллера ssd1289? Там много цифр, как понять по читалке какой контроллер?
Соединил напрямую без резисторов. Снова запустил читалку, цифры другие стали вот результат:
Вот название дисплея у продавца. Контроллер ssd1289 по ходу
1 шт. / lot 3,2 " TFT жк-дисплей модуль дисплей + сенсорный экран панель + печатная плата адаптер синий SSD1289 с карта SD orignal
Перествил RD 5В, загрузил демку из библиотеки UTFT работает только подсветка (белый экран). Подсветка включается одновременно с присоединением USB
Что означают эти цифры, и как понять какие цифры прописать для своего дисплея?
Соединил напрямую без резисторов. Снова запустил читалку, цифры другие стали вот результат:
Вот название дисплея у продавца. Контроллер ssd1289 по ходу
1 шт. / lot 3,2 " TFT жк-дисплей модуль дисплей + сенсорный экран панель + печатная плата адаптер синий SSD1289 с карта SD orignal
Перествил RD 5В, загрузил демку из библиотеки UTFT работает только подсветка (белый экран). Подсветка включается одновременно с присоединением USB
Я уже писал вам, это ili9341, о чем говорит ответ на запрос ili9488. у них одинаковый протоколл и инициализация, разница в разрешении. У первого 320х240, у второго 480х320. Инициализируйте его как ili9341 с разрешением 320х240. В UTFT к сожалению надо править для работы с этим контроллером. Или если есть либа для ili9488 16bit изменить разрешение на 320х240 и залить скомпилированный с этими параметрами скетч.
Что означают эти цифры, и как понять какие цифры прописать для своего дисплея?
Указывают с каким чипом и по каким пинам ардуино выдает управляющие сигналы.(RD, WR, RS, CS)
Какой сигнал по какому пину смотрите в прототипе функции
А как же RD прописать, если slider сказал подключть его на 5В "...Потом подключите RD через резистор на 5в . ..." http://arduino.ru/forum/apparatnye-voprosy/tft-35-i-arduino?page=17#comment-154232
Вот slider давл ссылку, посмотреть распиновку. Тут точно такой дисплей как у меня http://ru.aliexpress.com/item/Wholesale-3-2-Inch-240-320-Touch-Tft-Display-LCD-Module-Pcb-Parallel-Port-SSD1289-ILI9341/32368408414.html
Там есть распиновка для SMT32, для Ардуино нет. Получается она не предназначена для Ардуино
Вот slider давл ссылку, посмотреть распиновку. Тут точно такой дисплей как у меня http://ru.aliexpress.com/item/Wholesale-3-2-Inch-240-320-Touch-Tft-Display-LCD-Module-Pcb-Parallel-Port-SSD1289-ILI9341/32368408414.html
Там есть распиновка для SMT32, для Ардуино нет. Получается она не предназначена для Ардуино
В ссылке указано, что шилд поставляется или с SSD1289, или с ILI9341. Это разные чипы. Использовать его можно и с AVR и c ARM. Все что нужно для подключения к arduino slider писал и не раз....
Что означают эти цифры, и как понять какие цифры прописать для своего дисплея?
Указывают с каким чипом и по каким пинам ардуино выдает управляющие сигналы.(RD, WR, RS, CS)
Какой сигнал по какому пину смотрите в прототипе функции
Всетаки как правильно идентифицировать дисплей? Если RD подключается к 5В через резистор, а здесь по таблице к 3.3В (здесь видно что резисторы 1К, буду такие ставить) http://store.iteadstudio.com/images/produce/Shield/ITDB02MEGAShield/ITDB02MEGAshield_DS.pdf
И если согласно этого (RD, WR, RS, CS), то WR, RS, CS я подключил к пинам 39, 38, 40, а как указать RD?, если подключается к 5В? Выше есть картинка подключения.
И как прописать все-же контроллер? Продавец заявил что контроллер SSD1289? diger67 утверждает что контроллер "...это ili9341, о чем говорит ответ на запрос ili9488..."
Кроме того, если я в строке инициализации пишу просто ILI9341, то компиляция не проходит, т.к. в библиотеке записано как ILI9341_S5P или ILI9341_S4P. И еще есть такая запись в этой библиотеке:
#define TFT01_18SP 24 // ST7735S (Serial 5Pin)
поищите пока в соседней ветке, я выкладывал модификациию UTFT для ili9341 16бит. ну или пользуйте Adafruit .
RD в UTFT не используется, для работы библиотеки надо подавать на него лог.1 (+3.3в или через резистор на +5в)
Раз при подключении напрямую, читалка заработала, так и оставляйте. Только замерьте напр. +3,3в на шилде.
Читалка ID выдала что внятно ответил регистр 0хD3 данными 9341 . Это одноименный контроллер ili9341.
Так всё ясно, можно запускать и пользоваться. Adafruit заработает, в UTFT внести маленькое изменение.
Но для получения опыта предлагаю:
1. попробуйте все резисторы поменять на 1кОм , и запустить читалку, разместите сюда что выдала.
2. подключаете RD на +. Скачиваете девственную UTFT, открываете в блокноте UTFT.cpp , находите строчку byte dtm[] = {16, 16, 16, 8, 8, ...... , SERIAL_5PIN, SERIAL_5PIN}; и все параметры в ней заменяете на 16 . Сохраняете. Запускаете UTFT\examples\Arduino (AVR)\UTFT_Demo_320x240 , перебираете по очереди в строчке инициализации первое число от 0 до 31 ( UTFT myGLCD(0,38,39,40,41); до UTFT myGLCD(31,38,39,40,41); ) , каждый раз заливая этот скетч, ждете секунд 5, записываете какое изображение показывает экран (белый, перевёрнутое изображение, зеркальное, мельчешащее, серое, чёткое с правильной цветопередачей) - напишите сюда на каких инициализациях картинка хорошая. Эт мы узнаем какие инициализации ещё подходят для ili9341, кроме её собственной. //просто я встречал, подобными переборами удавалось подобрать лучшую инициализачию, чем ранее предполагалось.
Подключил через 1К вот читалка:
А пока поработаю над пунктом 2 (... 2. подключаете RD на +. Скачиваете девственную UTFT, открываете в блокноте UTFT.cpp , находите строчку byte dtm[] = {16, 16, 16, 8, 8, ...... , SERIAL_5PIN, SERIAL_5PIN}; и все параметры ....)
Подключил через 1К вот читалка:
ну круто, работает, так и оставляйте тогда на 1кОме. Что там по +3,3в на шилде, в норме?
Нашел строчку, вот она
byte dtm[] = {16, 16, 16, 8, 8, 16, 8, SERIAL_4PIN, 16, SERIAL_5PIN, SERIAL_5PIN, 16, 16, 16, 8, 16, LATCHED_16, 0, 0, 8, 16, 16, 16, 8, SERIAL_5PIN, SERIAL_5PIN, SERIAL_4PIN, 16, 16, 16, SERIAL_5PIN, SERIAL_5PIN};
Заменил так: правильно? или только цифры нужно было менять?
byte dtm[] = {16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16};
верно. После заливки каждого скетча, при переборе инициализаций, ждите изображение теста секунд 3-5ть. смотрите, и подбирайте следующую инициализацию
Да на шилде на стабилизаторе ровно 3.3В
UTFT myGLCD(0,38,39,40,41);
Сделал так, выдает ошибку компиляции
Вернул файл UTFT/cpp в исходное состояние, ошибку компиляции не дает. Но и экран белым остается
Следущие 1, 2 , 3 ... 31? ILI9341_S5P ILI9341_S4P ?
Иногда сбойное сочетание Arduino: 1.6.6 (Windows 10), проверте на по старее IDE 1.5... и Win7 .
При измененном файле UTFT.cpp все варианты дают ошибку компиляции.
При исходном файле пробовал ILI9341_S5P ILI9341_S4P без изменений.
Смущают меня три последние цифры. У меня к этим пинам ничего не подключено
Мдаааа... по ходу без переходной платы он работать не будет... да и платой не факт... видимо придется пылится ему на полке
Вот попробавал подправить либу http://178.130.34.198/adafruit/UTFT.rar Запустите скетч 320х240, должно заработать.
UTFT myGLCD(0,38,39,40,41);
Сделал так, выдает ошибку компиляции
у меня компилируется без проблем
UTFT myGLCD(0,38,39,40,41);
Sketch uses 33 650 bytes (13%) of program storage space. Maximum is 253 952 bytes. Global variables use 380 bytes (4%) of dynamic memory, leaving 7 812 bytes for local variables. Maximum is 8 192 bytes.
UTFT myGLCD(ILI9341_S5P,38,39,40,41);
UTFT myGLCD(0,38,39,40,41);
Сделал так, выдает ошибку компиляции
1. Библиотеки надо распаковывать! чтоб небыло как у вас :\Users\836D~1\AppData\Local\Temp\arduino_18c601fbbf1481a8267e26d9f334acac\
2. Библиотеки надо скидывать в Мои документы\Arduino\libraries\
( C:\Users\......\Documents\Arduino\libraries\ )
А я библиотеки в C:\Program Files (x86)\Arduino\libraries распаковывал, тперь буду знать
Су тра снова тщетные попытки запустить дисплей... уже и библиотеку привел в порядок. В C:\Program Files (x86)\Arduino\libraries лишнее поудалял, распаковал UTFT в библиотеку как положено.
Демо компилируется без проблем, Ардуинка светодиодом подмигивает, типа "идет демка", но дисплей так ни разу и не подал признаков жизни, кроме как светится белым (по ходу только подсветка работает).
Видимо там аппаратная проблема, или контроллер дохлый или распиновка напутана (как любят делать Китайцы, паяют паяют там ночами в полудрёме...)
Но ничего не проходит зря, пока разбирался много знаний почерпнул :) Всем спасибо, что пытались помочь... но в этой войне китаец победил :(
Аппаратная проблема почти исключена, потому как читалка посылала команды дисплею и он отвечал, причём правильно. Попробуйте на стареньком компе (winXP или win7) и старой IDE 1.5... Со всеми замечаниями и переделками подстановками в файлах библиотеки.
Ок, попробую отпишусь, У меня есть ноут с вин7 (на моем рабочем компе ВИн10) Драйвера и ИДЕ на ноут установлю.
Поставил на ноут прогу Ардуино 5.5, с установкой драйверов. При подключении Ардуины появляется порт, порт работает, но с восклицательным знаком, по тому что нет цифровой подписи.
Запускаю программу ИДЕ настраиваю на свою АРдуино 2560, но выбрать порт невозможно, меню "Порт" не активна. Поставил библиотеку, запустил демку, но залить в Ардуино не получается, т.к. выдает ошибку, что к порту1 она не подключена!!!!
Ставил и другие версии на ноут, проблема с портом та-же.
Но полученные .hex файлы залил с помощью XLoader (Arduino HEX uploader)
Как я и ожидал результат нулевой
Переустановил на своей Вин10 ИДЕ 5.5 поставил, прошиваю - тоже белый экран и никакой реакции
Еще раз запустил читалку
А это тестовая сборка
А може не работает из=за того, что не все пины подключены на дисплее? Может хитрые Китайцы сделали так, что если какой-то пин не подключен работать не будет? У меня больше нет версий причины неработы дисплея .
А може не работает из=за того, что не все пины подключены на дисплее? Может хитрые Китайцы сделали так, что если какой-то пин не подключен работать не будет? У меня больше нет версий причины неработы дисплея .
Для запуска экрана надо подключить VDD, GND, 16 выводов DB0-DB15, RS, WR, RST, CS, RD и BL на +3.3В. Остальные выводы шилда используются для подключения чипа xpt2046, слота SD карты и (или) при наличии SPI Flash ROM. Попробуйте скачать библиотеку из поста #30 данной темы, я там попытался добавить данный чип ILI9341 16bit. Вот он в работе, правда работает с stm32, но библиотека портирована с arduino. По всем признакам ваш шилд не инициализировался, иначе даже при неправильном подключении DB8-DB15 вы бы получли неправильные цвета и искаженное изображение.
Согласно документации на библиотеку UTFT контроллер ILI9341 поддерживается только Serial mode.
Поэтому инициализироваться он должен как сериальный с подключением к шине SPI Arduino:
Соответственно подключение к шине SPI должно быть выполнено в соответствии:
И строка инициализации должна быть вида
myGLCD(<model code>, SDA, SCL, CS, RST[, RS]); где нужно указать пины вашего Arduino на которые выводятся эти сигналы.
Шину данных DB0-DB15 подключать не требуется.
Поробуйте поискать примеры в Интернете запросом: UTFT 9341.
Согласен, что штатная библиотека работает только по последовательному порту 8 бит и 9 бит. Но если человек понимает в програмировании то внести изменения нет никаких проблем. Я без проблем используя рабочие либы пишу их под любой чип. Главное это дамп инициализации. Вот к примеру частично партированная либа adafruit на платформу stm32. Если вы знаете adafruit написана для 8бит шилдов, у меня работает по SPI с использованием DMA.
Попробовал искать по интернету UTFT 9341 попадаются дисплеи только 9-ти пиновые. У меня 34-х пиновый. Как сопоставить с тем, что попадается в инете?
"...myGLCD(<model code>, SDA, SCL, CS, RST[, RS]); где нужно указать пины вашего Arduino на которые выводятся эти сигналы...."
RST[, RS]); - RS в скобках? а код модели цифрой прописывать?
Вот нашел у китайцев точно моя модель дисплея. Но контроллер вроде другой указан. http://ru.aliexpress.com/item/3-2-Touch-Screen-Panel-240x320-TFT-65K-Color-LCD-Display-Module-W-SD-Card-TE283/32491419880.html?spm=2114.031020208.3.224.jB8as2&ws_ab_test=searchweb201556_4,searchweb201644_2_79_78_77_82_80_62_61,searchweb201560_5
Или TE283 это не контроллер?
AlexRyzh , скиньте сюда либы что вам продавец дал на него. (можете к примеру скинуть в яндекс диск, сюда ссылку дать)
Попробовал искать по интернету UTFT 9341 попадаются дисплеи только 9-ти пиновые. У меня 34-х пиновый. Как сопоставить с тем, что попадается в инете?
"...myGLCD(<model code>, SDA, SCL, CS, RST[, RS]); где нужно указать пины вашего Arduino на которые выводятся эти сигналы...."
RST[, RS]); - RS в скобках? а код модели цифрой прописывать?
Вот нашел у китайцев точно моя модель дисплея. Но контроллер вроде другой указан. http://ru.aliexpress.com/item/3-2-Touch-Screen-Panel-240x320-TFT-65K-Color-LCD-Display-Module-W-SD-Card-TE283/32491419880.html?spm=2114.031020208.3.224.jB8as2&ws_ab_test=searchweb201556_4,searchweb201644_2_79_78_77_82_80_62_61,searchweb201560_5
Или TE283 это не контроллер?
Вы попробовали то что я предложил почтом чуть выше? Если да, то могу подменить lcdinit.h на инициализацию с которой работает в другой библиотеке 100%.
Вы попробовали то что я предложил почтом чуть выше? Если да, то могу подменить lcdinit.h на инициализацию с которой работает в другой библиотеке 100%.
он не скомпилировался, ругался на ILI9341 , потому как нет такого, там только ILI9341_S5P и ILI9341_S4P . Но я им исправил битность с SPI на 16, не показалл экран, скорее в длинных проводах по 2 раза , их иногда недообжимают. Подождём когда AlexRyzh , на шлейфе от старого CD-ROM или HDD попробует . Выложит китайские либы.
Былоб здорово.
Ещё можно Adafruit подготовить и проверить на 16 битность. и настроить на 9341. (ибо бывают случаи что RD не выведен, Adafruit не может определить дисплей и поэтому отказывается работать, поэтому в таких случаях ему надо принудительно указывать драйвер, а не автоматом)
Вы попробовали то что я предложил почтом чуть выше? Если да, то могу подменить lcdinit.h на инициализацию с которой работает в другой библиотеке 100%.
он не скомпилировался, ругался на ILI9341 , потому как нет такого, там только ILI9341_S5P и ILI9341_S4P . Но я им исправил битность с SPI на 16, не показалл экран, скорее в длинных проводах по 2 раза , их иногда недообжимают. Подождём когда AlexRyzh , на шлейфе от старого CD-ROM или HDD попробует . Выложит китайские либы.
Так, по порядку. Не скомпелировалось со штатной либой или с той которую я выложил в посте выше? Может он неудалив старую UTFT добавил еще одну в папку библиотек? У меня все чудесно скомпилилось.....
Попробуйте варианты:
myGLCD(ILI9341_S4P, 20, 21, 40, 41, 38)
myGLCD(ILI9341_S4P, 20, 21, 40, 41) //RS подключить на +5V
myGLCD(ILI9341_S5P, 20, 21, 40, 41, 38)
myGLCD(ILI9341_S5P, 20, 21, 40, 41) //RS подключить на +5V
Схема подключения:
Попробуйте варианты:
myGLCD(ILI9341_S4P, 20, 21, 40, 41, 38)
myGLCD(ILI9341_S4P, 20, 21, 40, 41) //RS подключить на +5V
myGLCD(ILI9341_S5P, 20, 21, 40, 41, 38)
myGLCD(ILI9341_S5P, 20, 21, 40, 41) //RS подключить на +5V
Схема подключения:
Данный шилд работает по 16 битному параллельному порту, причем тут SPI, ну посмотрите для начала о чем речь, а потом пишите.
Вы попробовали то что я предложил почтом чуть выше? Если да, то могу подменить lcdinit.h на инициализацию с которой работает в другой библиотеке 100%.
[/quote]
Я так и не понял что пробовать. Скетч не компилируется... а что это за скетч не понял толком :(