Подружить с минимальными переделками: Arduino UNO + TFT 2.8 LCD Touch Screen Expansion Shield + TFT 2.8 LCD Touch Screen 3.3v SD/Micro SD card. Пришлось на плате расширения один из шинных формирователей 74нс541 сдуть феном и заменить на 74НС245, да и всю плату расширения (TFT 2.8 LCD Touch Screen Expansion Shield) измордовать, как бог черепаху. Может у кого получилось подружить Arduino UNO с графическим дисплеем TFT 2.8 LCD + Touch Screen 3.3v SD/Micro SD card с меньшей кровью? Подобных переделок шилдов не нашел в инете, может кто ткнет носом? Да и с библиотеками тоже проблемы. Драйвер дисплея заводится только библиотекой Adafruit, а тачскрин, только библиотекой URTouch, работающей с библиотекой UTFT, которая не работает с драйвером дисплея TFT 2.8 LCD + Touch Screen 3.3v SD/Micro SD card. Приходится городить огород. Может кто подскажет, в какую сторону копать?
шинный формирователь... а нафиг он там вообще нужен...
Rokl писал(а):
в какую сторону копать?
...
Ну, как бы все читалки ID TFT сначала спрашивают через шилд расширения у LCD экранчика номер ID контроллера TFT, выдают результат в СОМ порт, и после подсовывают LCD дисплейчику нужный драйвер, стараясь проинициализировать LCD дисплей. Шинные драйверы 74НС541, установленные на плате расширения TFT 2.8 LCD Touch Screen Expansion Shield (да и во всех остальных китайских платах расширения для LCD), могут только выводить 8 разрядное слово команды наружу, в TFT дисплейчик, а вот прочитать ответ от TFT все китайские платы расширения LCD не могут в принципе. И возможно прочитать ID TFT только через 74НС245, которая может работать, как туда (записать команду в TFT), так и обратно (прочитать ID и название контроллера). В моём случае контроллер TFT оказался 9325, а по умолчанию (когда ID прочесть не удается) все читалки ID инициализируют TFT, как с контроллером 9341. В результате на LCD дисплее был только белый экран и более ничего, кроме разочарования. Вот для того, что бы наверняка узнать, что за контроллер TFT управляет LCD дисплейчиком (TFT 2.8 LCD + Touch Screen 3.3v SD/Micro SD card) и понадобилось сдуть один из 74НС541 и на его место запаять 74НС245. (Разозлил этот TFT дисплейчик меня всерьёз своим упрямством). Собственно проблема на сегодня уже решена. Arduino UNO и LCD дисплейчик с 8 битной шиной управления ( TFT 2.8 LCD + Touch Screen 3.3v SD/Micro SD card) теперь научился и русскими буквами писать, и как фоторамка работать, выводя по SPI фотки из Micro SD card, и по SPI его тачскрин управляет рисовалкой на экране. Оказалось, что такой набор в стандартных библиотеках не попадался (LCD дисплейчик с 8 битной шиной управления + SPI SD/Micro SD card + SPI Touch Screen 3.3v.), а все китайские (TFT 2.8 LCD Touch Screen Expansion Shield) работать с таким дисплейным набором без физической их переделки с паяльником в руках, НЕ могут в принципе. Этот нюанс и вызвал вопрос.
а мы тут тоже много чего подключали... viewtopic.php?f=28&t=148087 и всякие TFT тоже... viewtopic.php?f=28&t=148087&start=920 только без всяких шилд... шинных драйверов... без библиотек... просто напрямую к МК подключали всё... )) TFT... SD/Micro SD... Интернет... и т.д. вот я и говорю... а зачем там шинные драйвера... если всё работает без них))
а мы тут тоже много чего подключали... viewtopic.php?f=28&t=148087 и всякие TFT тоже... viewtopic.php?f=28&t=148087&start=920 только без всяких шилд... шинных драйверов... без библиотек... просто напрямую к МК подключали всё... )) TFT... SD/Micro SD... Интернет... и т.д. вот я и говорю... а зачем там шинные драйвера... если всё работает без них))
Никто не сомневается, что у вас работает напрямую. Если всё самодельное, от печатной платы до корпуса, и TFT экранчик тиснут из старой мобилы, то можно и напрямую к ногам AVRки. А если модули заводские, в конструктивных габаритах Arduino UNO и предназначенные для совместной работы именно с универсальной Arduino UNO с разным питанием контроллеров , а не с конкретным голым AVR, то делать из универсальных стандартных модулей самопал ("аля, так проще") смысла нет никакого. Потому и применяются на них шинные формирователи, универсальные стандартные библиотеки и т.д.
Так у нас задача была совсем другая - "аля, так прикольней" )) А смысл есть когда это всё подключается к Интернету... Иначе смысла во всем этом точно нет никакого ))
Заголовок сообщения: Re: Подружить Arduino UNO c TFT 2.8 LCD
Добавлено: Ср сен 14, 2022 09:21:49
Нашел транзистор. Понюхал.
Зарегистрирован: Вс сен 28, 2014 07:54:21 Сообщений: 152
Рейтинг сообщения:0
аналогичная ситуация... Если экранчик воткнут как шелд в Уно, то в сериале пишет что драйвер 9325 и все работает. Если подпайка проводками, то уже нет.
Комент //#define USE_ADAFRUIT_SHIELD_PINOUT в h ничего не меняет, но в сериале пишет конечно что юзается то шелд, то брекаут.
Вопрос: по какой линии арудинка читает идентификатор драйвера? Раз она при проводках его не видит. У меня подключены только
#define LCD_CS A3 // Chip Select goes to Analog 3 #define LCD_CD A2 // Command/Data goes to Analog 2 #define LCD_WR A1 // LCD Write goes to Analog 1 #define LCD_RD A0 // LCD Read goes to Analog 0
#define LCD_RESET A4 // Can alternately just connect to Arduino's reset pin
этого достаточно? В чем может быть вообще причина?
ПС: вычитал, что если используется НЕ шилдовское подключение, то этот дисплей может работать только по параллельному соединению через D0... D7(( вот засада-то...
аналогичная ситуация... Если экранчик воткнут как шелд в Уно, то в сериале пишет что драйвер 9325 и все работает. Если подпайка проводками, то уже нет.
Комент //#define USE_ADAFRUIT_SHIELD_PINOUT в h ничего не меняет, но в сериале пишет конечно что юзается то шелд, то брекаут.
Вопрос: по какой линии арудинка читает идентификатор драйвера? Раз она при проводках его не видит. У меня подключены только
#define LCD_CS A3 // Chip Select goes to Analog 3 #define LCD_CD A2 // Command/Data goes to Analog 2 #define LCD_WR A1 // LCD Write goes to Analog 1 #define LCD_RD A0 // LCD Read goes to Analog 0
#define LCD_RESET A4 // Can alternately just connect to Arduino's reset pin
этого достаточно? В чем может быть вообще причина?
ПС: вычитал, что если используется НЕ шилдовское подключение, то этот дисплей может работать только по параллельному соединению через D0... D7(( вот засада-то...
аналогичная ситуация... Если экранчик воткнут как шелд в Уно, то в сериале пишет что драйвер 9325 и все работает. Если подпайка проводками, то уже нет.
Комент //#define USE_ADAFRUIT_SHIELD_PINOUT в h ничего не меняет, но в сериале пишет конечно что юзается то шелд, то брекаут.
Вопрос: по какой линии арудинка читает идентификатор драйвера? Раз она при проводках его не видит. У меня подключены только
#define LCD_CS A3 // Chip Select goes to Analog 3 #define LCD_CD A2 // Command/Data goes to Analog 2 #define LCD_WR A1 // LCD Write goes to Analog 1 #define LCD_RD A0 // LCD Read goes to Analog 0
#define LCD_RESET A4 // Can alternately just connect to Arduino's reset pin
этого достаточно? В чем может быть вообще причина?
ПС: вычитал, что если используется НЕ шилдовское подключение, то этот дисплей может работать только по параллельному соединению через D0... D7(( вот засада-то...
Откройте хедер файл библиотеки и поищите как правильно инициализировать экран. В комментариях найдёте, там всё подписано.
аналогичная ситуация... Если экранчик воткнут как шелд в Уно, то в сериале пишет что драйвер 9325 и все работает. Если подпайка проводками, то уже нет.
Комент //#define USE_ADAFRUIT_SHIELD_PINOUT в h ничего не меняет, но в сериале пишет конечно что юзается то шелд, то брекаут.
Вопрос: по какой линии арудинка читает идентификатор драйвера? Раз она при проводках его не видит. У меня подключены только
#define LCD_CS A3 // Chip Select goes to Analog 3 #define LCD_CD A2 // Command/Data goes to Analog 2 #define LCD_WR A1 // LCD Write goes to Analog 1 #define LCD_RD A0 // LCD Read goes to Analog 0
#define LCD_RESET A4 // Can alternately just connect to Arduino's reset pin
этого достаточно? В чем может быть вообще причина?
ПС: вычитал, что если используется НЕ шилдовское подключение, то этот дисплей может работать только по параллельному соединению через D0... D7(( вот засада-то...
Откройте хедер файл библиотеки и поищите как правильно инициализировать экран. В комментариях найдёте, там всё подписано.
Если экран 2,8" голый и расчитан на работу с шилдом, а не на прямую по сериал порту с ардуино (шилд на борту), то инициализировать не получится, т.к. все стандартные внешние шилды для 2,8" TFT работают только на чтение данных из TFT (читаем ID ) по 8 разрядной шине данных и ни как на передачу команд для инициализации 2,8" TFT. Значит голый экран 2.8" необходимо распаять проводками и шину данных (D0-D7) с резисторами 33 ом, и шину управления А0-А4, согласно подключения к шине ардуино по схеме печ. платы не ранее 2009 г релиза печатной платы. До 2009 года разводка печатной платы ардуино совсем другая. А уж потом, с помощью стандартной процедуры (читалок много) прочесть ID контроллера, идентифицировать его, и залить нужные команды инициализации.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения