Inhoudsopgave:

Bewegingsgestuurde timelapse: 7 stappen (met afbeeldingen)
Bewegingsgestuurde timelapse: 7 stappen (met afbeeldingen)

Video: Bewegingsgestuurde timelapse: 7 stappen (met afbeeldingen)

Video: Bewegingsgestuurde timelapse: 7 stappen (met afbeeldingen)
Video: Hoe werkt de Black & Decker Gyro Driver - Bewegingsgestuurde schroevendraaier? 2024, December
Anonim
Image
Image
Het plan
Het plan

Time-lapses zijn geweldig! Ze helpen ons een kijkje te nemen in de langzaam bewegende wereld, waarvan we de schoonheid ervan misschien vergeten te waarderen. Maar soms kan een gestage timelapse-video saai zijn of gebeuren er zoveel dingen in de buurt dat slechts één hoek niet voldoende is. Laten we het op smaak brengen!

In deze Instructable zal ik je laten zien hoe ik een apparaat heb gemaakt dat beweging aan je timelapse zal toevoegen. Laten we beginnen!

Stap 1: Het plan

Ik wilde dat de camera in twee richtingen zou bewegen, namelijk in de horizontale (X) en verticale (Y) as. Daarvoor heb ik twee motoren nodig.

We zouden de start- en stoppositie voor beide assen moeten kunnen kiezen.

De beweging van de motoren zou zodanig zijn dat na elke foto de assen 1 graad zouden moeten draaien.

Om zo'n nauwkeurige controle te krijgen, zal ik servomotoren gebruiken.

Ook moeten we het tijdsinterval kunnen instellen.

Ik wilde dat het draagbaar was, dus besloot ik het op een LiPo-batterij te gebruiken, wat betekent dat een oplaad- en boostcircuit vereist is.

En tot slot, het brein om dit alles te controleren, zal Arduino zijn. ATMega328p zal worden gebruikt als een zelfstandige microcontroller.

Ik ging met een GoPro-camera omdat deze klein is en er gemakkelijk time-lapses mee kunnen worden gemaakt. U kunt gaan met elke andere kleine camera of uw mobiele telefoon.

Stap 2: Lijst met componenten

Lijst met componenten
Lijst met componenten
Lijst met componenten
Lijst met componenten
Lijst met componenten
Lijst met componenten

1x ATmega328p (met Arduino-bootloader)

2x MG995 servomotor

1x MT3608 Boost-converter

1x TP4056 LiPo-batterijoplaadmodule

1x SPDT-schakelaar

1x 16 MHz kristal

2x 22pF condensator

2x 10k Weerstand

1x Potentiometer (elke waarde)

1x Drukknop (Normaal Open)

Optioneel:

3D-printer

Stap 3: De printplaat ontwerpen

De printplaat ontwerpen
De printplaat ontwerpen
De printplaat ontwerpen
De printplaat ontwerpen
De printplaat ontwerpen
De printplaat ontwerpen

Om de schakeling zo klein mogelijk te maken, ging ik voor een printplaat. Je kunt het bord zelf thuis etsen of de professionals het harde werk voor je laten doen en dat is wat ik deed.

Wanneer alles goed werkt op het breadboard, kunnen we beginnen met het PCB-ontwerpproces. Ik koos EasyEDA voor het ontwerpen omdat het dingen gemakkelijk maakt voor beginners zoals ik.

Check, check en check! Zorg dat je niets hebt gemist. Als je er helemaal zeker van bent, klik je op Generate Fabrication File om de Gerber-bestanden te downloaden of je kunt het direct bij JLCPCB bestellen voor slechts $ 2 met behulp van de onderstaande optie.

Zodra u uw PCB heeft ontvangen / gemaakt, is het tijd om deze te vullen. Houd uw schakelschema gereed en begin met het solderen van de componenten volgens de zeefdrukmarkering.

Reinig de print na het solderen met Iso Propyl Alcohol om de fluxresten te verwijderen.

Stap 4: dingen samenbrengen

Dingen samenbrengen
Dingen samenbrengen
Dingen samenbrengen
Dingen samenbrengen
Dingen samenbrengen
Dingen samenbrengen
Dingen samenbrengen
Dingen samenbrengen

