Смысл подключения к arduino (не due и mega) цветного TFT дисплея.
- Войдите на сайт для отправки комментариев
Ср, 08/04/2015 - 10:24
В интернете полно роликов подключения цветных дисплеев к пладшим моделям arduino. те которые имеют 32 кбайта rom.
Беру ставлю UTFT библиотеку и компилирую демку - итог 20 кбайт программа 800 байт RAM. Это с одним шрифтом и без графики. Пользователю остаются крохи. Часы наверное влезут но не более. Хотел скрестить nano + tft 2.4 ili9341+ nrf24. понял что не влезет или влезет без всякого фонкционала.
Получается нет смысла подключения цветного дисплея к ардуино, кроме как показать что типа можно. Или надо другие библиотеки использовать с меньшим кодом?
С u8glib гораздо веселее получается, но дисплей монохром.
а ты библиотеку перелопать, будет меньше и быстрее. но это не так быстро как взять готовую либу))
хотя функционал понятие растяжимое. смотря что хочешь на дисплее выводить. у тебя еще осталось 10к флеша и 1.2к оперативки
В интернете полно роликов подключения цветных дисплеев к пладшим моделям arduino. те которые имеют 32 кбайта rom.
Беру ставлю UTFT библиотеку и компилирую демку - итог 20 кбайт программа 800 байт RAM. Это с одним шрифтом и без графики. Пользователю остаются крохи. Часы наверное влезут но не более. Хотел скрестить nano + tft 2.4 ili9341+ nrf24. понял что не влезет или влезет без всякого фонкционала.
Получается нет смысла подключения цветного дисплея к ардуино, кроме как показать что типа можно. Или надо другие библиотеки использовать с меньшим кодом?
С u8glib гораздо веселее получается, но дисплей монохром.
Как по мне - нету смысла. Дисплей адекватного размера стоит как китайский планшет с таким-же дисплеем. Проще сделать интерфейс с планшетом, чем пытаться сделать из Ардуино недопланшет.
Согласен с автором - сомнительное удовольствие. И не обязательно чтобы у "мозгов" был графический или web интерфейс - вполне достаточно командного режима и отдачи json или csv.
Господа! Не путайте технические возможность и личные способности. Использование TFT+тачпад - великолепная возможность реализации конструктивно простого, не дорогого, максимально информативного и удобного в управлении интерфейса. Главный недостаток - остается мало доступных для проекта выводов, остальное - чепуха. Ну может неспешность перерисовки ещё отметить. О ресурсах - библиотека перелопачена, смотрим размер:
При этом шрифты (5х7) занимают 1.3К. Их можна маштабировать до 3 раз, чего в принципе хватает. Можна и больше, но будет видна угловатость. Смотрим эффекты оптимизации.
И еще добавим треугольничков.
Выводы очевидны - скромность украшает, и память сохраняет. Оптимизация в gcc на уровне.
Расход RAM? А куда, зачем? Шрифты в flash, ну буфер под строку какойто. Мелочи. К стати, строку в примере тоже из RAM убрать можно.
Другое дело, если GUI строить ПК-подобный с кнопочками, окнами, менюшками. Их описатели в flash даже в очень компактном описании разрастаются сильно, тексты много занимают. Вот думаю вынести это все добро на карту памяти и по SPI читать по мере надобности.
Главный недостаток - остается мало доступных для проекта выводов,???
есть такая вещь как сдвиговый регистр он позволяет обойтись вообще одним выходом на 8-16 кнопок ну и если дисплей пустить не напрямую а через такойже сдвиговый регистр то вообще можно обойтись двумя пинами
И всё будет еще медленнее. :)
Искать смысл в подключении безсмысленно :) Смысл нужно искать в правильном использовании. Можно точно сказать, что построить график и нарисовать красивую менюшку на нем можно, а "смотреть кино" - не получится.
Главный недостаток - остается мало доступных для проекта выводов,???
есть такая вещь как сдвиговый регистр он позволяет обойтись вообще одним выходом
... Ну к примеру не одним а тремя. Я так "лампочки" навесил. Потом значить яркость менять захотелось. Шимовать их начал на выходах сдвигового регистра. Оч весело. До сих пор дебажу иногда. И каждый раз, когда дебажу, то думаю - нахрена я это сделал, если есть 8-битная паралельная шина к экрану идущая, к которой можна было без проблем паралельный регистр поцепить и не мучатся.
а "смотреть кино" - не получится.
А в тетрис поиграть - запросто. Но главная фишка - очень гибкий интерфейс, нужна кнопка - нарисовал, нужно две - сделал три, нужно отобразить больше параметров - тоже не беда. И в корпус удобно всовывать. Одие экран и ничё больше.
Кстате как сделать чтобы при загрузке какртинки экран не мигал.
Кстате как сделать чтобы при загрузке какртинки экран не мигал.
Строго запретить ему мигать
Я бы так и сделал-бы но когда начинает читать карту и рисовать картинку происходит моргание, текст рисует нормально.
Может просадка питания? Моргать может по разному.
Нет питание в норме меньше 80мА при возможных 500мА мне кажется из-за того что оба одновременно используют шину SPI, в простых контроллерах она одна 11,12,13, завтра сд трогать не буду, а вот тфт библеотеке попробую TFT_SPI_SCK изменить.
Дык при вырубании CS/SS устройство вообще не должно реагировать на сигналы на шине.
Дык при вырубании CS/SS устройство вообще не должно реагировать на сигналы на шине.
Дык оно и не реагирует, технически между ардуино и пикселями есть графический мк и еще контролер матрицы.
Но мы можем попытать хрустальный шар, на тему что там мигает, толи пиксели, толи подсветка.
Ставлю на недостаточное питание.
Ставлю на недостаточное питание.
что ставим?
Ибо питание скорее всего не причем. Сдкарта и дисплей питаются сразу и сразу инициализируются. От того что spi дергается питание не может сильно меняться.
Скорее всего библиотека кривая для дисплея. Ибо картинка то кусочками кидается. dma вроде не поддерживается. Хотя я бы разнес по разным spi. У них почти у всех как минимум 2 железных spi.
От дерганья spi у карты памяти забот пребавляется, она начинает шевелится и жрать. Подсветка LCD очень это чувствует. Прямо сейчас у себя вижу как экран тухнет когда 30 светодиодов на ленте WS2812b загораются. А карта SD греется?
От дерганья spi у карты памяти забот пребавляется, она начинает шевелится и жрать. Подсветка LCD очень это чувствует. Прямо сейчас у себя вижу как экран тухнет когда 30 светодиодов на ленте WS2812b загораются. А карта SD греется?
Вы о каком экране щас? 55"? И сд карта у вас в виде батареи на пару киловатт?
1.8 - дюймовый 128 x 160 ST7735S TFT жк-модуль
http://ru.aliexpress.com/item/1-PCS-is-1-8-inch-128-x160-ST7735S-TFT-LCD-module-51-in-8-16/32335757736.html
Ломание библиотек не помогло, обнаружил не работающий стабилизатор напряжения на 3.3В, выпаял стабилизатор, замкнул перемычку, начал просто светится.
Отрываю питание работает как и работал мигает.
Отрываю питание... гыы а зачем зарывали?
ничего не понимаю (с) следствие ведут Колобки
От дерганья spi у карты памяти забот пребавляется, она начинает шевелится и жрать. Подсветка LCD очень это чувствует. Прямо сейчас у себя вижу как экран тухнет когда 30 светодиодов на ленте WS2812b загораются. А карта SD греется?
Самый обычный. Сейчас моргае на столе такой - http://www.dx.com/ru/p/2-8-lcd-touch-shield-module-for-arduino-leaf-maple-raspberry-pi-blue-318034#.VUylfM7W7gs В них тоже есть подсветка и она очень чувствительна к питанию.
... И сд карта у вас в виде батареи на пару киловатт?
Ага, чугунная. Оч остроумно. Все остальное грется не способно?
Подключил отдельно модуль микросдкарт всё мерцание пропало, сейчас не понятно от чего он работает питание не подведено подсветку убрать всерано работает но без подсветки.
Посмотрел порта, поскольку тяпает с них, походу экран немного брокованный или я ему питание сжог.
Ну самое простое - это запитать всю обвеску от отдельного источника, а потом уже искать барабашек.
Тоже столкнулся с недостатком SRAM при работе с дисплеем. Помогла вот эта статья: https://learn.adafruit.com/memories-of-an-arduino/optimizing-sram
F() и PROGMEM очень помогают.
Победил для работы тяпает напряжение с 8_TFT_RST, контакт при LOW очищает экран, код который работает в библиотеке
почти бесполезная весчь которая тратит пин, в общем карте памяти остаются крохи после экрана, при работе скорей всего просаживала экран из-за чего было моргание, отрывать экран и смотреть что там ещё сгорело не хочется, пользуясь картинкой
отпаял от платы контакт на 3.3В и на прямую проводком припаял к VCC, от VCC к Reset и подал 3.3В всё прекрасно работает.
что куда припаял и что куда тяпает видимо даже после поллитры не понять.
если оторвать пин сброса то перестало моргать? логично :) а при чем тут питание?
что куда припаял и что куда тяпает видимо даже после поллитры не понять.
если оторвать пин сброса то перестало моргать? логично :) а при чем тут питание?
Добрый день.
Несколько часов пытаюсь запустить пример:
...О ресурсах - библиотека перелопачена, смотрим размер:
Библиотека http://iarduino.ru/lib/biblioteka-arduino-dlya-podklyucheniya-tftlcd--tf...
Экран: TFT LCD Touch screen 2.4"
Пишет:
"error: no matching function for call to 'TFTLCD::TFTLCD()'
arduino-1.0.5\libraries\TFTLCD/TFTLCD.h:67: note: candidates are: TFTLCD::TFTLCD(uint8_t, uint8_t, uint8_t, uint8_t, uint8_t)
arduino-1.0.5\libraries\TFTLCD/TFTLCD.h:65: note: TFTLCD::TFTLCD(const TFTLCD&)"
Подскажите, пожалуйста, в чем может быть проблема?
Чисто случайное совпадение имен библиотеки ))) Я свою не публиковал.
) понятно.
А какая библиотека была в начале перелопачивания?
адафрукт. Что там, что у меня.
Может быть подскажите, куда копать?
Планировал убрать всю графику (сразу освобождается место под экранный буфер и т. д.).
Как бы ее (графику) порезать попроще? )
Цветной дисплей и экранный буфер на Ардуино несовместимы. Так что никакого места освобождаться не может.
Угу. Именно для того либы доковыривают - чтоб без буферов и прямая работа с портами была.
Хорошо.
А если убрать всю графическую часть и оставить только текст, место увеличиться?
Посмотрите что использует графическая часть- то и освободится. Экраны и их либы разные бывают, надо конкретно смотреть.
Нашел вот это:
"ASOLED - компактная библиотека для OLED дисплея 128х64 с кириллицей UTF-8"
http://arduino.ru/forum/proekty/asoled-kompaktnaya-biblioteka-dlya-oled-displeya-128kh64-s-kirillitsei-utf-8
Может быть будет быстрее подредактировать под TFT LCD Touch screen 2.4" ?
%)
Нашел вот это:
"ASOLED - компактная библиотека для OLED дисплея 128х64 с кириллицей UTF-8"
http://arduino.ru/forum/proekty/asoled-kompaktnaya-biblioteka-dlya-oled-displeya-128kh64-s-kirillitsei-utf-8
Может быть будет быстрее подредактировать под TFT LCD Touch screen 2.4" ?
%)
В принуипе, оттуда можно выкусить алгоритм работы с UTF-8.
У меня пока острой необходимости портации ее под цветные дисплеи нет, и неочевидно, что когда-нибудь появится. Опять же, OLED дисплей почти единственный, а разных TFT дисплеев - море. Так что подгонка библиотеки под один контроллер не обеспечит возможности работы всех остальных.
OLED дисплей почти единственный
Уже SH1106 распостраненным стал, так что уже не единственный.
ПС. посмотрел на али.. ох не единственный дисплей уже... https://ru.aliexpress.com/item/2pcs-1-5-inch-color-OLED-Display-screen-w...
Чисто случайное совпадение имен библиотеки ))) Я свою не публиковал.
Публикация планируется?!? :)
Нет.
В принуипе, оттуда можно выкусить алгоритм работы с UTF-8.
А можно выкусить английский шрифт и оставить только русский?!? %)