Модернизация поворотного стола для 3D-фото

В статье рассмотрена модернизация программного обеспечения открытого проекта поворотного предметного стола для 3D-фото Photopizza. 3D-фото-360— это  фотографии предмета со всех сторон, которые пользователь может вращать. Я думаю многие видели такое на страницах продвинутых интернет-магазинов. Использовался открытый проект Photopizza.

Взяв за основу проект полностью изменив программу. По причине:

  • использовалась другая элементная база (другая клавиатура, дисплей, драйвер двигателей);
  • введен дополнительный функционал для режима снятия 3D-фото-360;
  • введен режим калибровки;
  • введены дополнительные режимы вращения при использовании платформы в качестве поворотной витрины.

Платформа изготавливалась из ПВХ, т.к. кусками найти нереально, а покупать лист 6 кв.м за 20000 руб это слишком дорого.

Внешний вид поворотной платформы после сборки.

Электрическая схема моего варианта поворотного  стола

Функционал. Программы вращения хранятся в памяти EEPROM. Каждая программа имеет следующие настройки

  1. поворот платформы (угол поворота от начальной
  2. шаг (в градусах)
  3. скорость
  4. направление ( — влево,+ вправо, +-, -+)
  5. количество повторений поворота — если 0 — бесконечно
  6. съемка автомат на каждом шаге — yes,no
  7. пауза после каждого шага — yes,no
  8. резерв
  9. длительность паузы — мс

Каждый параметр в памяти 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 (ссылка последнее время неактивна). И результат можно посмотреть здесь (отменить блокирование всплывающих окон)

Что необходимо доделать, чтобы был более-менее приемлемый результат (непрофессиональный)

  1. переход на Bluetooth управление с телефона Android;
  2. автоматизировать калибровку (добавить датчики Холла);
  3. покупка простой зеркальной камеры и недорогого оборудования для съемки (прожектора, стойки);
  4. обработка фото в фотошопе.

Список радиоэлементов

Обозначение Тип Номинал Количество Примечание Магазин Мой блокнот
Arduino Плата Arduino Arduino Nano 3.0 1
WH1602 LCD-дисплей WH1602 1
A4988 Драйвер шагового двигателя A4988 1
NEMA17 Шаговый двигатель NEMA17 1
Клавиатура Клавиатура матричная 4×4 1
Пульт ИК 1
TSOP3128 ИК — приемник TSOP3128 1
R1 Резистор подстроечный 10 кОм 1
R2 Резистор 100 Ом 1
R3 Резистор 1
Конденсатор 10 мкФ 16В 2
Конденсатор 0.1 мкФ 3
T1 Транзистор 1
DIR1 Инфракрасный светодиод 1