Spisu treści:

Timelapse sterowany ruchem: 7 kroków (ze zdjęciami)
Timelapse sterowany ruchem: 7 kroków (ze zdjęciami)

Wideo: Timelapse sterowany ruchem: 7 kroków (ze zdjęciami)

Wideo: Timelapse sterowany ruchem: 7 kroków (ze zdjęciami)
Wideo: Ups. 2024, Lipiec
Anonim
Image
Image
Plan
Plan

Timelapse są świetne! Pomagają nam zajrzeć w wolno poruszający się świat, o którym możemy zapomnieć, aby docenić jego piękno. Ale czasami stały film poklatkowy może być nudny lub dzieje się tak wiele rzeczy, że tylko jeden kąt nie wystarczy. Doprawmy to!

W tej instrukcji pokażę Ci, jak stworzyłem urządzenie, które doda ruch do Twojego timelapse. Zacznijmy!

Krok 1: Plan

Chciałem, aby kamera poruszała się w dwóch kierunkach tj. w osi poziomej(X) i pionowej(Y). Do tego będę potrzebował dwóch silników.

Powinniśmy być w stanie wybrać pozycję początkową i końcową dla obu osi.

Ruch silników byłby taki, aby po każdym zdjęciu osie obracały się o 1 stopień.

Aby uzyskać tak precyzyjną kontrolę, będę używał Servo Motors.

Powinniśmy też być w stanie ustawić interwał czasowy.

Chciałem, aby był przenośny, więc zdecydowałem się uruchomić go na akumulatorze LiPo, co oznacza, że wymagany będzie obwód ładowania i doładowania.

I na koniec mózgiem, który będzie tym wszystkim sterował, będzie Arduino. ATMega328p będzie używany jako samodzielny mikrokontroler.

Poszedłem z kamerą GoPro, ponieważ jest mały i robienie z nią timelapsów jest łatwe. Możesz iść z dowolnym innym małym aparatem lub telefonem komórkowym.

Krok 2: Lista komponentów

Lista komponentów
Lista komponentów
Lista komponentów
Lista komponentów
Lista komponentów
Lista komponentów

1x ATmega328p (z bootloaderem Arduino)

2x MG995 serwomotor

1x konwerter doładowania MT3608

1x moduł ładowania akumulatora LiPo TP4056

1x przełącznik SPDT

1x 16 MHz kryształ

Kondensator 2x 22pF

Rezystor 2x 10k

1x potencjometr (dowolna wartość)

1x przycisk (normalnie otwarty)

Opcjonalny:

drukarka 3d

Krok 3: Projektowanie PCB

Projektowanie PCB
Projektowanie PCB
Projektowanie PCB
Projektowanie PCB
Projektowanie PCB
Projektowanie PCB

Aby obwód był jak najmniejszy, wybrałem płytkę drukowaną. Tablicę możesz wytrawić samodzielnie w domu lub pozwolić profesjonalistom wykonać za Ciebie ciężką pracę i tak właśnie zrobiłem.

Gdy wszystko na płytce prototypowej działa prawidłowo, możemy rozpocząć proces projektowania PCB. Wybrałem EasyEDA do projektowania, ponieważ ułatwia to początkującym, takim jak ja.

Sprawdź, sprawdź i sprawdź! Upewnij się, że niczego nie przegapiłeś. Gdy masz całkowitą pewność, kliknij Wygeneruj plik produkcyjny, aby pobrać pliki Gerber lub możesz go bezpośrednio zamówić w JLCPCB za jedyne 2 $, korzystając z opcji podanej poniżej.

Po otrzymaniu/wykonaniu płytki PCB nadszedł czas, aby ją zapełnić. Przygotuj schemat obwodu i zacznij lutować elementy zgodnie z oznaczeniem sitodruku.

Oczyść PCB po lutowaniu alkoholem izopropylowym, aby usunąć pozostałości topnika.

Krok 4: Łączenie rzeczy

Łączenie rzeczy
Łączenie rzeczy
Łączenie rzeczy
Łączenie rzeczy
Łączenie rzeczy
Łączenie rzeczy
Łączenie rzeczy
Łączenie rzeczy

Nie będziesz potrzebować wymyślnej drukarki 3D. Części można bardzo łatwo zbudować za pomocą odpowiednich narzędzi. Niedawno dostałem drukarkę 3D i chętnie wykorzystałem ją w swoim projekcie. Znalazłem niektóre części z Thingiverse.

Uchwyt GoPro:

Servo Horn:

Przylutuj przewody do wyłącznika zasilania, potencjometru i przycisku z żeńskimi złączami i podłącz je do męskich gniazd na płytce drukowanej.

Pobierz i otwórz załączony plik w Arduino IDE i prześlij kod do swojego Arduino. Po wgraniu kodu wyjmij układ scalony z płytki Arduino i włóż go na płytkę PCB.

/*Autor: IndoorGeek YouTube: www.youtube.com/IndoorGeek Dziękujemy za pobranie. Mam nadzieję, że podoba Ci się projekt. */

#włączać

Serwo xServo;

Serwo ySerwo;

int szpilka = A0;

int val, xStart, xStop, yStart, yStop; wewn przycisk = 2; długi czas bez znakuPrzedział;

pusta konfiguracja () {

pinMode(przycisk, WEJŚCIE); xServo.attach(3); yServo.attach(4); }

pusta pętla () {

oś x(); opóźnienie (1000); xPoczątek = wart; Oś Y(); opóźnienie (1000); yStart = wart; oś x(); opóźnienie (1000); xStop = wart; Oś Y(); opóźnienie (1000); yStop = wart; setTimeInterval(); opóźnienie (1000); timelapseStart(); }

nieważna oś x() {

while(digitalRead(przycisk) != HIGH){ val = analogRead(A0); val = mapa(val, 0, 1023, 0, 180); xServo.write(val); } }

nieważna oś y () {

while(digitalRead(przycisk) != HIGH){ val = analogRead(A0); val = mapa(val, 0, 1023, 0, 180); yServo.write(val); } }

void setTimeInterval(){ //Zmień interwały czasowe zgodnie z ustawieniami timelapse kamery

while(digitalRead(przycisk) != HIGH){ val = analogRead(A0); if(val>=0 && val=171 && val=342 && val=513 && val=684 && val=855 && val<1023){ timeInterval = 60000L; } } }

nieważny timelapseStart(){

unsigned long lastMillis = 0; xServo.write(xStart); yServo.write(yStart); while(xStart != xStop || yStart != yStop){ if(millis() - lastMillis > timeInterval){ if(xStart xStop){ xServo.write(xStart); lastMillis = mili(); xStart--; } if(yStart xStop){ yServo.write(yStart); lastMillis = mili(); yStart--; } } } }

Krok 5: Praca

Pracujący
Pracujący
Pracujący
Pracujący

Włącz główny wyłącznik.

Oś X będzie aktywna. Obróć pulę do pozycji, od której chcesz rozpocząć timelapse. Naciśnij przycisk Wybierz, aby potwierdzić pozycję początkową. Następnie oś Y będzie aktywna. Zrób to samo, aby wybrać pozycję początkową osi Y.

Powtórz powyższą procedurę dla pozycji zatrzymania osi X i Y.

Teraz za pomocą potencjometru wybierz odstęp czasowy między każdym strzałem. Obroty garnka podzielone są na 6 części w odstępach 1s, 2s, 5s, 10 sek, 30 sek i 60 sek. Możesz zmienić interwały w funkcji setTimeInterval(), jak pokazano na rysunku. Naciśnij przycisk Wybierz, aby potwierdzić.

Serwa ustawią się w pozycji wyjściowej i przesuną się o 1 stopień po odstępie czasu.

Sekwencja:

  1. Ustaw pozycję początkową osi X
  2. Ustaw pozycję początkową osi Y
  3. Ustaw pozycję zatrzymania osi X
  4. Ustaw pozycję zatrzymania osi Y
  5. Ustaw przedział czasu

Krok 6: Przyszłe aktualizacje

Przyszłe aktualizacje
Przyszłe aktualizacje

1) Obecnie, ze względu na 1 ujęcie/stopień, najwięcej zdjęć jakie możemy uzyskać to 180, ponieważ serwa mogą obracać się od 0 do 180 stopni. Dodanie kół zębatych zwiększy rozdzielczość. Dzięki temu będziemy mieli więcej ujęć, a co za tym idzie płynne timelapsy. Czuję się całkiem swobodnie z elektroniką, ale nie z mechaniką. Nie mogę się doczekać, aby to poprawić.

2) Potencjometr można zastąpić enkoderem obrotowym.

3) Może sterowanie bezprzewodowe?!

Jest wiele do nauczenia się

Krok 7: Ciesz się

Dziękuję za wytrwanie do końca. Mam nadzieję, że wszyscy kochacie ten projekt i nauczyliście się dzisiaj czegoś nowego. Daj mi znać, jeśli zrobisz dla siebie. Subskrybuj mój kanał na YouTube, aby zobaczyć więcej nadchodzących projektów. Dziękuję raz jeszcze!

Zalecana: