Смысл подключения к arduino (не due и mega) цветного TFT дисплея.

pav2000
Offline
Зарегистрирован: 15.12.2014

В интернете полно роликов подключения цветных дисплеев к пладшим моделям arduino. те которые имеют 32 кбайта rom.

Беру ставлю UTFT библиотеку и компилирую демку - итог 20 кбайт программа 800 байт RAM. Это с одним шрифтом и без графики.  Пользователю остаются крохи.  Часы наверное влезут но не более. Хотел скрестить nano  + tft 2.4 ili9341+ nrf24. понял что не влезет или влезет без всякого фонкционала.

Получается нет смысла подключения цветного дисплея к ардуино,  кроме как показать что типа можно. Или надо другие библиотеки использовать с меньшим кодом?

С u8glib гораздо веселее получается, но дисплей монохром.

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

а ты библиотеку перелопать, будет меньше и быстрее. но это не так быстро как взять готовую либу))

хотя функционал понятие растяжимое. смотря что хочешь на дисплее выводить. у тебя еще осталось 10к флеша и 1.2к оперативки

Gippopotam
Gippopotam аватар
Offline
Зарегистрирован: 12.09.2014

pav2000 пишет:

В интернете полно роликов подключения цветных дисплеев к пладшим моделям arduino. те которые имеют 32 кбайта rom.

Беру ставлю UTFT библиотеку и компилирую демку - итог 20 кбайт программа 800 байт RAM. Это с одним шрифтом и без графики.  Пользователю остаются крохи.  Часы наверное влезут но не более. Хотел скрестить nano  + tft 2.4 ili9341+ nrf24. понял что не влезет или влезет без всякого фонкционала.

Получается нет смысла подключения цветного дисплея к ардуино,  кроме как показать что типа можно. Или надо другие библиотеки использовать с меньшим кодом?

С u8glib гораздо веселее получается, но дисплей монохром.

Как по мне - нету смысла. Дисплей адекватного размера стоит как китайский планшет с таким-же дисплеем. Проще сделать интерфейс с планшетом, чем пытаться сделать из Ардуино недопланшет.

NeiroN
NeiroN аватар
Offline
Зарегистрирован: 15.06.2013

Согласен с автором - сомнительное удовольствие. И не обязательно чтобы у "мозгов" был графический или web интерфейс - вполне достаточно командного режима и отдачи json или csv.

Logik
Offline
Зарегистрирован: 05.08.2014

Господа! Не путайте технические возможность и личные способности. Использование TFT+тачпад - великолепная возможность реализации конструктивно простого, не дорогого, максимально информативного и удобного в управлении интерфейса. Главный недостаток - остается мало доступных для проекта выводов, остальное - чепуха. Ну может неспешность перерисовки ещё отметить. О ресурсах - библиотека перелопачена, смотрим размер:

При этом шрифты (5х7) занимают 1.3К. Их можна маштабировать до 3 раз, чего в принципе хватает. Можна и больше, но будет видна угловатость. Смотрим эффекты оптимизации.

И еще добавим треугольничков.

Выводы очевидны -  скромность украшает, и память сохраняет. Оптимизация в gcc на уровне.

Расход RAM? А куда, зачем? Шрифты в flash, ну буфер под строку какойто. Мелочи. К стати, строку в примере тоже из RAM убрать можно.

Другое дело, если GUI строить ПК-подобный с кнопочками, окнами,  менюшками. Их описатели в flash даже в очень компактном описании разрастаются сильно, тексты много занимают.  Вот думаю вынести это все добро на карту памяти и по SPI читать по мере надобности.

a5_25arduino
Offline
Зарегистрирован: 29.04.2015

 Главный недостаток - остается мало доступных для проекта выводов,???

есть такая вещь как сдвиговый регистр он позволяет обойтись вообще одним выходом на 8-16 кнопок ну и если дисплей пустить не напрямую а через такойже сдвиговый регистр то вообще можно обойтись двумя пинами

 
Radjah
Offline
Зарегистрирован: 06.08.2014

И всё будет еще медленнее. :)

brokly
brokly аватар
Offline
Зарегистрирован: 08.02.2014

Искать смысл в подключении безсмысленно :) Смысл нужно искать в правильном использовании. Можно точно сказать, что построить график и нарисовать красивую менюшку на нем можно, а "смотреть кино" - не получится.

Logik
Offline
Зарегистрирован: 05.08.2014

a5_25arduino пишет:

 Главный недостаток - остается мало доступных для проекта выводов,???

есть такая вещь как сдвиговый регистр он позволяет обойтись вообще одним выходом

 

... Ну к примеру не одним а тремя. Я так "лампочки" навесил. Потом значить яркость менять захотелось. Шимовать их начал на выходах сдвигового регистра. Оч весело. До сих пор дебажу иногда. И каждый раз, когда дебажу, то думаю - нахрена я это сделал, если есть 8-битная паралельная шина к экрану идущая, к которой можна было без проблем паралельный регистр поцепить и не мучатся.

Logik
Offline
Зарегистрирован: 05.08.2014

brokly пишет:

а "смотреть кино" - не получится.

А в тетрис поиграть - запросто. Но главная фишка - очень гибкий интерфейс, нужна кнопка - нарисовал, нужно две - сделал три, нужно отобразить больше параметров - тоже не  беда. И в корпус удобно всовывать. Одие экран и ничё больше.

vov4ik
Offline
Зарегистрирован: 10.09.2013

Кстате как сделать чтобы при загрузке какртинки экран не мигал.

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

vov4ik пишет:

Кстате как сделать чтобы при загрузке какртинки экран не мигал.


Строго запретить ему мигать

vov4ik
Offline
Зарегистрирован: 10.09.2013

Я бы так и сделал-бы но когда начинает читать карту и рисовать картинку происходит моргание, текст рисует нормально.

Logik
Offline
Зарегистрирован: 05.08.2014

Может просадка питания? Моргать может по разному.

vov4ik
Offline
Зарегистрирован: 10.09.2013

Нет питание в норме меньше 80мА при возможных 500мА мне кажется из-за того что оба одновременно используют шину SPI, в простых контроллерах она одна 11,12,13, завтра сд трогать не буду, а вот тфт библеотеке попробую TFT_SPI_SCK изменить.

Radjah
Offline
Зарегистрирован: 06.08.2014

Дык при вырубании CS/SS устройство вообще не должно реагировать на сигналы на шине.

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

Radjah пишет:

Дык при вырубании CS/SS устройство вообще не должно реагировать на сигналы на шине.


Дык оно и не реагирует, технически между ардуино и пикселями есть графический мк и еще контролер матрицы.
Но мы можем попытать хрустальный шар, на тему что там мигает, толи пиксели, толи подсветка.

Radjah
Offline
Зарегистрирован: 06.08.2014

Ставлю на недостаточное питание.

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

Radjah пишет:

Ставлю на недостаточное питание.


что ставим?
Ибо питание скорее всего не причем. Сдкарта и дисплей питаются сразу и сразу инициализируются. От того что spi дергается питание не может сильно меняться.
Скорее всего библиотека кривая для дисплея. Ибо картинка то кусочками кидается. dma вроде не поддерживается. Хотя я бы разнес по разным spi. У них почти у всех как минимум 2 железных spi.

Logik
Offline
Зарегистрирован: 05.08.2014

Puhlyaviy пишет:
От того что spi дергается питание не может сильно меняться.

От дерганья spi у карты памяти забот пребавляется, она начинает шевелится и жрать.  Подсветка LCD очень это чувствует. Прямо сейчас у себя вижу как экран тухнет когда 30 светодиодов на ленте WS2812b загораются. А карта SD греется?

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

Logik пишет:

Puhlyaviy пишет:
От того что spi дергается питание не может сильно меняться.

От дерганья spi у карты памяти забот пребавляется, она начинает шевелится и жрать.  Подсветка LCD очень это чувствует. Прямо сейчас у себя вижу как экран тухнет когда 30 светодиодов на ленте WS2812b загораются. А карта SD греется?


Вы о каком экране щас? 55"? И сд карта у вас в виде батареи на пару киловатт?

vov4ik
Offline
Зарегистрирован: 10.09.2013

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В, выпаял стабилизатор, замкнул перемычку, начал просто светится.

Отрываю питание работает как и работал мигает.

 

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

Отрываю питание... гыы а зачем зарывали?
ничего не понимаю (с) следствие ведут Колобки

Logik
Offline
Зарегистрирован: 05.08.2014

Puhlyaviy пишет:
Logik пишет:

Puhlyaviy пишет:
От того что spi дергается питание не может сильно меняться.

От дерганья spi у карты памяти забот пребавляется, она начинает шевелится и жрать.  Подсветка LCD очень это чувствует. Прямо сейчас у себя вижу как экран тухнет когда 30 светодиодов на ленте WS2812b загораются. А карта SD греется?

Вы о каком экране щас? 55"?

Самый обычный. Сейчас  моргае на столе такой -  http://www.dx.com/ru/p/2-8-lcd-touch-shield-module-for-arduino-leaf-maple-raspberry-pi-blue-318034#.VUylfM7W7gs В них тоже есть подсветка и она очень чувствительна к питанию.

... И сд карта у вас в виде батареи на пару киловатт?

Ага, чугунная. Оч остроумно.  Все остальное грется не способно?

 

 

vov4ik
Offline
Зарегистрирован: 10.09.2013

Подключил отдельно модуль микросдкарт всё мерцание пропало, сейчас не понятно от чего он работает питание не подведено подсветку убрать всерано работает но без подсветки.

Посмотрел порта, поскольку тяпает с них, походу экран немного брокованный или я ему питание сжог.

8_TFT_RST  HIGH
 9_TFT_DC  HIGH
10_TFT_CS HIGH
11_MOSI    HIGH
12_MISO    LOW
13_SCK      LOW
Ладно посмотрю мож чего ещё наколдую, отдельно использовать микросдкарт что-то не очень охото.
 
