Подружить с минимальными переделками: 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 контроллера, идентифицировать его, и залить нужные команды инициализации.
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения