Дисплей с мультиками.

batja

✩✩✩✩✩✩✩
9 Фев 2021
1
0
71
Уважаемые форумчане. У меня есть дисплей от сгоревшего планшета. Можно ли на основе ардуино и дисплея сделать детскую игрушку с мультфильмами.
Накачать на карту памяти мультики и пусть ребенок смотрит.
Может есть уже готовые наработки подскажите где их можно найти.
С Уважением Владимир Кузнецов.
 

Старик Похабыч

★★★★★★★
14 Авг 2019
4,263
1,301
Москва
Скорее всего скорости ардуины не хватит для приличного воспроизведения. Например ардуина может брать с камеры данные и выводить на дисплей 160на120 максимум 15 кадров в секунду. А еще нужно звук декодировать. Так что надо смотреть что то более производительное.
 

IamNikolay

★★★✩✩✩✩
15 Янв 2020
820
175
Можно, но не на ардуино, ориентировочно около 1-2 т.р.(в зависимости от функционала) необходимые компоненты стоят
 

Lumenjer

★★★✩✩✩✩
10 Дек 2020
220
112
@batja, Может что то такое подойдет?
Только поискать варианты с нужным функционалом (с поддержкой USB\MicroSD, например)
 

Геннадий П

★★★★★★✩
14 Апр 2021
1,969
632
44
Ардуина однозначно нет. STM32 - разве что только старшие модели. Проще всего на малине сделать, возможно даже и тач попробовать прикрутить, но нужно смотреть какой интерфейс у дисплея.
 

PiratFox

★★★★★✩✩
13 Фев 2020
1,706
474
Проще всего на малине сделать
Это да, но по цене в итоге выйдет в разы дороже простенького планшета. Можно попробовать на Arduino DUE, но таким разве что из интереса заниматься, да и то знающему инженеру, от нечего делать... ;)
 
Изменено:

Первопечатник

✩✩✩✩✩✩✩
14 Ноя 2021
5
6
У планшетов как правило дисплей с LVDS (low-voltage differential signaling) интерфейсом, и чтобы его куда-то подключить, нужен преобразователь сигналов. А во вторых, при размере пусть даже 1280х800 RGB-точек вам потребуется для хранения и отрисовки одного кадра таааакоооой размер ОЗУ (3 МБ), что ни одна Ардуйня не справится. И уж тем более, что отрисовка картинки ведется в реальном времени. Остановка отрисовки вызовет пропадание всего изображения вообще. И это еще про статичные картинки говорю! А когда "мультики" начнете показывать, вам понадобится как минимум декодер видеоформатов, от которого Ардуйня просто выстрелит все свои транзисторы нафик :))
Даже Малина общается с большими дисплеями через стандартный HDMI. И это при том, что в Малине стоит 4-ядерный 1.5-гигагерцевый процессор и 4 гига оперативки. А в Ардуине что стоит?
 
  • Лойс +1
Реакции: PiratFox

i3epg

✩✩✩✩✩✩✩
9 Окт 2021
34
5
Красноярск
На ардуине можно примерно вот так:

Частота кадров около 0.5Гц.
И мультики надо предварительно нарезать на кадры bmp.
И разрешение 640*480*256.
И ещё не известно, что там за дисплей и какой у него протокол.
Но можно, да.
 
  • Ахах! +1
Реакции: Lumenjer

Первопечатник

✩✩✩✩✩✩✩
14 Ноя 2021
5
6
Да ерунда это, пасаны. У ЖК-монитора внутренняя электроника отвечает за непрерывную работу матрицы и обеспечивает пиксельную и кадровую непрерывную развертку и при пропадании синхросигналов с VGA-входа матрица работает от внутренних генераторов, выводя синий или черный цвет с надписью "Проверьте кабель", сформированный внутренней логикой. А голая матрица, у которой есть только шлейф, требует непрерывного поступления тактовых сигналов пиксельной и кадровой развертки, как в кинескопном телике. И вместе с ними должен синхронно идти непрерывный поток байтов изображения, составляющего полный кадр размером в (ширина х высота дисплея) пикселей. Такие скорости для больших дисплеев даже STM32H747 едва-едва обеспечивает, да и то с внешней SDRAM-памятью. А вы на Ардуине хотите мультики. Ну-ну. Вы еще попробуйте написать программно все эти хотелки то. Мультиформатный декодер видеофайлов.. ога-ога...
 
Изменено:

i3epg

✩✩✩✩✩✩✩
9 Окт 2021
34
5
Красноярск
@Первопечатник, Так смотря что понимать под "мультиками". ))
Спектрум думаю у многих людей 30+ был, у него был процессор Zilog Z80, с тактовой частотой 3,5МГц. За видеовывод отвечала спецмикросхема ULA, БМК по русски, в эксСССР её отреверсили и сначала заменили простой логикой. И на этой схеме вполне динамичные игры делали с выводом на телевизор, в котором также не было никаких контроллеров. Разрешение низкое было, 256*192 и цвета назначались только для блоков 8*8 пикселей, но это исключительно из-за экономии памяти, потому как немного изменив схему можно было выводить цвет для блока 8*1 пиксель.
Так что на вопрос "Можно ли сделать на ардуино и дисплее показывалку мультиков?" возможно ответить утвердительно. Дорого, долго, нафиг не нужно, т.к. схема вывода на экран будет больше самой ардуины раз в цать, если это будет не БМК какой-нибудь за много $$$$.
А вот воспроизвести мульт имея только лишь дуню и дисплей, хотя бы в HD качестве, со звуком, да ещё и в реал-тайме декодируя MPEG4 нет, нельзя.
 

Геннадий П

★★★★★★✩
14 Апр 2021
1,969
632
44
@i3epg, Не путайте две абсолютно разные вещи. На Спектрумах все рисовалось с помощью программы (пример - "демки", где на малом объеме памяти делались потрясающие ролики, да еще и с музыкой). Сейчас же видео - это по сути меняющиеся картинки (пожатые специальным алгоритмом, но в итоге это картинки)
 

Первопечатник

✩✩✩✩✩✩✩
14 Ноя 2021
5
6
@i3epg,да без разницы, что подразумевается под "мультиками". Я говорю о том, как работает голая ЖК-матрица. Она работает, как кинескоп в старом телике - то есть ей постоянно нужен поток графических данных с частотой горизонтального сканирования пикселей. Помните, как в кинескопном телике если отключить провода от катушек отклониения луча, в центре образовывалась яркая мелкая точка? Вот в ЖК-матрице так же, только через сотню миллисекунд после остановки пиксельного клока весь дисплей начинает бледнеть и через секунду становится полностью белым. Это особенность работы TFT. Как только прекратилась регенерация пикселей, они возвращаются в исходное состояние до уровня прозрачности экрана.
Из-за этого эффекта есть и ограничение на минимальную частоту кадров - 60 Гц - это кадровая частота, при которой становится уже незаметно мерцание от деактивации пикселей. На больших размерах частоты 60 уже недостаточно, потому появляются 120, 240 Гц кадровой развертки. Но чем выше кадровая частота, тем быстрее пробегают пиксели и тем быстрее нужно выдавать графические данные в матрицу. Например, 1024х768 пикселей при 60 Гц требует пиксельной частоты 55-60 МГц, с учетом специальных неотображаемых полей по краям дисплея.
И чтобы с этим справиться, нужны нехилые вычислительные ресурсы, потому как нужно не только выдавать данные, но еще их и подготовить. Ардуине это не под силу.
 

i3epg

✩✩✩✩✩✩✩
9 Окт 2021
34
5
Красноярск
@Геннадий П, Программой лишь менялись данные в ОЗУ, к которой был доступ у видеоконтроллера и у ЦП. Выводом этих данных на телевизор заведовала либо БМК, либо рассыпуха.

@Первопечатник, Вот как раз подготовкой и должна заниматься атмега в данном случае. А выводом изображения либо опять же БМК/ПЛИС и т.п., либо тупо кучка мелкой логики.
 

PiratFox

★★★★★✩✩
13 Фев 2020
1,706
474
Господа-товарищи инженеры. Ну давайте не будем путать какой-то разовый программный вывод одной картинки на дисплей и воспроизведение видео из файла. Это, как говорят в Одессе, две большие разницы Но это ладно, я сейчас не о том.. ТС нужно(ну, я так понял) прицепить что-то к дисплею, который у него остался от поломанного планшета, и его жалко выбрасывать. Ну, чтоб его ребёнок видео смотрел, в частности мультики. Видимо, на новый планшет денег жалко. И это бы ладно. А уважаемый ТС не подумал о том, что сконструяченная и собранная им конструкция будет, эээ... несколько неудобна для ребёнка.
 
Изменено:

Первопечатник

✩✩✩✩✩✩✩
14 Ноя 2021
5
6
@i3epg, так какая вам Мега справится с таким то, издеваетесь чтоль? :)Подобные затеи с большими (по числу пикселей) по силам только STM32F, H и выше. Да, встречаются энтузиасты, клепающие поделки на мелкоконтроллерах, но это такой дрэк, что ну ево нафик. Тут же в теме - отдельная голая ЖК-матрица, предназначенная под мощный процессор.

@rkit, все в курсе. Но чтобы еёйную сделать, нужно как раз сделать драйвер LVDS-уровней, генератор пиксельной и кадровой развертки и SRAM (SDRAM) буфер на один кадр изображения, который будет постоянно гнать в дисплей этот кадр. И только тогда уже с помощью какой-нить Меги в час по чайной ложке можно чето там пилякать, выдавая в "видеокарту". Причем, для формирования картинки в размере 1280х800 RGB-пикселей с более-менее приемлимой частотой обновления опять же нужны нехилые ресурсы.
 

i3epg

✩✩✩✩✩✩✩
9 Окт 2021
34
5
Красноярск
@Первопечатник, Я ж ещё раз говорю, Z80 справлялся с обновлением видеопамяти за приемлемое время. С его 3,5МГц и выполнением инструкции за 4 такта, то есть фактически за 3,5/4=0,875 * 10^6 инструкций в секунду. У атмеги сколь частота? 16МГц, пусть в среднем 2 такта на инструкцию, итого 8 * 10^6 инструкций в секунду. В 10 раз быстрее зилога, вполне достаточно ресурсов.
А вот для вывода этих данных уже на дисплей ресурсов меги, да и СТМов не хватит, для этого надо делать видеоконтроллер. И никто не делает его на МК.
 

PiratFox

★★★★★✩✩
13 Фев 2020
1,706
474
@i3epg, Вы это серьёзно? А Вы знаете, что такое RISC? Смысл в том, что короткие команды, которые исполняются за один такт преобладают. Так вот, к Z80 это не относится. Хотя бы команда LDIR исполняется за кучу тактов процессора. Нах.... такая команда, ну в самом деле... Не нужна такая...
 
Изменено:

i3epg

✩✩✩✩✩✩✩
9 Окт 2021
34
5
Красноярск
@PiratFox, При чём здесь вообще это? Речь совсем не об архитектуре процессора.
PS Или вы про то, что на РИСКовской архитектуре все инструкции выполняются за один такт? Это совсем не так.
 
Изменено:

Геннадий П

★★★★★★✩
14 Апр 2021
1,969
632
44
@i3epg, дело не в том что проц справляется или нет, вы сравниваете две абсолютно разные вещи. У Спектрума прямой вывод изображения из памяти, не затрачивается процессорное время. Контроллерам типа стм/атмега и пр. это недоступно, у них чтобы вывести изображение нужно процессору затратить время на доступ данных из памяти и вывод их на перефирию.
Я не говорю что быстрей и что медленней, просто две вещи абсолютно по разному работают и сравнивать их между собой немного не корректно.
 

i3epg

✩✩✩✩✩✩✩
9 Окт 2021
34
5
Красноярск
@Геннадий П, Так и для голого z80 это не доступно, вся реализация вывода изображения из памяти реализована внешним видеоконтроллером. Контроллер не программный, а аппаратный. А z80 оперирует лишь байтами в памяти.
Та же ситуация и здесь, если поменять условный z80 на ту же условную атмегу, то "мультики" (не просто так я их поставил в кавычки) показывать можно, вопрос их качества - это уже другой вопрос.:)
 

IamNikolay

★★★✩✩✩✩
15 Янв 2020
820
175
@batja, Я же написал - цена вопроса 1-2 т.р. либо скалер купить либо одноплатник с LVDS выходом и готово, будет дальше работать. Если же сумма кажется большой для старого планшета - можно купить скалер дешевле, но в нем уже не будет юсб, а только VGA вход, т.е. как 2 монитор к ПК можно будет использовать, что тоже неплохо.
 

poty

★★★★★★✩
19 Фев 2020
3,230
940
@i3epg, у Z80 память внешняя, а у МК - внутренняя. В этом разница. Чтобы внешнему видеоконтроллеру обратиться к внешней памяти - ему не нужен процессор. Для МК это недоступно.
Потом не стоит забывать, что информация в памяти Z80 полностью отрисовывается самим процессором, т.е., формально в каждый момент меняется только маленькая область экрана. Для видеопотока этого сделать практически невозможно без дополнительной мощности процессора.
Адресуемая память Z80 = 64кбайт. Даже при 256 бит/пиксель при полном заполнении памяти максимальное разрешение составит 295х221 пикселей. Дитё-то будет радо!
Чтобы принять такой поток при максимальном разрешении Z80 нужна частота примерно 12,5МГц, чтобы отдать - аналогично. Итого = 25МГц. Никакой Z80 здесь не сдюжит совсем.
 
Изменено:

poty

★★★★★★✩
19 Фев 2020
3,230
940
@i3epg, подключить-то можно, только скорость обмена с ней будет черепашьей.