Radjah
Offline
Зарегистрирован: 06.08.2014

Ну самое простое - это запитать всю обвеску от отдельного источника, а потом уже искать барабашек.

Sloper
Sloper аватар
Offline
Зарегистрирован: 30.03.2015

Тоже столкнулся с недостатком SRAM при работе с дисплеем. Помогла вот эта статья: https://learn.adafruit.com/memories-of-an-arduino/optimizing-sram

F() и PROGMEM очень помогают.

vov4ik
Offline
Зарегистрирован: 10.09.2013

Победил для работы тяпает напряжение с 8_TFT_RST, контакт при LOW очищает экран, код который работает в библиотеке

  // toggle RST low to reset; CS low so it'll listen to us
  *csport &= ~cspinmask;
  if (_rst) {
    pinMode(_rst, OUTPUT);
    digitalWrite(_rst, HIGH);
    delay(500);
    digitalWrite(_rst, LOW);
    delay(500);
    digitalWrite(_rst, HIGH);
    delay(500);
  }

почти бесполезная весчь которая тратит пин, в общем карте памяти остаются крохи после экрана, при работе скорей всего просаживала экран из-за чего было моргание, отрывать экран и смотреть что там ещё сгорело не хочется, пользуясь картинкой 

отпаял от платы контакт на 3.3В и на прямую проводком припаял к VCC, от  VCC к  Reset и подал 3.3В всё прекрасно работает.

Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

что куда припаял и что куда тяпает видимо даже после поллитры не понять.

если оторвать пин сброса то перестало моргать?  логично :) а при чем тут питание?

timur23
Offline
Зарегистрирован: 19.05.2015

ребята подскажите как использовать карту памяти на этом дисплее для просмотра изображений

vov4ik
Offline
Зарегистрирован: 10.09.2013

Puhlyaviy пишет:

что куда припаял и что куда тяпает видимо даже после поллитры не понять.

если оторвать пин сброса то перестало моргать?  логично :) а при чем тут питание?

Kototor
Offline
Зарегистрирован: 22.01.2018

Добрый день.

Несколько часов пытаюсь запустить пример:

Logik пишет:

...О ресурсах - библиотека перелопачена, смотрим размер:

#include <TFTLCD.h>
TFTLCD gui;

void setup(void)
{
  gui.reset();
  gui.initDisplay();
  gui.fillScreen(127);
  gui.drawString(0,0,"!!!!!",0,2);
}
void loop(void)
{
}

Библиотека 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&)"

Подскажите, пожалуйста, в чем может быть проблема?

Logik
Offline
Зарегистрирован: 05.08.2014

Чисто случайное совпадение имен библиотеки ))) Я свою не публиковал.

Kototor
Offline
Зарегистрирован: 22.01.2018

) понятно.

А какая библиотека была в начале перелопачивания?

Logik
Offline
Зарегистрирован: 05.08.2014

адафрукт. Что там, что у меня.

Kototor
Offline
Зарегистрирован: 22.01.2018

Может быть подскажите, куда копать?

Планировал убрать всю графику (сразу освобождается место под экранный буфер и т. д.).

Как бы ее (графику) порезать попроще? )

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Цветной дисплей и экранный буфер на Ардуино несовместимы. Так что никакого места освобождаться не может.

Logik
Offline
Зарегистрирован: 05.08.2014

Угу. Именно для того либы доковыривают - чтоб без буферов и прямая работа с портами была.

Kototor
Offline
Зарегистрирован: 22.01.2018

Хорошо.

А если убрать всю графическую часть и оставить только текст, место увеличиться?

Logik
Offline
Зарегистрирован: 05.08.2014

Посмотрите что использует графическая часть- то и освободится. Экраны и их либы разные бывают, надо конкретно смотреть.

Kototor
Offline
Зарегистрирован: 22.01.2018

Нашел вот это:

"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"    ?

%)

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Kototor пишет:

Нашел вот это:

"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 дисплеев - море. Так что подгонка библиотеки под один контроллер не обеспечит возможности работы всех остальных.

Logik
Offline
Зарегистрирован: 05.08.2014

andriano пишет:

 OLED дисплей почти единственный

Уже SH1106 распостраненным стал, так что уже не единственный.

ПС. посмотрел на али.. ох не единственный дисплей уже... https://ru.aliexpress.com/item/2pcs-1-5-inch-color-OLED-Display-screen-w...

Kototor
Offline
Зарегистрирован: 22.01.2018

Logik пишет:

Чисто случайное совпадение имен библиотеки ))) Я свою не публиковал.

Публикация планируется?!? :)

Logik
Offline
Зарегистрирован: 05.08.2014

Нет.

Kototor
Offline
Зарегистрирован: 22.01.2018

andriano пишет:

В принуипе, оттуда можно выкусить алгоритм работы с UTF-8. 

А можно выкусить английский шрифт и оставить только русский?!? %)