สารบัญ:

ไทม์แลปส์ที่ควบคุมด้วยการเคลื่อนไหว: 7 ขั้นตอน (พร้อมรูปภาพ)
ไทม์แลปส์ที่ควบคุมด้วยการเคลื่อนไหว: 7 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: ไทม์แลปส์ที่ควบคุมด้วยการเคลื่อนไหว: 7 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: ไทม์แลปส์ที่ควบคุมด้วยการเคลื่อนไหว: 7 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: แนะนำวิธีใช้ Time Lapse Photo & Video ของ GoPro HERO 7 สำหรับผู้เริ่มต้น 2024, พฤศจิกายน
Anonim
Image
Image
แผนการ
แผนการ

ไทม์แลปส์นั้นยอดเยี่ยมมาก! พวกเขาช่วยให้เรามองเข้าไปในโลกที่เคลื่อนไหวช้าซึ่งเราอาจลืมชื่นชมความงามของมัน แต่บางครั้งวิดีโอไทม์แลปส์ที่ต่อเนื่องอาจดูน่าเบื่อหรือมีหลายสิ่งหลายอย่างเกิดขึ้นรอบ ๆ ซึ่งแค่มุมเดียวก็ไม่เพียงพอ มาปรุงรสกันเถอะ!

ในคำแนะนำนี้ ฉันจะแสดงวิธีสร้างอุปกรณ์ที่จะเพิ่มการเคลื่อนไหวให้กับไทม์แลปส์ของคุณ มาเริ่มกันเลย!

ขั้นตอนที่ 1: แผน

ฉันต้องการให้กล้องเคลื่อนที่ในสองทิศทาง นั่นคือ ในแกนนอน (X) และแนวตั้ง (Y) เพื่อที่ฉันจะต้องใช้มอเตอร์สองตัว

เราควรจะสามารถเลือกตำแหน่งเริ่มต้นและหยุดสำหรับทั้งสองแกนได้

การเคลื่อนที่ของมอเตอร์จะเป็นเช่นนั้นหลังจากภาพถ่ายแต่ละภาพ แกนควรหมุน 1 องศา

เพื่อให้ได้การควบคุมที่แม่นยำ ฉันจะใช้เซอร์โวมอเตอร์

นอกจากนี้ เราควรจะสามารถกำหนดช่วงเวลาได้

ฉันต้องการให้มันเป็นแบบพกพาดังนั้นฉันจึงตัดสินใจใช้งานแบตเตอรี่ LiPo ซึ่งหมายความว่าจะต้องชาร์จและเพิ่มวงจร

และสุดท้าย สมองที่จะควบคุมทั้งหมดนี้ จะเป็น Arduino ATMega328p จะถูกใช้เป็นไมโครคอนโทรลเลอร์แบบสแตนด์อโลน

ฉันไปกับกล้อง GoPro เพราะมันเล็กและทำให้ไทม์แลปส์เป็นเรื่องง่าย คุณสามารถใช้กล้องขนาดเล็กอื่นๆ หรือโทรศัพท์มือถือของคุณได้

ขั้นตอนที่ 2: รายการส่วนประกอบ

รายการส่วนประกอบ
รายการส่วนประกอบ
รายการส่วนประกอบ
รายการส่วนประกอบ
รายการส่วนประกอบ
รายการส่วนประกอบ

1x ATmega328p (พร้อม Arduino bootloader)

2x MG995 เซอร์โวมอเตอร์

1x MT3608 Boost Converter

1x TP4056 LiPo แบตเตอรี่ โมดูลการชาร์จ

สวิตช์ SPDT 1x

1x 16 MHz คริสตัล

ตัวเก็บประจุ 2x 22pF

ตัวต้านทาน 2x 10k

1x โพเทนชิออมิเตอร์ (ค่าใดก็ได้)

1x ปุ่มกด (ปกติเปิด)

ไม่จำเป็น:

เครื่องพิมพ์ 3 มิติ

ขั้นตอนที่ 3: การออกแบบ PCB

การออกแบบ PCB
การออกแบบ PCB
การออกแบบ PCB
การออกแบบ PCB
การออกแบบ PCB
การออกแบบ PCB

เพื่อให้วงจรมีขนาดเล็กที่สุด ผมจึงใช้แผงวงจรพิมพ์ คุณสามารถสลักกระดานเองที่บ้านหรือปล่อยให้มืออาชีพทำงานหนักเพื่อคุณ และนั่นคือสิ่งที่ผมทำ

