Innholdsfortegnelse:

Bevegelseskontrollert timelapse: 7 trinn (med bilder)
Bevegelseskontrollert timelapse: 7 trinn (med bilder)

Video: Bevegelseskontrollert timelapse: 7 trinn (med bilder)

Video: Bevegelseskontrollert timelapse: 7 trinn (med bilder)
Video: New Super Mario Bros. U Deluxe ALL Worlds ALL Star Coins - Полная игра 100% Прохождение 2024, November
Anonim
Image
Image
Planen
Planen

Timelapses er flotte! De hjelper oss med å ta en titt på den sakte bevegelige verden, som vi kanskje glemmer å sette pris på skjønnheten i den. Men noen ganger kan en jevn timelapse -video være kjedelig, eller det skjer så mange ting rundt at bare en vinkel ikke er tilstrekkelig. La oss krydre det!

I denne instruksen vil jeg vise deg hvordan jeg har laget en enhet som vil legge til bevegelse i timelapse. La oss komme i gang!

Trinn 1: Planen

Jeg ønsket at kameraet skulle bevege seg i to retninger, dvs. i horisontal (X) og vertikal (Y) akse. For det trenger jeg to motorer.

Vi bør kunne velge start- og stopposisjon for begge aksene.

Motorens bevegelse ville være slik at aksene etter hvert foto skulle snu med 1 grad.

For å få så presis kontroll vil jeg bruke Servomotorer.

Vi bør også kunne angi tidsintervallet.

Jeg ville at den skulle være bærbar, så jeg bestemte meg for å kjøre den på et LiPo -batteri, noe som betyr at lading og boostkrets vil være nødvendig.

Og til slutt vil hjernen for å kontrollere alt dette være Arduino. ATMega328p vil bli brukt som en frittstående mikrokontroller.

Jeg gikk med et GoPro -kamera, ettersom det er lite, og det er enkelt å ta timelapses med det. Du kan gå med et annet lite kamera eller mobiltelefonen din.

Trinn 2: Liste over komponenter

Liste over komponenter
Liste over komponenter
Liste over komponenter
Liste over komponenter
Liste over komponenter
Liste over komponenter

1x ATmega328p (med Arduino bootloader)

2x MG995 servomotor

1x MT3608 Boost -omformer

1x TP4056 LiPo batterilademodul

1x SPDT -bryter

1x 16 MHz krystall

2x 22pF kondensator

2x 10k motstand

1x potensiometer (hvilken som helst verdi)

1x trykknapp (normalt åpen)

Valgfri:

3D -skriver

Trinn 3: Utforming av kretskortet

Design av kretskortet
Design av kretskortet
Design av kretskortet
Design av kretskortet
Design av kretskortet
Design av kretskortet

For å gjøre kretsen så liten som mulig, gikk jeg med et kretskort. Du kan etse brettet selv hjemme eller la fagfolkene gjøre det harde arbeidet for deg, og det er det jeg gjorde.

Når alt fungerer rett på brødbrettet, kan vi starte med PCB -designprosessen. Jeg valgte EasyEDA for å designe, da det gjør ting enkelt for nybegynnere som meg.

Sjekk, sjekk og sjekk! Sørg for at du ikke gikk glipp av noe. Når du er helt sikker, klikker du på Generer fabrikasjonsfil for å laste ned Gerber -filene, eller du kan bestille den direkte fra JLCPCB for bare 2 $ ved å bruke alternativet nedenfor.

Når du mottar/lager PCB -en, er det på tide å fylle den ut. Hold kretsdiagrammet klart og begynn å lodde komponentene i henhold til silketrykket.

Rengjør kretskortet etter lodding med Iso Propyl Alcohol for å fjerne fluksresten.

Trinn 4: Å sette ting sammen

Å sette ting sammen
Å sette ting sammen
Å sette ting sammen
Å sette ting sammen
Å sette ting sammen
Å sette ting sammen
Å sette ting sammen
Å sette ting sammen

Du trenger ikke en fancy 3D -skriver. Delene kan lett bygges med riktige verktøy. Jeg har nylig fått en 3D -skriver og var ivrig etter å bruke den i prosjektet mitt. Jeg fant noen av delene fra Thingiverse.

GoPro Mount:

Servo Horn:

Loddetråder til strømbryteren, gryte og trykknapp med hunnhoder og koble dem til hannhodene på kretskortet.

Last ned og åpne den vedlagte filen i Arduino IDE og last opp koden til Arduino. Etter at du har lastet opp koden, fjerner du IC -en fra Arduino -kortet og setter den inn på PCB -en.

/*Forfatter: IndoorGeek YouTube: www.youtube.com/IndoorGeek Takk for at du lastet ned. Håper du liker prosjektet. */

#inkludere

Servo xServo;

Servo yServo;

int potPin = A0;

int val, xStart, xStop, yStart, yStop; int -knapp = 2; usignert lang tidInterval;

ugyldig oppsett () {

pinMode (knapp, INNGANG); xServo.attach (3); yServo.attach (4); }

void loop () {

xAxis (); forsinkelse (1000); xStart = val; yAxis (); forsinkelse (1000); yStart = val; xAxis (); forsinkelse (1000); xStop = val; yAxis (); forsinkelse (1000); yStop = val; setTimeInterval (); forsinkelse (1000); timelapseStart (); }

void xAxis () {

mens (digitalRead (knapp)! = HIGH) {val = analogRead (A0); val = kart (val, 0, 1023, 0, 180); xServo.write (val); }}

ugyldig yAxis () {

mens (digitalRead (knapp)! = HIGH) {val = analogRead (A0); val = kart (val, 0, 1023, 0, 180); yServo.write (val); }}

void setTimeInterval () {// Endre tidsintervallene i henhold til kameraets timelapse -innstillinger

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

void timelapseStart () {

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

Trinn 5: Arbeid

Jobber
Jobber
Jobber
Jobber

Slå PÅ hovedbryteren.

X-aksen vil være aktiv. Vri potten til posisjonen der du vil starte timelapse. Trykk på Select -knappen for å bekrefte startposisjonen. Etter det vil Y-aksen være aktiv. Gjør det samme for å velge startposisjonen for Y-aksen.

Gjenta prosedyren ovenfor for stopp -posisjonen for X- og Y -aksen.

Nå, ved å bruke potten, velg tidsintervallet mellom hvert skudd. Rotasjonen av potten er delt inn i 6 deler i intervaller 1 sek, 2 sek, 5 sek, 10 sek, 30 sek og 60 sek. Du kan endre intervallene i setTimeInterval () -funksjonen som vist på bildet. Trykk på Select -knappen for å bekrefte det.

Servoene kommer til startposisjonen og beveger seg med 1 grad etter tidsintervallet.

Sekvens:

  1. Angi startposisjon for X-aksen
  2. Angi startposisjon for Y-aksen
  3. Angi stoppunktet for X-aksen
  4. Still inn stoppstilling for Y-aksen
  5. Angi tidsintervallet

Trinn 6: Fremtidige oppgraderinger

Fremtidige oppgraderinger
Fremtidige oppgraderinger

1) For øyeblikket, på grunn av 1 skudd/grad, er det flest antall bilder vi kan få 180 da servoer kan rotere fra 0 til 180 grader. Ved å legge til gir vil oppløsningen øke. Dermed vil vi få flere bilder og dermed jevne tidsforløp. Jeg er ganske komfortabel med elektronikk, men ikke så mye med mekaniske ting. Ser frem til å forbedre den.

2) Potensiometeret kan erstattes av en roterende encoder.

3) Trådløs kontroll, kanskje ?!

Det er mye å lære

Trinn 7: Kos deg

Takk for at du holdt ut til slutten. Håper dere alle liker dette prosjektet og lærte noe nytt i dag. Gi meg beskjed hvis du lager en selv. Abonner på YouTube -kanalen min for flere kommende prosjekter. Takk igjen!

Anbefalt: