Сколько ножек занимает ili9341?
- Войдите на сайт для отправки комментариев
Пнд, 05/10/2015 - 12:22
В общем сколько займет ножет такой шилд?
http://ru.aliexpress.com/item/2-4-inch-TFT-touch-LCD-Screen-Module-For-U...
Как я понимаю он занимает все ноги, если не пользоватся SD картой, то 10-13 ноги свободны. А тач там по уровню на одной ноге переключается, т.е. две ноги заняты на 2 дела.
Вообще дайте ссыль на ноги ардуинок. Т.е. какая за что. Типа почему 13 ногу не желательно использовать при свободных других и т.д. Спасибо.
Потому что на 13 висит светодиод с резистором и из-за этого она не всегда корректно работает в режиме digitalRead.
Дисплей дешевый,тоже себе такой прикупил,думал метеостанцию сделать,а вот теперь голову ломаю,как подключить датчики если все ноги на уне заняты этим шилдом?Можно ли как то по другому это чудо подключить,напримере через SPI дабы освободить ноги для часов,датчика и передатчика или все же придется выкинуть и купить другой дисплей который занимает гораздо меньше места?Помогите пожалуйста!
Дисплей дешевый,тоже себе такой прикупил,думал метеостанцию сделать,а вот теперь голову ломаю,как подключить датчики если все ноги на уне заняты этим шилдом?
с чего вы взяли, что все ноги ? у меня практически такой же дисплей http://www.ebay.com.au/itm/Uno-LCD-Display-2-8-inch-TFT-Touch-Screen-Module-Transfer-PCB-Board-for-Arduino-/381238351575?ssPageName=ADME:X:RTQ:AU:1123
сделана метеостанция с передачей показаний на narodmon.ru
http://s020.radikal.ru/i700/1512/a9/69430094774f.jpg
Перебрасываете reset display на какую-нибудь другую ногу и подключаете сколько угодны (по дэйташиту - до 127) устройств по I2C.
А можно подробней или ссылку как это сделать или хотя бы логику описать?Я правильно понимаю LSD_RST с А4 убрать,но что это даст?И если я правильно понял теоретически к контактам ардуины в которые подключен сам дисплей можно подключить паралейно другие устройства,а когда надо переводить контакты в нужный режим и делать опрос нужных датчиков?Уже было хотел одну ардуину оставать под дисплей,а к другой нацеплять датчиков,а потом их связать.
http://portalnp.ru/wp-content/uploads/2015/01/15.03_Arduino-UNO-Local-Control-User-Interface_Ed2a.pdf
стр. 15
sadovod, I2C подключается через A4 и A5, никаких жругих ног для приема/передачи данных не нужно. И убрать I2C с этих ног тоже нельзя, т.к. протокол реализован аппаратно. Если не отпаять сбргос дисплея с А4, он будет требовать инициализации после каждого обращения к I2C. Один из вариантов - подключить сброс дисплея к сбросу Ардуино - пусть они сбрасываются одновременно.
Какую логику описать, честно говоря, не очень представляю: режете дорожку на плате и подпаиваете проводком в другое место.
slavyan75,огромное спасибо за ссылку,это то что нужно,я на такой материал не натыкался,пошел изучать ))
andriano,тоже благодарю за объяснение
Чтение мануало привело к осознанию,что можно всего лишь освободить порт А4 перекинув LSD_RST,но каким образом освобождение всего одного аналогового порта позволит сделать полноценную метеостанцию,с сохранением тача и SD модуля не понятно. В моем случае необходимо подключить приемник на 433 mHz,датчик DHT22,часы RTC DS1307 и ESP8266 для передачи данных на самртфон.Правильно ли я понимаю,что мне все же придется все это добро вешать на другую ардуину и связывать с ардуиной оснащенной этим дисплеем? Сразу прошу прощения если вопрос до безобразия прос и глуп,я только начинаю во всем разбираться ))
Напротив - разбираться полезно. И раз разбираешься, значит, уже не глуп.
Для некоторых применений 3 упомянутых устройства (дисплей, тачскрин, какрта) при наличии внешнего USB, да и при том еще и возможностью подключения любых I2C устройств - просто предел мечтаний. Но никто не обещал, что так будет для любого устройства.
В конце концов, кроме UNO существует еще и MEGA, к которой этот шилд подходит, и у которой еще остается целая уйма ног.
Плохо, конечно, что пордобного дисплея нет в другом исполнении кроме шилда. Хотя, с другой стороны, там ведь 160К видеорпамяти, и для ее заполнения предусмотрен параллельный интерфейс, который, собственно, и жрет все ноги. При том, что работает не слишком шустро. Если его перевести на последовательный - будут вообще тормоза. Так что более десятка управляющих ног - считай, что плата за возможности дисплея. Кстати, компьютер, у которого оперативной памяти в 80 раз меньше, чем видеопамяти, вряд ли можно назвать сбалансированным. Так что UNO, считай, используется на пределе возможностей, потому надеять, что его хвати на что-то другое, кроме управления дисплеем - слишком оптимистично.
Я вижу следующие варианты:
1. В качестве контроллера использовать Mega 2560.
2. Ограничтть проект использованием только I2C периферии.
3. Использовать 2 Ардуины, например, UNO и MINI (связать их по I2C).
4. Взять дисплейчик попроще.
Спасибки,я так и думал,закажу мегу,ее портов мне полностью хватит,а пока она будет идти использую уно и мини,благо они есть в наличии.Еще раз спасибо.
Дисплей коректно работает с библиотекой Adafruit_GFX,но в отличии от UTFT в ней нет возможности смены шрифта наподоби команды из UTFT setFont.Кто знает можно ли на этом дисплее как то менять шрифты при выводе текста на экран?
вы внимательно читали статью по моей ссылке в #6 ? особенно стр. 7,8
вы внимательно читали статью по моей ссылке в #6 ? особенно стр. 7,8
спасибо за статью,но там нет ответа на мой вопрос.Шрифт хранится в файле glcdfont.c,я в нем поменял некоторые символы добавив кирилицу,но если я хочу к примеру подключить другой шрифт или использовать символы не 5х7,а любого другого размера,мне каждый раз менять файл glcdfont.c или в нем каким то образом можно прописать несколько таблиц шрифтов?К примеру мне не нравится шрифт,стандартный,который идет по умолчанию в glcdfont.c,при увеличении его в 5 раз на экране совсем не красивая картинка,скачал специально большой цифровой шрифт SevenSegNumFont размером 32х50 ,но как его использовать не пойму.В стандартной библиотеке UTFT есть команда setFont,и нужный шрифт устанавливается.А в адафруйт замена шрифта возможна только при изменение файла glcdfont.c ? Я правильно понял?
Всем привет! Может кто ответить по даному дисплею?
суть вот в чем:если выводить на дисплей символы в одно и тоже место командой tft.println то почему то не происходит затирание старой,ранее выведенной на это место информации,а делать отчистку командой tft.fillScreen(BLACK) не очень хочется так как скорость этой команды не высока.Есть конечно наверное еще вариант перед выводом новой инфы выводить на это место пустую строку,но правильно ли это или есть еще варианты?
выводить на дисплей символы в одно и тоже место командой tft.println то почему то не происходит затирание старой
Да. Отакая фигня. Приймите как неизбежное зло. Еще и тормозит при этом, т.к. символ попиксельно выводится.
Зависит от либки. На самом мелком (или другом немаштабированом) шрифте может и не быть.
[quote=sadovod]
еще вариант перед выводом новой инфы выводить на это место пустую строку,но правильно ли это или есть еще варианты?
[/quote]
Варианты:
1. Правильная либа.
2. рисовать черный залитый прямоугольник на месте вывода.
Посетила такая вот мысль. Функция вывода символа реагирует толко если в строке втречается 1, тогда она пишет на это место пиксель заданного цвета. Что если попробовать модифицировать эту функцию так, что бы при значении бита 0 она писала пиксель цвета фона. Тогда перезапись символа на указанном знакоместе будет происходить за один цыкл. Обычно приходтся писать на это место пустой прямоугольник, а затем выводить новый символ.
прочитайте описание к либе, её функций. можно задавать цвет знакоместа, по умолчанию он прозрачен, поэтому и не затирается старый символ. Установите цвет знакоместа - чёрный (ну или цвета как у вас фон)
прочитайте описание к либе, её функций. можно задавать цвет знакоместа, по умолчанию он прозрачен, поэтому и не затирается старый символ. Установите цвет знакоместа - чёрный (ну или цвета как у вас фон)
В UTFT не пробавал потому как не юзал сильно, только тесты. На адафруит есть функция SetTextColor(clor) и SetTextColor(color, bgcolor). По ходу мысли вторая функция как бы должна передавть в функцию DrawChar(char) две переменные и перерисовывать символ, но по факту работаеи все одинаково. Новый символ накладывается на старый. Или я совсем не доганяю эту тему..... )))
Так и есть и установка цвета не помогает,затиранее символа не происходит,вывод ведется поверх старого.Видимо глюк в библиотеке адафруит.Зачем тогда две разных функции вывода drawChar и print когда они делают одно и тоже.Может кто сможет поправить библиотеку?
А знает кто-нибудь как регулировать подсветку на этом дисплее?
Так и есть и установка цвета не помогает,затиранее символа не происходит,вывод ведется поверх старого.Видимо глюк в библиотеке адафруит.Зачем тогда две разных функции вывода drawChar и print когда они делают одно и тоже.Может кто сможет поправить библиотеку?
разберитесь и поправьте вы. у других времени и надобности нет (хоть и лежит адафруитский дисплей, но честно нет свободного 1-2 часика подобрать либы и протестировать как там на каких есть затирание, а на каких нет). Попробуйте другие версии либы, поищите решения в инете. Можете попробовать UTFT переделку на ili9327_turbo в соседней ветке про 3.5" . на крайняк у неё подменить инит в папках ili9327 на тот что из папки ili9341.
А знает кто-нибудь как регулировать подсветку на этом дисплее?
Что вам даст ответ? Если бы вы знали в электронике, то сами бы сделали. Если нет, то ответ вам не поможет.
Также как и на большинстве дешевых шилдов ( нет пина LEDA ) , если сборки низкоомников нет с тыльной стороны, то нагревать плату и поднять дисплей, перерезать дорожки от катодов подсветки и поставить smd мосфет. завести его управление на какой нибудь PWM пин. или на любой чтоб хотябы включать ярко или светло ( тогда между истоком и стоком поставить резистор ом 50-200).
Точно,такой ответ мне ничего не даст так как я не электронщик.И мне нужна не ручная регулировка переменным резистром,а программная,дорожку перерезать и что-либо допоять я могу,но если будет хотя бы картинка что и куда паять.
По поводу затирания знакоместа перед выводом нового символа,решение оказалось до банального простым,если нет надобности отчищать весь экран долгой командой tft.fillScreen(BLACK) достаточно просто указать перед выводом не только цвет выводимого символа,но и цвет заливки фона и все,символ выводится затирая предыдущую информацию tft.setTextColor(uint16_t colorChar, uint16_t backgroundcolor)