เมื่อทุกอย่างทำงานได้ดีบนเขียงหั่นขนม เราสามารถเริ่มต้นด้วยกระบวนการออกแบบ PCB ฉันเลือก EasyEDA สำหรับการออกแบบ เนื่องจากทำให้ทุกอย่างง่ายสำหรับผู้เริ่มต้นเช่นฉัน

เช็ค เช็ค เช็ค! รับรองว่าไม่พลาดอะไร เมื่อคุณแน่ใจแล้ว ให้คลิกที่ Generate Fabrication File เพื่อดาวน์โหลดไฟล์ Gerber หรือคุณสามารถสั่งซื้อโดยตรงจาก JLCPCB ในราคาเพียง 2$ โดยใช้ตัวเลือกด้านล่าง

เมื่อคุณได้รับ/สร้าง PCB ของคุณแล้ว ก็ถึงเวลาเติมข้อมูล เตรียมไดอะแกรมวงจรของคุณให้พร้อมและเริ่มบัดกรีส่วนประกอบตามการทำเครื่องหมายซิลค์สกรีน

ทำความสะอาด PCB หลังจากบัดกรีด้วย Iso Propyl Alcohol เพื่อขจัดฟลักซ์ตกค้าง

ขั้นตอนที่ 4: รวบรวมสิ่งต่าง ๆ เข้าด้วยกัน

การรวมสิ่งต่าง ๆ เข้าด้วยกัน
การรวมสิ่งต่าง ๆ เข้าด้วยกัน
การรวมสิ่งต่าง ๆ เข้าด้วยกัน
การรวมสิ่งต่าง ๆ เข้าด้วยกัน
การรวมสิ่งต่าง ๆ เข้าด้วยกัน
การรวมสิ่งต่าง ๆ เข้าด้วยกัน
การรวมสิ่งต่าง ๆ เข้าด้วยกัน
การรวมสิ่งต่าง ๆ เข้าด้วยกัน

คุณไม่จำเป็นต้องมีเครื่องพิมพ์ 3 มิติที่สวยงาม ชิ้นส่วนต่างๆ สามารถสร้างได้ง่ายมากด้วยเครื่องมือที่เหมาะสม ฉันเพิ่งได้เครื่องพิมพ์ 3D และอยากใช้ในโครงการของฉัน ฉันพบบางส่วนจาก Thingiverse

เมาท์ GoPro:

เซอร์โวฮอร์น:

บัดกรีสายไฟเข้ากับสวิตช์เปิดปิด ปุ่ม Pot และ Push พร้อมส่วนหัวของตัวเมีย และเชื่อมต่อเข้ากับส่วนหัวของตัวผู้บน PCB

ดาวน์โหลดและเปิดไฟล์ที่แนบมาใน Arduino IDE และอัปโหลดโค้ดไปยัง Arduino ของคุณ หลังจากอัปโหลดโค้ดแล้ว ให้ถอด IC ออกจากบอร์ด Arduino แล้วใส่ลงใน PCB ของคุณ

/*Author: IndoorGeek YouTube: www.youtube.com/IndoorGeek ขอบคุณที่ดาวน์โหลด หวังว่าคุณจะชอบโครงการ */

#รวม

เซอร์โว xServo;

เซอร์โวเซอร์โว;

int potPin = A0;

int val, xStart, xStop, yStart, yStop; ปุ่ม int = 2; ไม่ได้ลงนามเป็นเวลานานช่วงเวลา;

การตั้งค่าเป็นโมฆะ () {

pinMode(ปุ่ม, INPUT); xServo.attach(3); yServo.attach(4); }

วงเป็นโมฆะ () {

xAxis(); ล่าช้า (1000); xStart = วาล; yAxis(); ล่าช้า (1000); เริ่ม = วาล; xAxis(); ล่าช้า (1000); xStop = วาล; yAxis(); ล่าช้า (1000); yStop = วาล; setTimeInterval(); ล่าช้า (1000); timelapseStart (); }

เป็นโมฆะ xAxis(){

ในขณะที่ (digitalRead (ปุ่ม) != สูง) { val = analogRead (A0); วาล = แผนที่(วาล, 0, 1023, 0, 180); xServo.write (วาล); } }

ถือเป็นโมฆะ yAxis(){

ในขณะที่ (digitalRead (ปุ่ม) != สูง) { val = analogRead (A0); วาล = แผนที่(วาล, 0, 1023, 0, 180); yServo.write(val); } }

ถือเป็นโมฆะ setTimeInterval(){ //เปลี่ยนช่วงเวลาตามการตั้งค่าไทม์แลปส์ของกล้องของคุณ

ในขณะที่ (digitalRead (ปุ่ม) != สูง) { val = analogRead (A0); if(val>=0 && val=171 && val=342 && val=513 && val=684 && val=855 && val<1023){ timeInterval = 60000L; } } }

เป็นโมฆะ timelapseStart (){

LastMillis แบบยาวที่ไม่ได้ลงนาม = 0; xServo.write(xStart); yServo.write (yStart); ในขณะที่ (xStart != xStop || yStart != yStop){ if(millis() - lastMillis > timeInterval){ if(xStart xStop){ xServo.write(xStart); LastMillis = มิลลิวินาที (); xStart--; } ถ้า (yStart xStop) { yServo.write (yStart); LastMillis = มิลลิวินาที (); เริ่ม--; } } } }

ขั้นตอนที่ 5: การทำงาน

การทำงาน
การทำงาน
การทำงาน
การทำงาน

เปิดสวิตช์หลัก

แกน X จะทำงาน หมุนหม้อไปยังตำแหน่งที่คุณต้องการเริ่มไทม์แลปส์ กดปุ่มเลือกเพื่อยืนยันตำแหน่งเริ่มต้น หลังจากนั้นแกน Y จะทำงาน ทำเช่นเดียวกันเพื่อเลือกตำแหน่งเริ่มต้นของแกน Y

ทำซ้ำขั้นตอนข้างต้นสำหรับตำแหน่งหยุดแกน X และ Y

ตอนนี้ ใช้เงินกองกลาง เลือกช่วงเวลาระหว่างแต่ละช็อต การหมุนของหม้อแบ่งออกเป็น 6 ส่วนสำหรับช่วงเวลา 1 วินาที, 2 วินาที, 5 วินาที, 10 วินาที, 30 วินาที และ 60 วินาที คุณสามารถเปลี่ยนช่วงเวลาในฟังก์ชัน setTimeInterval() ตามที่แสดงในรูปภาพ กดปุ่มเลือกเพื่อยืนยัน

เซอร์โวจะไปยังตำแหน่งเริ่มต้นและจะเคลื่อนที่ 1 องศาหลังจากช่วงเวลา

ลำดับ:

  1. ตั้งค่าตำแหน่งเริ่มต้นแกน X
  2. ตั้งค่าตำแหน่งเริ่มต้นแกน Y
  3. ตั้งค่าตำแหน่งหยุดแกน X
  4. ตั้งค่าตำแหน่งหยุดแกน Y
  5. ตั้งช่วงเวลา

ขั้นตอนที่ 6: การอัปเกรดในอนาคต

การอัพเกรดในอนาคต
การอัพเกรดในอนาคต

1) ปัจจุบัน เนื่องจากการถ่ายภาพ 1 ภาพ/องศา จำนวนภาพถ่ายสูงสุดที่เราได้คือ 180 เนื่องจากเซอร์โวสามารถหมุนได้ตั้งแต่ 0 ถึง 180 องศา การเพิ่มเกียร์จะเพิ่มความละเอียด ดังนั้นเราจะมีช็อตมากขึ้นและทำให้ไทม์แลปส์ราบรื่น ฉันค่อนข้างสบายใจกับอุปกรณ์อิเล็กทรอนิกส์ แต่ไม่มากกับเครื่องจักร มองไปข้างหน้าเพื่อปรับปรุงมัน

2) โพเทนชิออมิเตอร์สามารถถูกแทนที่ด้วยเครื่องเข้ารหัสแบบโรตารี่

3) การควบคุมแบบไร้สายอาจจะ?!

มีอะไรให้เรียนรู้มากมาย

ขั้นตอนที่ 7: สนุก

ขอบคุณที่ติดตามจนจบ หวังว่าทุกคนจะรักโครงการนี้และได้เรียนรู้สิ่งใหม่ในวันนี้ แจ้งให้เราทราบหากคุณสร้างมันขึ้นมาเอง สมัครสมาชิกช่อง YouTube ของฉันสำหรับโครงการที่จะเกิดขึ้นเพิ่มเติม ขอบคุณอีกครั้ง!

แนะนำ: