Исходный код
- photoTurntable.ino
-
// Характеристика двигателя, // количество шагов на один оборот вала #define MOTOR_STEPS_REVOLUTION 200 // Передаточный коэффициент шестерёнок #define GEAR_COEFFICIENT 2 // Итоговое количество шагов на один оборот столика #define STEPS_REVOLUTION GEAR_COEFFICIENT * MOTOR_STEPS_REVOLUTION // Необходимое количество кадров за один оборот #define SHOTS 40 // Количество шагов двигателя между снимками #define STEPS_ON_SHOT STEPS_REVOLUTION/SHOTS // Выдержка времени между шагами. // Чем больше это число, тем медленнее вращается двигатель #define DELAY_TIME 8 // Назначим пины // Troyka-Stepper: // Шаг двигателя #define STEP 5 // Направление вращения #define DIR 6 // Включение двигателя #define EN 7 // Реле. При срабатывании включает затвор фотоаппарата #define SHOT 8 void setup() { // Настроим все необходимые пины на выход for (int i = STEP; i <= SHOT; ++i) { pinMode(i, OUTPUT); } } void loop() { // Включаем мотор digitalWrite(EN, HIGH); // Для каждого из необходимого количества снимков... for (int i = ; i < SHOTS; ++i) { // Ждём 500 мс, чтобы столик остановился delay(500); // Замыкаем реле, происходит съёмка digitalWrite(SHOT, HIGH); delay(200); // Размыкаем реле digitalWrite(SHOT, LOW); // Выдержка, чтобы фотоаппарат успел записать снимок на карту delay(1000); // Поворачиваем столик на необходимое количество шагов for (int i = ; i < STEPS_ON_SHOT; ++i) { // Один шаг digitalWrite(STEP, HIGH); delay(DELAY_TIME); digitalWrite(STEP, LOW); delay(DELAY_TIME); } } // После завершения съёмки отключаем двигатель digitalWrite(EN, LOW); // Завершаем работу. // Чтобы возобновить работу нужно нажать кнопку RESET while (true) { ; } }
Как это собрать?
- Установите в боковые отверстия стойки для печатных плат и закрепите их винтами M3×10. Эти стойки будут выполнять роль ножек.
-
Установите винты M3×15 в Arduino Uno. Закрутите на них гайки, чтобы получилась подставка между Arduino Uno и акриловым корпусом. Установите Arduino Uno в предназначенные для платы отверстия в акриле. Крайний винт закрепите стойкой для печатных плат, на оставшиеся винты закрутите гайки.
-
Установите Troyka-модули в предназначенные для них отверстия. Закрепите их винтами M3×10.
-
Установите на Arduino Uno Troyka Shield. В пин Vin вставьте красный провод «папа-папа», а в пин GND — чёрный. Второй конец красного провода установите в колодку «+» Stepper’а. Второй конец чёрного провода установите в колодку «-» Stepper’а. Зафиксируйте контакты в колодке винтами. Установите 3-х проводные шлейфы в тройки контактов 5, 6, 7 и 8 Troyka Shield’а. Вторые концы шлейфов просуньте в отверстие рядом с Arduino и обмотайте вокруг перешейка, чтобы избавиться от болтающихся проводов.
-
Соедините шлейфы с Troyka-модулями. Troyka-Stepper: 5 пин — step, 6 пин — direction, 7 пин — enable. Troyka-Реле — 8 пин.
-
Слегка отшлифуйте большое отверстие в корпусе столика и два маленьких круга мелкой шкуркой. Немного смажьте отверстие смазкой. Возьмите большой акриловый круг с тремя отверстиями под винт. С помощью сверла или крестовой отвёртки снимите в отверстиях фаску под винты с потайной головкой. Вставьте винты M3×25 с потайной головкой в отверстия и наденьте на них два маленьких круга. Переверните столик, в большое отверстие проденьте получившийся бутерброд и наденьте сверху большую шестерёнку. Затяните винты гайками.
-
Прикрутите к маленькой шестерёнке втулку мотора винтами M3×10.
-
Установите шаговый мотор в предназначенное для него отверстие валом вниз. Зафиксируйте мотор одним винтом M3×15 так, чтобы он мог с натяжкой ходить в отверстии.
-
Наденьте на вал мотора маленькую шестерёнку и отрегулируйте положение мотора таким образом, чтобы шестерёнки были прижаты друг к другу. Придерживая мотор, снимите маленькую шестерёнку и окончательно закрепите мотор в нужном положении винтами.
-
Закрепите маленькую шестерёнку на валу мотора на высоте большой шестерёнки при помощи шестигранного штифтового ключа, идущего в комплекте с втулкой.
-
Соедините провода мотора с колодками «1234» Troyka-Steppera. Белый и жёлтый провода мотора нам не понадобятся, ведь мы используем униполярный шаговый двигатель в биполярном режиме. Поэтому их можно просто откусить и заизолировать.
-
Необходимо прикрутить провода, отвечающие за автоспуск к колодкам Troyka-Реле. Провода нужно присоединить к контакту «COM» и «NO».
-
Готово! Теперь наш вращающийся столик выглядит вот так: