Согласен, что штатная библиотека работает только по последовательному порту 8 бит и 9 бит. Но если человек понимает в програмировании то внести изменения нет никаких проблем. Я без проблем используя рабочие либы пишу их под любой чип. Главное это дамп инициализации. Вот к примеру частично партированная либа adafruit на платформу stm32. Если вы знаете adafruit написана для 8бит шилдов, у меня работает по SPI с использованием DMA.
Вы попробовали то что я предложил почтом чуть выше? Если да, то могу подменить lcdinit.h на инициализацию с которой работает в другой библиотеке 100%.
Я так и не понял что пробовать. Скетч не компилируется... а что это за скетч не понял толком :(
[/quote]
В моем посте №30 в этой теме я дал ссылку на библиотеку с изменениями для вашего шилда. Предлагаю попробовать скачать этот вариант библиотеки, заменить старую на эту. скомпилировать скетч с указанными в нем параметрами и залить в ардуино. Отписаться по результату. http://178.130.34.198/adafruit/sketch/hex/UTFT_Demo_320x240.cpp.hex
Это конечно может занять какоето время, но я могу попробавать написать кусок который позволит инициализировать индикатор и залить экран каким либо цветом. Применительно ко мне я так и поступаю. Иду по шагам.
1. Определяю какой чип стоит на шилде
2. Нахожу оптимальный вариант инициализации
3. Заливаю экран любым цветом
int I;
for(I=0; I< 76800; I++) //применительно к 320х240 = 76800
{
LCD_Write_DATA(0x001F);
}
данная функция зальет экран синим цветом
Что касается примера кода выложенного в посте №42, то это написано совершенно для другого процессора. И приводилось как аргумент vis22.
В моем посте №30 в этой теме я дал ссылку на библиотеку с изменениями для вашего шилда. Предлагаю попробовать скачать этот вариант библиотеки, заменить старую на эту. скомпилировать скетч с указанными в нем параметрами и залить в ардуино. Отписаться по результату. http://178.130.34.198/adafruit/sketch/hex/UTFT_Demo_320x240.cpp.hex
Вот скомпилировал, попробуйте залить через SPI.
Да эту библиотеку я качал. удалял ту что была в библиотеке, подставлял эту. рошивал, но ничего не происходит.
Сейчас попробовал ваш скомпилированный залить, но я пока не знаю как через SPI, с Аурдино только начинаю работать, залил через УСБ программой XLoader. Никой реакции. Горит подсветка и больше ничего. А подсветка так и должна включаться, в смысле мгновенно с подачей питания на Ардуно?
Также попробовал библиотеку от slider, прошил оба варианта инициализации - никакой реакции. Такое впечатление, что дисплей не работает. Хотя читалка от slider определяет что работает.
А может быть такое что контроллер работает, а сам экран дохлый?
преобразовал ещё несколько инициализаций для ILI9341 16bit
init code ili9341
используя https://yadi.sk/d/7BftuMVtmL7EJ и пример из неё UTFT\examples\Arduino (AVR)\UTFT_Demo_320x240 там уже стоит UTFT myGLCD(2,38,39,40,41); // №2 (ssd1289) подменен на ILI9341 16bit
в файле initlcd.hC:\Users\......\Documents\Arduino\libraries\UTFT\tft_drivers\ssd1289
особо не разбирался в их различии, разница может в цветности 65К 262К(UTFT , если цветность не соответствует, то может вообще не рисоваться) , перевернутости, зеркальности, контрастности, правильности передачи цветов,....установки напряжений для матрицы (берутся из расчёта каким напряжением питается дисплей 1,8в 2,5в 3,3в )
3. Через программу запускаю демо 320Х240 ВИжу строку инициализации, где прописано 2 вида инициализации, одна закоментирована.
4. Запускаю на первой инициализации - ничего. закоментрировал ее, раскоментировал вторую инициализацию - ничего
После каждой прошивки вынимал и вставлял шнур УСБ. После каждого редактирования файла C:\Users\......\Documents\Arduino\libraries\UTFT\tft_drivers\ssd1289
Читалка дает результат, что контроллер рабочий, может сама матрица дохлая? Ведь не может быть, чтоб экран не подал хоть каких-то признаков жизни, кроме постоянно горящей подсветки
Читалка дает результат, что контроллер рабочий, может сама матрица дохлая? Ведь не может быть, чтоб экран не подал хоть каких-то признаков жизни, кроме постоянно горящей подсветки
И всетаки он рабочий, с такой проблеммой столкнулся когда сам собирал из экран и буферных регистров типа шилда. Использовал флюс для пайки FPGA. Схема то работала, то экран просто работал как фонарь. Посмотрите внимательно, может все обильно залито флюсом. Не редки случии когда плохо смыт флюс. И еще, очень внимательно посмотрите пайку разъемов и на mege и на шилде. Я и с таким сталкивался.
Обычно медицинский спирт используют по другому назначению.
А смывать флюс - подойдет бензин или ацетон.
Да, многие используют бензин и ацетон. Но давно уже "колошу" не продают, ацетон тоже не в почете из за наркоманов. В бытность, когда я работал на заводе, платы в промышленом масштабе мылись бензоспиртовой смесью.
И всетаки я настаиваю натом что бы вы запитали шилд от 3.3В. Осталось только это, и я уверен что это последнее невыполненное условие для нормальной работы индикатора. Чудес на свете не бывает.
И всетаки я настаиваю натом что бы вы запитали шилд от 3.3В. Осталось только это, и я уверен что это последнее невыполненное условие для нормальной работы индикатора. Чудес на свете не бывает.
Да, чудес не бывает. Мы со slider долго мучались, и перепайка была, но увы...
и на 3.3В подключал, но замеряя напряжение на 662, там небыло 3.3В было 3 -2.9, а 5 В через резистор, стабильно давло 3.3В
Дисплей ушел на полку запасных запчастей, тему можно закрывать.
Да время было потрачено очень много. списывались по виберу и емайлу. Дисплей подключен через 1кОм резисторы. То что дисплей принимает команды и отправляет данные читалке, даёт понять что контроллер рабочий. Возможно дело м матрице, в обвязке (кондеры преобразователей на шлейфе). Были перепробованы много инициалиций для ILI9341. Мож отбраковка какая или брак попался.
На шлейфе потом переставили перемычку с R2 на R1 ( IM0 c GND на +3.3v ) для перевода его с 16бит на 8бит . Была снова протестирована UTFT (16/8бит) и теперь Adafruit (ему необходим 8ми битный режим). Была взята либа Адафруит (для 8ми бит а не SPI) https://yadi.sk/d/G1wGU8CumLxEZ пример ...\Documents\Arduino\libraries\Adafruit_TFTLCD\examples\graphicstest , ( причём версия IDE 1.5.5 не хотела видеть *.pde и принудительно не компилировала, а старее и 1.5.8 и новее версии - Да) . В библиотеке есть распознавание и драйвера на ILI9325 (0x9325) ILI9328 (0x9328) HX8347G (0x7575) ,ILI9341 (0x9341) с регистра 3D, HX8357D (0x8357) . Адафруит почему-то его не видела . (дисплей был подключён старшими разрядами на портА(пины22-29) - так ей читаются и запускаются у меня дисплеи на меге) . Почему она не увидела этот шилд, это конечно вопрос. Читалкой v2.1 https://yadi.sk/d/a7lnuLkamLxs4 не удаётся проверить это подключение, т.к. она заточена на 16бит. 8бит может распознать только малую часть дисплеев, из-за большой разницы в их работе по 8ми битам, надо делать отдельную только для 8бит.
Остаются предположения, либо Мега (не было другой или Уно ), либо сам дисплей. и совсем маленький процент на коммутацию и длинные провода. AlexRyzh как я понял, находится в другой стране, так что доставка для исследования не целесообразна.
Да время было потрачено очень много. списывались по виберу и емайлу. Дисплей подключен через 1кОм резисторы. То что дисплей принимает команды и отправляет данные читалке, даёт понять что контроллер рабочий. Возможно дело м матрице, в обвязке (кондеры преобразователей на шлейфе). Были перепробованы много инициалиций для ILI9341. Мож отбраковка какая или брак попался.
На шлейфе потом переставили перемычку с R2 на R1 ( IM0 c GND на +3.3v ) для перевода его с 16бит на 8бит . Была снова протестирована UTFT (16/8бит) и теперь Adafruit (ему необходим 8ми битный режим). Была взята либа Адафруит (для 8ми бит а не SPI) https://yadi.sk/d/G1wGU8CumLxEZ пример ...\Documents\Arduino\libraries\Adafruit_TFTLCD\examples\graphicstest , ( причём версия IDE 1.5.5 не хотела видеть *.pde и принудительно не компилировала, а старее и 1.5.8 и новее версии - Да) . В библиотеке есть распознавание и драйвера на ILI9325 (0x9325) ILI9328 (0x9328) HX8347G (0x7575) ,ILI9341 (0x9341) с регистра 3D, HX8357D (0x8357) . Адафруит почему-то его не видела . (дисплей был подключён старшими разрядами на портА(пины22-29) - так ей читаются и запускаются у меня дисплеи на меге) . Почему она не увидела этот шилд, это конечно вопрос. Читалкой v2.1 https://yadi.sk/d/a7lnuLkamLxs4 не удаётся проверить это подключение, т.к. она заточена на 16бит. 8бит может распознать только малую часть дисплеев, из-за большой разницы в их работе по 8ми битам, надо делать отдельную только для 8бит.
Остаются предположения, либо Мега (не было другой или Уно ), либо сам дисплей. и совсем маленький процент на коммутацию и длинные провода. AlexRyzh как я понял, находится в другой стране, так что доставка для исследования не целесообразна.
slider даже удаленно подключался к компу и шерстил сам библиотеку, правил коды...
Провода не длинные, общая длина шлейфа составила 25 см. всю цепь от дисплея до друины прозвонил каждый прово (всю линию с резисторами). Каждая цепь показала 970-980 Ом (резисторы стоят на 1К). Это на второй сборке шлейфа. Перепробованно массу вариантов, но дисплей и "глазом не моргнул". Неделя непрерывных проб, изменений соединений, библиотек, даже внутренней пайки, мойки спаек... при работающей матрице должно было хоть как-то отреагировать.
Сама друина врядли виновата. Когда прошивал демкой экрана, диод на друинке помигивал, давая понять, что код работает. Еслиб с пинами была проблема, то читалка не давала бы результат. У меня напрашивается 1 вывод, контроллер рабочий, проблема или с матрицей или со шлейфом дисплея.
Вот еслибы был способ "ручной" проверки работоспособности матрицы без инициализации драйвером, было бы отлично. Ну типа подал куда нужно 5В или 3.3В и мтрица "зашумела" или еще как-то отреагировала. А там мучаемся, грешим на драйвер, провода и др..., а на самом деле матрица убитая
Еще раз спасибо всем. Взял Китайца за горло, и обострил спор на Али.
Если есть сомнения в исправности матрицы, почему бы не проверить работу шилда по SPI (серийному подключению), там и надо то подключить всего 10 проводов и примеров в Интернете с работающим подключением ili9341 к Mege для UTFT библиотеки море.
Ну да это личное дело экспериментатора, не ищущего легких путей....
Учитывайте, что даже если один провод в параллельной 16 битной шине подключен неправильно либо его соединение неисправно, то команда передаваемая по параллельной шине контроллером распознана не будет и дисплей не заведется.
где в посте andreas_ferm от Wed Oct 14, 2015 8:39 am сообщает о том, что удалось завести ili9341 обозвав его в строке инициализации как ssd1289, правда такой фокус он сделал не для Arduino, а для STM32 портировав под него библиотеку UTFT. Тоже настоящий герой...... Так что, можете попробовать.
Если есть сомнения в исправности матрицы, почему бы не проверить работу шилда по SPI (серийному подключению), там и надо то подключить всего 10 проводов и примеров в Интернете с работающим подключением ili9341 к Mege для UTFT библиотеки море.
Ну да это личное дело экспериментатора, не ищущего легких путей....
Учитывайте, что даже если один провод в параллельной 16 битной шине подключен неправильно либо его соединение неисправно, то команда передаваемая по параллельной шине контроллером распознана не будет и дисплей не заведется.
где в посте andreas_ferm от Wed Oct 14, 2015 8:39 am сообщает о том, что удалось завести ili9341 обозвав его в строке инициализации как ssd1289, правда такой фокус он сделал не для Arduino, а для STM32 портировав под него библиотеку UTFT. Тоже настоящий герой...... Так что, можете попробовать.
1. Нужно иметь доступ к IMO конфигурации, и на шлейф должны быть выведени хотябы MOSI, SCK....
2. Инициализировать можно и по половине шины 16bit, т.к. передача данных и информации к какому регистру обращаемся производится по младшим 8bit
3. При неисправном бите старшего байта получим неправильные адреса пикселей, что приведет к искажению изображения и неправильной цветопередачи
Чтобы все это вкурить, надо не просто манипулировать библиотеками, но и понимать логику работы устройства.
Как и полагается для шины SPI её сигналы MOSI и CLK проходят через все устройства которые к ней подсоединены ( Touch screen, CD card, Flash и TFT экран), а для выбора конкретного устройства используются линии CS ( T_CS для Touch screen, CDCS для CD card, F_CS и CS для TFT экрана).
Все требуемые линии выбора CS выведены на разъем шилда, так что все должно работать.
Если не верите, купите шилд. Вы когда либо сами делали шилд. Брали TFT панель, разводили плату? Так вот, если вы в курсе, на плате должно быть предусмотренно коммутировать IMO0, IMO1, IMO2. которые позволяют выбирать протокол обмена с процессором. Если Вы покажите мне на данном шилде таковые возможности я сниму шляпу. В противном случае надо отдерать панель и перипаивать 0-перемычки на шлефе, если производитель предоставил такую возможность.
Я недавно купил шилд на R61581, там действительно можно выбрать любой из возможных протоколов, выведины все управляющие пины. Давно покупал панели ILI9341, там можно работать с 8bit, 16bit, SPI. Так что смотрите внимательней.
Я так же провозился с этим дисплеем и кроме белого экрана ничего добиться не смог.Жалко,что полгода прошло после покупки,а опробовать сразу не получалось.Жаль потраченных 500 рублей.Китаец на просьбу выслать библиотеки именно для этого дисплея так и не ответил.Для себя сделал вывод:если я не хардкорный электронщик связываться с такими дисплеями и им подобными нет смысла,уже валяется с пяток таких зверьков.Теперь решил еще раз потратится на дисплей немного другого уровня,дисплей nextion,и меньше проводов уходит для подключения,только RX TX, и своя среда создания.В общем тем кто собирается приобретать такой или подобный дисплей,лучше посмотрите в сторону дисплеев nextion,сэкономите нервы ))))
А можно подробне о подключении?Вы все выводы Db подключили через 10кОм резистры или напрямую,а то на фото не понятно?И почему не удалось запустить тач?
Спасибо за ссылки. Посмотрел на второй пример stm32duino с ногодрыгом, он скомпилировался в ардуино, но он для 8бит дисплея. Есть ли у Вас пример по 16 бит для этого дисплея?
slavadp, какой процессор stm32 вы используете и насколько принципиально работать в arduino IDE? Спрашиваю потому что работаю в Keil. И примеры могу только под Keil предложить.
Согласен, что штатная библиотека работает только по последовательному порту 8 бит и 9 бит. Но если человек понимает в програмировании то внести изменения нет никаких проблем. Я без проблем используя рабочие либы пишу их под любой чип. Главное это дамп инициализации. Вот к примеру частично партированная либа adafruit на платформу stm32. Если вы знаете adafruit написана для 8бит шилдов, у меня работает по SPI с использованием DMA.
.....
Я скопировал код в программу, компиляция не пошла. Или что нужно было сделать?
Вы попробовали то что я предложил почтом чуть выше? Если да, то могу подменить lcdinit.h на инициализацию с которой работает в другой библиотеке 100%.
Я так и не понял что пробовать. Скетч не компилируется... а что это за скетч не понял толком :(
[/quote]
В моем посте №30 в этой теме я дал ссылку на библиотеку с изменениями для вашего шилда. Предлагаю попробовать скачать этот вариант библиотеки, заменить старую на эту. скомпилировать скетч с указанными в нем параметрами и залить в ардуино. Отписаться по результату. http://178.130.34.198/adafruit/sketch/hex/UTFT_Demo_320x240.cpp.hex
Вот скомпилировал, попробуйте залить через SPI.
Это конечно может занять какоето время, но я могу попробавать написать кусок который позволит инициализировать индикатор и залить экран каким либо цветом. Применительно ко мне я так и поступаю. Иду по шагам.
1. Определяю какой чип стоит на шилде
2. Нахожу оптимальный вариант инициализации
3. Заливаю экран любым цветом
данная функция зальет экран синим цветом
Что касается примера кода выложенного в посте №42, то это написано совершенно для другого процессора. И приводилось как аргумент vis22.
UTFT продолжаем добивать...ся
ILI9341 16bit
https://yadi.sk/d/7BftuMVtmL7EJ
AlexRyzh , а то что вам дали китайцы
https://yadi.sk/d/64EhZnLJmKhvt - это для совершенно другого шилда (который втыкается напрямую в мегу) и другого контроллера - HX8357C
В моем посте №30 в этой теме я дал ссылку на библиотеку с изменениями для вашего шилда. Предлагаю попробовать скачать этот вариант библиотеки, заменить старую на эту. скомпилировать скетч с указанными в нем параметрами и залить в ардуино. Отписаться по результату. http://178.130.34.198/adafruit/sketch/hex/UTFT_Demo_320x240.cpp.hex
Вот скомпилировал, попробуйте залить через SPI.
Да эту библиотеку я качал. удалял ту что была в библиотеке, подставлял эту. рошивал, но ничего не происходит.
Сейчас попробовал ваш скомпилированный залить, но я пока не знаю как через SPI, с Аурдино только начинаю работать, залил через УСБ программой XLoader. Никой реакции. Горит подсветка и больше ничего. А подсветка так и должна включаться, в смысле мгновенно с подачей питания на Ардуно?
Также попробовал библиотеку от slider, прошил оба варианта инициализации - никакой реакции. Такое впечатление, что дисплей не работает. Хотя читалка от slider определяет что работает.
А может быть такое что контроллер работает, а сам экран дохлый?
преобразовал ещё несколько инициализаций для ILI9341 16bit
init code ili9341
используя https://yadi.sk/d/7BftuMVtmL7EJ и пример из неё UTFT\examples\Arduino (AVR)\UTFT_Demo_320x240 там уже стоит UTFT myGLCD(2,38,39,40,41); // №2 (ssd1289) подменен на ILI9341 16bit
в файле initlcd.h C:\Users\......\Documents\Arduino\libraries\UTFT\tft_drivers\ssd1289
всё стираем и пишем
1. от https://www.adafruit.com/datasheets/MI0283QT-11%20V1.1.PDF
2. http://www.avrfreaks.net/forum/ili9341
3. http://www.microchip.com/forums/m846831.aspx
4. http://www.wayengineer.com/32-touch-tft-lcd-color-screen-module-240x320-with-pcb-board-p-6334.html#.VnTde7aLSUk
особо не разбирался в их различии, разница может в цветности 65К 262К(UTFT , если цветность не соответствует, то может вообще не рисоваться) , перевернутости, зеркальности, контрастности, правильности передачи цветов,....установки напряжений для матрицы (берутся из расчёта каким напряжением питается дисплей 1,8в 2,5в 3,3в )
Проверил - никакой реакции :(
Делал так:
1. Скачиваю библиотеку 2. Удаляю старую УТФТ библиотеку, подставляю нову (папка УТФТ)
3. Через программу запускаю демо 320Х240 ВИжу строку инициализации, где прописано 2 вида инициализации, одна закоментирована.
4. Запускаю на первой инициализации - ничего. закоментрировал ее, раскоментировал вторую инициализацию - ничего
После каждой прошивки вынимал и вставлял шнур УСБ. После каждого редактирования файла C:\Users\......\Documents\Arduino\libraries\UTFT\tft_drivers\ssd1289
Закрывал программу, чтоб наверняка подхватил отредактированную библиотеку.
Соедино все поэтой схеме:
Спасибо всем, что пытаетесь помочь победить узкоглазого... но видать он нам не по силам
Читалка дает результат, что контроллер рабочий, может сама матрица дохлая? Ведь не может быть, чтоб экран не подал хоть каких-то признаков жизни, кроме постоянно горящей подсветки
Читалка дает результат, что контроллер рабочий, может сама матрица дохлая? Ведь не может быть, чтоб экран не подал хоть каких-то признаков жизни, кроме постоянно горящей подсветки
И всетаки он рабочий, с такой проблеммой столкнулся когда сам собирал из экран и буферных регистров типа шилда. Использовал флюс для пайки FPGA. Схема то работала, то экран просто работал как фонарь. Посмотрите внимательно, может все обильно залито флюсом. Не редки случии когда плохо смыт флюс. И еще, очень внимательно посмотрите пайку разъемов и на mege и на шилде. Я и с таким сталкивался.
Осмотрел, на друинке нормально, чистенько все, а на дисплее вроде как флюс, или что оно не понятно. Не сталкивался с таким
А чем его смыть можно?
Обычно используют обычный медицинский спирт.
Обычно медицинский спирт используют по другому назначению.
А смывать флюс - подойдет бензин или ацетон.
Обычно медицинский спирт используют по другому назначению.
А смывать флюс - подойдет бензин или ацетон.
Да, многие используют бензин и ацетон. Но давно уже "колошу" не продают, ацетон тоже не в почете из за наркоманов. В бытность, когда я работал на заводе, платы в промышленом масштабе мылись бензоспиртовой смесью.
Смыл жидклстью для сняти лака на ногтях. Норм смылось, быстро
Но на работу дисплея не повлияло. Как молчал так и молчит
И всетаки я настаиваю натом что бы вы запитали шилд от 3.3В. Осталось только это, и я уверен что это последнее невыполненное условие для нормальной работы индикатора. Чудес на свете не бывает.
Я покупал "Калошу" буквально пару месяцев назад.
Да и автозаправки никто не отменял, слава Богу, встретить там этилированный бензин уже невозможно.
И всетаки я настаиваю натом что бы вы запитали шилд от 3.3В. Осталось только это, и я уверен что это последнее невыполненное условие для нормальной работы индикатора. Чудес на свете не бывает.
Да, чудес не бывает. Мы со slider долго мучались, и перепайка была, но увы...
и на 3.3В подключал, но замеряя напряжение на 662, там небыло 3.3В было 3 -2.9, а 5 В через резистор, стабильно давло 3.3В
Дисплей ушел на полку запасных запчастей, тему можно закрывать.
Живете где?
Да время было потрачено очень много. списывались по виберу и емайлу. Дисплей подключен через 1кОм резисторы. То что дисплей принимает команды и отправляет данные читалке, даёт понять что контроллер рабочий. Возможно дело м матрице, в обвязке (кондеры преобразователей на шлейфе). Были перепробованы много инициалиций для ILI9341. Мож отбраковка какая или брак попался.
На шлейфе потом переставили перемычку с R2 на R1 ( IM0 c GND на +3.3v ) для перевода его с 16бит на 8бит . Была снова протестирована UTFT (16/8бит) и теперь Adafruit (ему необходим 8ми битный режим). Была взята либа Адафруит (для 8ми бит а не SPI) https://yadi.sk/d/G1wGU8CumLxEZ пример ...\Documents\Arduino\libraries\Adafruit_TFTLCD\examples\graphicstest , ( причём версия IDE 1.5.5 не хотела видеть *.pde и принудительно не компилировала, а старее и 1.5.8 и новее версии - Да) . В библиотеке есть распознавание и драйвера на ILI9325 (0x9325) ILI9328 (0x9328) HX8347G (0x7575) , ILI9341 (0x9341) с регистра 3D, HX8357D (0x8357) . Адафруит почему-то его не видела . (дисплей был подключён старшими разрядами на портА(пины22-29) - так ей читаются и запускаются у меня дисплеи на меге) . Почему она не увидела этот шилд, это конечно вопрос. Читалкой v2.1 https://yadi.sk/d/a7lnuLkamLxs4 не удаётся проверить это подключение, т.к. она заточена на 16бит. 8бит может распознать только малую часть дисплеев, из-за большой разницы в их работе по 8ми битам, надо делать отдельную только для 8бит.
Остаются предположения, либо Мега (не было другой или Уно ), либо сам дисплей. и совсем маленький процент на коммутацию и длинные провода. AlexRyzh как я понял, находится в другой стране, так что доставка для исследования не целесообразна.
если кому надо вот схемы на этот шилд и либы для STM и C51 https://yadi.sk/d/sOkpTV6nmLxeU
Да время было потрачено очень много. списывались по виберу и емайлу. Дисплей подключен через 1кОм резисторы. То что дисплей принимает команды и отправляет данные читалке, даёт понять что контроллер рабочий. Возможно дело м матрице, в обвязке (кондеры преобразователей на шлейфе). Были перепробованы много инициалиций для ILI9341. Мож отбраковка какая или брак попался.
На шлейфе потом переставили перемычку с R2 на R1 ( IM0 c GND на +3.3v ) для перевода его с 16бит на 8бит . Была снова протестирована UTFT (16/8бит) и теперь Adafruit (ему необходим 8ми битный режим). Была взята либа Адафруит (для 8ми бит а не SPI) https://yadi.sk/d/G1wGU8CumLxEZ пример ...\Documents\Arduino\libraries\Adafruit_TFTLCD\examples\graphicstest , ( причём версия IDE 1.5.5 не хотела видеть *.pde и принудительно не компилировала, а старее и 1.5.8 и новее версии - Да) . В библиотеке есть распознавание и драйвера на ILI9325 (0x9325) ILI9328 (0x9328) HX8347G (0x7575) , ILI9341 (0x9341) с регистра 3D, HX8357D (0x8357) . Адафруит почему-то его не видела . (дисплей был подключён старшими разрядами на портА(пины22-29) - так ей читаются и запускаются у меня дисплеи на меге) . Почему она не увидела этот шилд, это конечно вопрос. Читалкой v2.1 https://yadi.sk/d/a7lnuLkamLxs4 не удаётся проверить это подключение, т.к. она заточена на 16бит. 8бит может распознать только малую часть дисплеев, из-за большой разницы в их работе по 8ми битам, надо делать отдельную только для 8бит.
Остаются предположения, либо Мега (не было другой или Уно ), либо сам дисплей. и совсем маленький процент на коммутацию и длинные провода. AlexRyzh как я понял, находится в другой стране, так что доставка для исследования не целесообразна.
если кому надо вот схемы на этот шилд и либы для STM и C51 https://yadi.sk/d/sOkpTV6nmLxeU
Живу в Украине, Запорожзкая обл. Мелитополь
slider даже удаленно подключался к компу и шерстил сам библиотеку, правил коды...
Провода не длинные, общая длина шлейфа составила 25 см. всю цепь от дисплея до друины прозвонил каждый прово (всю линию с резисторами). Каждая цепь показала 970-980 Ом (резисторы стоят на 1К). Это на второй сборке шлейфа. Перепробованно массу вариантов, но дисплей и "глазом не моргнул". Неделя непрерывных проб, изменений соединений, библиотек, даже внутренней пайки, мойки спаек... при работающей матрице должно было хоть как-то отреагировать.
Сама друина врядли виновата. Когда прошивал демкой экрана, диод на друинке помигивал, давая понять, что код работает. Еслиб с пинами была проблема, то читалка не давала бы результат. У меня напрашивается 1 вывод, контроллер рабочий, проблема или с матрицей или со шлейфом дисплея.
Вот еслибы был способ "ручной" проверки работоспособности матрицы без инициализации драйвером, было бы отлично. Ну типа подал куда нужно 5В или 3.3В и мтрица "зашумела" или еще как-то отреагировала. А там мучаемся, грешим на драйвер, провода и др..., а на самом деле матрица убитая
Еще раз спасибо всем. Взял Китайца за горло, и обострил спор на Али.
Если есть сомнения в исправности матрицы, почему бы не проверить работу шилда по SPI (серийному подключению), там и надо то подключить всего 10 проводов и примеров в Интернете с работающим подключением ili9341 к Mege для UTFT библиотеки море.
Ну да это личное дело экспериментатора, не ищущего легких путей....
Учитывайте, что даже если один провод в параллельной 16 битной шине подключен неправильно либо его соединение неисправно, то команда передаваемая по параллельной шине контроллером распознана не будет и дисплей не заведется.
Ну если уж очень хочется, завести ili9341 от UTFT в 16 битном моде - то вот ссылка на форум http://stm32duino.com/viewtopic.php?f=44&t=637&sid=0386ca7bac9308691840eb0ee5e96fb7&start=10
где в посте andreas_ferm от Wed Oct 14, 2015 8:39 am сообщает о том, что удалось завести ili9341 обозвав его в строке инициализации как ssd1289, правда такой фокус он сделал не для Arduino, а для STM32 портировав под него библиотеку UTFT. Тоже настоящий герой...... Так что, можете попробовать.
Если есть сомнения в исправности матрицы, почему бы не проверить работу шилда по SPI (серийному подключению), там и надо то подключить всего 10 проводов и примеров в Интернете с работающим подключением ili9341 к Mege для UTFT библиотеки море.
Ну да это личное дело экспериментатора, не ищущего легких путей....
Учитывайте, что даже если один провод в параллельной 16 битной шине подключен неправильно либо его соединение неисправно, то команда передаваемая по параллельной шине контроллером распознана не будет и дисплей не заведется.
Ну если уж очень хочется, завести ili9341 от UTFT в 16 битном моде - то вот ссылка на форум http://stm32duino.com/viewtopic.php?f=44&t=637&sid=0386ca7bac9308691840eb0ee5e96fb7&start=10
где в посте andreas_ferm от Wed Oct 14, 2015 8:39 am сообщает о том, что удалось завести ili9341 обозвав его в строке инициализации как ssd1289, правда такой фокус он сделал не для Arduino, а для STM32 портировав под него библиотеку UTFT. Тоже настоящий герой...... Так что, можете попробовать.
1. Нужно иметь доступ к IMO конфигурации, и на шлейф должны быть выведени хотябы MOSI, SCK....
2. Инициализировать можно и по половине шины 16bit, т.к. передача данных и информации к какому регистру обращаемся производится по младшим 8bit
3. При неисправном бите старшего байта получим неправильные адреса пикселей, что приведет к искажению изображения и неправильной цветопередачи
Чтобы все это вкурить, надо не просто манипулировать библиотеками, но и понимать логику работы устройства.
Потрачено уйма времени на этот недоделанный дисплей. Он улетел на полку запасных, я его уже ненавижу :\
А Али экспресс решили спор в мою пользу и назначили полный возврат денег.
Соболезную AlexRyzhю.
Для diger67, как раз SPI и присутствует на разъеме шилда.
Соболезную AlexRyzhю.
Для diger67, как раз SPI и присутствует на разъеме шилда.
Да. присутствует, но используется для SD и xpt2046. К управлению TFT не имеет ни кокого отношения!!!
Для diger67.
Как и полагается для шины SPI её сигналы MOSI и CLK проходят через все устройства которые к ней подсоединены ( Touch screen, CD card, Flash и TFT экран), а для выбора конкретного устройства используются линии CS ( T_CS для Touch screen, CDCS для CD card, F_CS и CS для TFT экрана).
Все требуемые линии выбора CS выведены на разъем шилда, так что все должно работать.
Flash и Tuoch CS есть, не более того. К тмуже я с этим шилдом работал. Понимаю, но к сожалению в данном случае вы заблуждаетесь.
Да. ну.... А китайцы очевидно маркируют выводы CS и CDCS просто для прикола.
Ну да пусть будет так.
Если не верите, купите шилд. Вы когда либо сами делали шилд. Брали TFT панель, разводили плату? Так вот, если вы в курсе, на плате должно быть предусмотренно коммутировать IMO0, IMO1, IMO2. которые позволяют выбирать протокол обмена с процессором. Если Вы покажите мне на данном шилде таковые возможности я сниму шляпу. В противном случае надо отдерать панель и перипаивать 0-перемычки на шлефе, если производитель предоставил такую возможность.
Я недавно купил шилд на R61581, там действительно можно выбрать любой из возможных протоколов, выведины все управляющие пины. Давно покупал панели ILI9341, там можно работать с 8bit, 16bit, SPI. Так что смотрите внимательней.
Вот это дсплей!!! https://www.youtube.com/watch?v=niA3aPu3-dQ
Подключил 4 провода и не морочь голову!!!
Всем доброго времени суток.Подскажите что за экран мне достался и можно ли его прикрутить к меге 2560?http://ru.aliexpress.com/item/free-shipping-3-2-TFT-LCD-Module-Display-Touch-Panel-PCB-adapter-wholesale-price/580034355.html
У меня этот экран должен быть подключен через такой шилд http://ru.aliexpress.com/item/Free-shipping-TFT-3-2-inch-Mega-Touch-LCD-Expansion-Board-Shield-IC-partial-pressure-for/32263354417.html?spm=2114.10010208.100010.1.yvvgUF
Я так же провозился с этим дисплеем и кроме белого экрана ничего добиться не смог.Жалко,что полгода прошло после покупки,а опробовать сразу не получалось.Жаль потраченных 500 рублей.Китаец на просьбу выслать библиотеки именно для этого дисплея так и не ответил.Для себя сделал вывод:если я не хардкорный электронщик связываться с такими дисплеями и им подобными нет смысла,уже валяется с пяток таких зверьков.Теперь решил еще раз потратится на дисплей немного другого уровня,дисплей nextion,и меньше проводов уходит для подключения,только RX TX, и своя среда создания.В общем тем кто собирается приобретать такой или подобный дисплей,лучше посмотрите в сторону дисплеев nextion,сэкономите нервы ))))
И русские буквы прицепил. http://грибовы.рф/?p=2240
А можно подробне о подключении?Вы все выводы Db подключили через 10кОм резистры или напрямую,а то на фото не понятно?И почему не удалось запустить тач?
Подключил точно как в посте №4. Каждую из D0-D15 через отдельный резистор 10кОм. Управляющие тоже как на картинке через 10кОм. и экран заработал!
По тачу пока не понял. Прерывание от нажатия уже научился обрабатывать, а координаты пока не смог реальные считать.
Разобрался с работой тачпанели. Все сложно. но возможно!
Эпопея с запуском описана сдесь:
http://arduino.ru/forum/apparatnye-voprosy/sensornyi-ekran-na-xpt2046-poluchilos#comment-247464
Добрый день, скажите есть ли возможность подключить этот дисплей к stm32f103c (или 103r)?
Конечно же есть. Даже можно воспользоваться средой arduino. Можно немного подумав переделать библиотеку adafruit. Что и было сделано, у меня работает с любым контроллером от stm использовал и ногодрыг, и SPI, и FMC(FSMC). http://www.stm32duino.com/viewtopic.php?f=19&t=1713 , это пример работы с FMC, тут наработки по ногодрыгу http://www.stm32duino.com/viewtopic.php?f=9&t=474 .
Спасибо за ссылки. Посмотрел на второй пример stm32duino с ногодрыгом, он скомпилировался в ардуино, но он для 8бит дисплея. Есть ли у Вас пример по 16 бит для этого дисплея?
slavadp, какой процессор stm32 вы используете и насколько принципиально работать в arduino IDE? Спрашиваю потому что работаю в Keil. И примеры могу только под Keil предложить.
Есть stm32f103c8t, stm32f103rbt, stm32f303cbt, думаю подойдут примеры из любой среды, постараюсь разобраться.
Подключил как в посте №4. Работает. Теперь подскажите а лучше нарисуйте как подключить тачскрин. Спасибо.
Подключил как в посте №4. Работает. Теперь подскажите а лучше нарисуйте как подключить тачскрин. Спасибо.
согласно либе UTouch , к пинам
//Standard Arduino Mega/Due shield : 6, 5, 4, 3, 2
TCLK, TCS, TDIN, TDOUT и IRQ.
UTouch myTouch( 6, 5, 4, 3, 2);
тоже через резисторы 10к
вот на схеме обозначены соответствия сигналов:
схему можете сами нарисовать, только сначала проверив ее работу.
калибровка:
http://arduino.ru/forum/apparatnye-voprosy/sensornyi-ekran-na-xpt2046-poluchilos#comment-247713
описание либы UTouch:
https://geektimes.ru/post/258174/
И примеры могу только под Keil предложить.
Если не сложно поделитесь, пожалуйста, примерами подключения под Keil.
Уважаемые гуру посмотрите тачскрин так подключать.
посмотрел.
И что? Правильно или нет?
Если коротко - у меги питание 5В у тача 3,3. очень желательно согласовать.
и надо выводы выбора контроллеров CD карты и Флеш памяти заблокировать высоким уровнем, что-бы случайно в канал не полезли.
http://arduino.ru/forum/apparatnye-voprosy/sensornyi-ekran-na-xpt2046-poluchilos#comment-247455
Вам надо с использованием FMC или BitBang (ногодрыг)?