В статье рассмотрена модернизация программного обеспечения открытого проекта поворотного предметного стола для 3D-фото Photopizza. 3D-фото-360— это фотографии предмета со всех сторон, которые пользователь может вращать. Я думаю многие видели такое на страницах продвинутых интернет-магазинов. Использовался открытый проект Photopizza.
Взяв за основу проект полностью изменив программу. По причине:
- использовалась другая элементная база (другая клавиатура, дисплей, драйвер двигателей);
- введен дополнительный функционал для режима снятия 3D-фото-360;
- введен режим калибровки;
- введены дополнительные режимы вращения при использовании платформы в качестве поворотной витрины.
Платформа изготавливалась из ПВХ, т.к. кусками найти нереально, а покупать лист 6 кв.м за 20000 руб это слишком дорого.
Внешний вид поворотной платформы после сборки.
Электрическая схема моего варианта поворотного стола
Функционал. Программы вращения хранятся в памяти EEPROM. Каждая программа имеет следующие настройки
Каждый параметр в памяти EEPROM занимает 2 байта, на программу — 18 байт. 0 и 1 байты EEPROM — общее количество программ.
Была использована следующая клавиатура (используем 9 клавиш) и следующий ИК-пульт (также используем 9 клавиш)
Т.к. в программе 4 режима (просмотра программ, редактирования программ,выполнения программы и режим калибровки) приведу таблицу назначения клавиш в разных режимах.
Клавиша
клавиатуры
Клавиша ИК
пульта
Режим
просмотра
Режим
редактирования
Режим выполнения
программы
Режим калибровки
4
R
Смена режима
(редактирование)
Смена режима
(выполнения)
Смена режима
(просмотр) с продолжением выполнения запущенной программы
5
G
Пред. программа
(просмотр)
Пред. программа
(редактирование)
6
B
След. программа
(просмотр)
След. программа
(редактирование)
7
Добавить программу
Сохранить изменения в программе
8
Пред. параметр
(просмотр)
Пред. параметр
(редактирование)
9
След. параметр
(просмотр)
След. параметр
(редактирование)
*
Удалить тек. программу
Не сохранять изменения в программе
0
Запуск калибровки
Декремент текущего параметра
#
Запуск тек. программы
Инкремент текущего параметра
Смена режима(просмотр)
с прерыванием выполняемой программы
Прерывание калибровки
Зеркальной камеры в наличие нет, поэтому для съемок использовалась видеокамера Sony HDR-SR10E
Снимок делаем либо программно отправкой IR-кода, с помощью инфракрасного светодиода, либо вручную с помощью с помощью проводного пульта.
На данный момент делаю вручную (код отправки ИК-кода задокументирован). Скетч программы можно скачать по ссылке ниже. Использовались библиотеки IRRemote, Keypad, AccelStepper.
Далее копируем фотографии на комп, обрабатываем в фотошоп или gimp (пока этот этап я пропустил).
Для вставки 3D-360 на сайт использую скрипт 3dreader.ru (ссылка последнее время неактивна). И результат можно посмотреть здесь (отменить блокирование всплывающих окон)
Что необходимо доделать, чтобы был более-менее приемлемый результат (непрофессиональный)
Список радиоэлементовОбозначение
Тип
Номинал
Количество
ПримечаниеМагазинМой блокнот
Arduino
Плата ArduinoArduino Nano 3.01
WH1602
LCD-дисплейWH16021
A4988
Драйвер шагового двигателяA49881
NEMA17
Шаговый двигательNEMA171
Клавиатура
Клавиатура матричная 4×41
Пульт ИК1
TSOP3128
ИК — приемникTSOP31281
R1
Резистор подстроечный10 кОм1
R2
Резистор100 Ом1
R3
Резистор1
Конденсатор10 мкФ 16В2
Конденсатор0.1 мкФ3
T1
Транзистор1
DIR1
Инфракрасный светодиод1
Добавить все
Скачать список элементов (PDF)
Прикрепленные файлы:
- photopizza_23_cxemnet.zip (7 Кб)