Je hebt geen dure 3D-printer nodig. De onderdelen zijn zeer eenvoudig te bouwen met het juiste gereedschap. Ik heb onlangs een 3D-printer gekregen en wilde deze graag in mijn project gebruiken. Ik heb een aantal onderdelen van Thingiverse gevonden.

GoPro-bevestiging:

Servohoorn:

Soldeer draden naar de aan / uit-schakelaar, pot en drukknop met vrouwelijke headers en sluit ze aan op de mannelijke headers op de PCB.

Download en open het bijgevoegde bestand in Arduino IDE en upload de code naar uw Arduino. Verwijder na het uploaden van de code het IC van het Arduino-bord en plaats het op je PCB.

/*Auteur: IndoorGeek YouTube: www.youtube.com/IndoorGeek Bedankt voor het downloaden. Ik hoop dat je het project leuk vindt. */

#erbij betrekken

Servo xServo;

Servo yServo;

int potPin = A0;

int val, xStart, xStop, yStart, yStop; int-knop = 2; niet-ondertekend lange tijdInterval;

ongeldige setup() {

pinMode (knop, INPUT); xServo.bijvoegen (3); yServo.attach(4); }

lege lus() {

xAs(); vertraging (1000); xStart = waarde; yAxis(); vertraging (1000); yBegin = waarde; xAs(); vertraging (1000); xStop = waarde; yAxis(); vertraging (1000); yStop = waarde; setTijdInterval(); vertraging (1000); timelapseStart(); }

ongeldig xAxis(){

while (digitalRead (knop)! = HOOG) {val = analogRead (A0); val = kaart (val, 0, 1023, 0, 180); xServo.write(val); } }

void yAxis(){

while (digitalRead (knop)! = HOOG) {val = analogRead (A0); val = kaart (val, 0, 1023, 0, 180); yServo.write(val); } }

void setTimeInterval(){ // Wijzig de tijdsintervallen volgens de timelapse-instellingen van uw camera

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

ongeldige 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 = millis(); xStart--; } if(yStart xStop){ yServo.write(yStart); lastMillis = millis(); yBegin--; } } } }

Stap 5: Werken

Werken
Werken
Werken
Werken

Zet de hoofdschakelaar AAN.

X-as zal actief zijn. Draai de pot naar de positie van waaruit je de timelapse wilt starten. Druk op de Select-drukknop om de startpositie te bevestigen. Daarna is de Y-as actief. Doe hetzelfde om de startpositie van de Y-as te selecteren.

Herhaal de bovenstaande procedure voor de stoppositie van de X- en Y-as.

Gebruik nu de pot om het tijdsinterval tussen elk schot te selecteren. De rotatie van de pot is verdeeld in 6 delen voor intervallen van 1 sec, 2 sec, 5 sec, 10 sec, 30 sec en 60 sec. U kunt de intervallen wijzigen in de functie setTimeInterval() zoals weergegeven in de afbeelding. Druk op de Select-drukknop om deze te bevestigen.

De servo's komen in hun startpositie en zullen na het tijdsinterval 1 graad bewegen.

Volgorde:

  1. Set X-as Startpositie
  2. Set Y-as Startpositie
  3. X-as Stoppositie instellen
  4. Stel Y-as Stoppositie in
  5. Stel het tijdsinterval in

Stap 6: Toekomstige upgrades

Toekomstige upgrades
Toekomstige upgrades

1) Momenteel is vanwege 1 opname / graad het meeste aantal foto's dat we kunnen krijgen 180, omdat servo's kunnen draaien van 0 tot 180 graden. Door versnellingen toe te voegen, wordt de resolutie verhoogd. We zullen dus meer foto's hebben en dus vloeiende time-lapses. Ik ben redelijk comfortabel met elektronica, maar niet zozeer met mechanische dingen. Ik kijk ernaar uit om het te verbeteren.

2) De potentiometer kan worden vervangen door roterende encoder.

3) Draadloze bediening, misschien?!

Er is veel te leren

Stap 7: Geniet

Bedankt voor het volhouden tot het einde. Ik hoop dat jullie allemaal van dit project houden en vandaag iets nieuws hebben geleerd. Laat het me weten als je er een voor jezelf hebt gemaakt. Abonneer je op mijn YouTube-kanaal voor meer aankomende projecten. Nogmaals bedankt!

Aanbevolen: