Как можно отправить зип файл з фотографиями для просмотра его на экране 640*480 с помощью ардуино?

manowarrior
Offline
Зарегистрирован: 09.11.2017

Есть экранчик от телефона подключенный к ардуино. Нужно отправить из пк зип файл с некотрым количеством фотографий, для просмотра на экране, и сменой фотографий раз в 3 секунды.

Как это можно реализовать? Подскажите

b707
Offline
Зарегистрирован: 26.05.2017

купите обычную китайскую фоторамку - будет быстрее и несравнено качественнее.

Если настаиваете на ардуине - сначала сравните размер матрицы 640*480 (примерно 300к) с размером памяти типичной ардуины - 2К. Ваша задачка сродни идее вычерпать пруд ведрами. В принципе можно, но долго и глупо.

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

Делалл на 320*240. Фотки конвертил в bmp с родным для экрана разрешением и глубиной цвета. Заливал их на SD, откуда и извлекал. Размер ОЗУ ардуины в 2К вобще никаким боком тут. Картинка транзитом проходит на экран, без сохранения целиком в ОЗУ. За пару секунд картинка перерисовывалась. Через uart будет аналогично, но еще медленей, секунд 10 на 115200. Про zip советую забыть вобще.

b707
Offline
Зарегистрирован: 26.05.2017

Logik пишет:

Делалл на 320*240.  За пару секунд картинка перерисовывалась. Через uart будет аналогично, но еще медленей, секунд 10 на 115200.

ТС хочет размер 640х480, то есть в 4 раза больше. Итого имеем что-то типа 8-10сек на одну картинку с SD. На скорости 115200 это будет примерно 24 - 30 секунд. Это при условии 1 байт на пиксель - то есть в совершенно отвратном качетсве.

ИМХО, идея изначально бредовая.

 

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

Согласен, для 640*480*16бит, это 5Мбит почти, нужно чтото побыстрей чем uart. А с SD не все ясно. Там по SPI можна вроде и быстрей работать. Скорей всего тормозня из-за кривой либы. Возможно удастся и ускорится существенно. Но это явно не для ТС задача.

manowarrior
Offline
Зарегистрирован: 09.11.2017

Картинки чёрно-белые будут, так задумано!) Это ведь упростит задачу, ведь так?

 

manowarrior
Offline
Зарегистрирован: 09.11.2017

https://www.youtube.com/watch?v=uhGwFF9nYvw

Вот. Так хоть проще понятно для чего и как функционирует.

manowarrior
Offline
Зарегистрирован: 09.11.2017

Могу еще схемку показать. Вот такая штуковина. https://cdn.hackaday.io/images/1767861469277151962.png Думаю сделать через Ардуино. Так как в информации которую нашёл, мужик делал всё на ардуино. Занятный  3д принтер выходит.

А почему собственно зип файл? Не знаю, можно и без него. Слайсер ( программа для 3д принтера, грубо), это дело всё на выходе кидает в зип. Можно конечно и просто напрямую посылать. Как всё подключить и скоординировать я более-мение представляю, не представляю только как подключить программу напрямую в ардуино для передачи данных фото в один конец.

DenSyo
Offline
Зарегистрирован: 13.01.2017

вам не фотографии в зип-файл класть надо, а формат хранения ч/б картинок нормальный по сжатию и производительности его чтения нужен. судя по вашей картинке старый добрый PCX вполне сгодится - к примеру первый бит каждого байта задает цвет, оставшиеся 7 длину линии. можно задать дельту, не один байт выделять на блок, а произвольного размера в зависимости от оценки картинки. 

manowarrior
Offline
Зарегистрирован: 09.11.2017

а чем хуже PNG? он же поддерживает прозрачный фон...

DenSyo
Offline
Зарегистрирован: 13.01.2017

у вас есть готовое решение вывода PNG на экран? вы удовлетворены его производительностью? в таком случае нет никакого смысла прятать их дополнительно в зип-файл, там уже применены точно такие же алгоритмы сжатия. если готового решения нет, не заморачивайтесь с PNG, он избыточен для вашего случая и тяжел для процессора ардуины

PS я не предлагаю вам использовать готовый формат картинок. я предлагаю создать собственный, как вариант, похожий по логике на PCX. такой подход даст максимальную производительность при меньшем использовании памяти. и наверняка такой подход уже реализован, надо только поискать...

http://we.easyelectronics.ru/Soft/szhatie-monohromnyh-kartinok---izobretaem-pcx.html

 

sadman41
Offline
Зарегистрирован: 19.10.2016

Не вижу никакого смысла в данном случае геморроится с ардуиной при возможности использования Raspberry. Конечно, если вы хотите самостоятельно написать unzip- и png-библиотечки под ардуину, то велком, как говорится...