สารบัญ:
วีดีโอ: ArduPhotographer: 4 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:07
หมายเหตุการปฏิเสธความรับผิด
คำแนะนำนี้ได้รับการทดสอบกับกล้องต่อไปนี้:
- Canon 350D
- Canon 50D
คำแนะนำนี้อาจทำให้กล้องของคุณเสียหายได้ ข้อควรระวังคือ ดำเนินการตามคำแนะนำนี้โดยยอมรับความเสี่ยงและความรับผิดชอบของคุณเอง
พื้นหลัง
เพื่อนคนหนึ่งของฉันถามฉันว่าฉันสามารถสร้างบางสิ่งที่จะกระตุ้นกล้อง SLR ของเขาโดยอัตโนมัติทุกครั้งที่มีนกอยู่ใกล้รังที่เขาวางไว้ในสวนของเขาหรือไม่ เขาสนใจนก แต่คราวนี้นกที่ทำรังในสวนของเขาเป็นนกที่แปลกมาก
วัตถุประสงค์
เพื่อให้ Arduino เปิดใช้งานชัตเตอร์ของกล้องตามสัญญาณที่ได้รับจากเซ็นเซอร์อินฟราเรดแบบพาสซีฟ (PIR) หรือที่เรียกว่าเซ็นเซอร์ตรวจจับความเคลื่อนไหว
การสร้างวัสดุ
- Arduino Uno (ทดสอบบน R3)
- ชิลด์อีเธอร์เน็ต Arduino
- เซ็นเซอร์ PIR (Passive InfraRed) ทำงานที่ 433.92MHz (https://www.buysku.com/wholesale/portable-wireless-pir-motion-detector-dual-passive-infrared-detector-for-alarm-security-system-white.html)
- เครื่องรับ 433.92MHz: MX-JS-05V
- ตัวต้านทาน 600Ohms
- ออปโตคัปเปลอร์ 4N35
- เต้ารับโฟโนสเตอริโอตัวเมีย 2.5 มม.
หมายเหตุเกี่ยวกับกล้อง
- กล้องควรรองรับชัตเตอร์ระยะไกลแบบมีสาย
-
คำแนะนำนี้ไม่มีข้อมูลเกี่ยวกับวิธีการสร้างสายเคเบิลตัวเชื่อมต่อทางกายภาพกับ SLR
ขั้นตอนที่ 1: วงจร
ลวดส่วนประกอบที่หลากหลายตามที่แสดงในภาพ หมายเหตุบางส่วน:
- แจ็คเสียงที่แสดงในภาพเป็นแบบสเตอริโอ ดังนั้นจึงมีสามขา สองช่อง (ช่องซ้ายและขวา) จะต้องเชื่อมต่อกับขาเดียวกันของ 4N35
- Arduino pin #8 ถึงตัวต้านทาน
- Arduino pin #2 to Data pin บนโมดูล RX/RF
ตรรกะของการแก้ปัญหาได้อธิบายไว้ในรูปภาพไดอะแกรมที่แนบมา
ขั้นตอนที่ 2: ร่าง
นี่คือภาพร่างที่ขับเคลื่อนการแก้ปัญหา:
พารามิเตอร์สเก็ตช์
พารามิเตอร์ที่สำคัญที่สุดสำหรับฮาร์ดโค้ด ซึ่งกำหนดเป็นค่าคงที่ในสเก็ตช์คือเฟรมสูงสุดต่อวินาที (FPS) ที่กล้องรองรับ โปรดดูคู่มือการผลิตกล้องสำหรับข้อมูลเกี่ยวกับ FPS สูงสุดของกล้องของคุณ หนึ่งพารามิเตอร์ที่สามารถนำไปสู่เฟรมที่ขาดหายไปคือระยะเวลาพัลส์ชัตเตอร์ พารามิเตอร์นี้สามารถกำหนดค่าได้ในส่วนการประกาศค่าคงที่ของแบบร่าง
การกำหนดค่าบางอย่าง:
-
เฟรมต่อวินาที (FPS):
- Canon EOS 350D: 3
- Canon EOS 50D: 6 (RAW) สูงสุด 60 ภาพ JPEG ขนาดใหญ่/ละเอียด ภาพ JPEG ขนาดใหญ่/ละเอียดสูงสุด 90 ภาพด้วยการ์ด CF ที่เข้ากันได้กับ UDMA 7
- Nikon D300: 6 พร้อมแบตเตอรี่ในตัว 8 พร้อมอะแดปเตอร์ AC หรือแพ็ค MB-D10 และแบตเตอรี่อื่นที่ไม่ใช่ EN-EL3e
-
ชัตเตอร์พัลส์ (SHUTTER_PULSE):
Canon EOS 350D: 40 (มิลลิวินาที)
ที่อยู่ IP ของโฮสต์
แบบร่างตั้งค่าที่อยู่ IP เริ่มต้น 192.168.1.100 เป็นอีเธอร์เน็ตชิลด์ สิ่งนี้ทำในบรรทัดต่อไปนี้:
IPAddress ip(192, 168, 1, 100);
โปรดแก้ไขที่อยู่ IP นี้หากจำเป็นตามการตั้งค่า LAN ของคุณ
ดมกลิ่น PIR SKETCH
คำแนะนำนี้มีคุณลักษณะแบบร่างพิเศษเพื่อดมกลิ่นหมายเลขประจำตัว PIR ที่ต้องฮาร์ดโค้ดในส่วนการประกาศตัวแปรของแบบร่างของ ArduPhtographer (PIR_id) ภาพร่างการดมกลิ่นที่มาพร้อมกับสามารถถอดรหัสรหัสอุปกรณ์ของอุปกรณ์ PIR ที่ทดสอบข้างต้น อย่างไรก็ตาม ไม่มีการรับประกันว่าจะถอดรหัส PIR อื่นได้
นี่คือภาพร่าง:
ในการรับ PIR ID คุณต้องโหลดภาพสเก็ตช์นี้ไปยัง Arduino และเปิด Serial Monitor ที่ 9600bauds เปิด PIR และทำการเคลื่อนไหวด้านหน้าเพื่อให้เริ่มทำงาน ควรอ่าน PIR ID บน Serial Monitor
ขั้นตอนที่ 3: เว็บอินเตอร์เฟส
เว็บอินเตอร์เฟส
สามารถกำหนดค่า ArduPhotographer ผ่านเว็บอินเทอร์เฟซ เว็บอินเตอร์เฟสยังให้ข้อมูลเกี่ยวกับจำนวนภาพที่ถ่ายและยังให้ความเป็นไปได้ในการลั่นชัตเตอร์กล้องด้วยตนเอง ที่อยู่ IP ที่จะใช้ใน URL เพื่อเรียกเว็บอินเตอร์เฟสถูกกำหนดไว้ที่นี่:
IPAddress ip(192, 168, 1, 100);
ในกรณีนี้ URL ที่จะตั้งค่าบนเว็บเบราว์เซอร์จะเป็น
ทำความเข้าใจกับอินเทอร์เฟซของเว็บ พารามิเตอร์
ArduPhotographer ใช้งานได้หลากหลายมากเมื่อพูดถึงพารามิเตอร์การกำหนดค่าต่างๆ ที่สามารถตั้งค่าให้ทริกเกอร์ชัตเตอร์ได้ พารามิเตอร์ที่ควบคุมวิธีการถ่ายภาพคือ:
- Burst: จำนวนภาพต่อเนื่องที่จะถ่ายเมื่อ PIR ตรวจพบการเคลื่อนไหว
- User Interleave: เวลาระหว่างภาพที่ถ่ายต่อเนื่องกันมากกว่าหนึ่ง (1)
- Motion Delay Before: เวลารอระหว่างช่วงเวลาที่ PIR ตรวจพบการเคลื่อนไหวจนกระทั่งระเบิดออก
- Motion Delay After: เวลารอหลังจากการระเบิดเสร็จสิ้นก่อนที่จะเริ่มฟังสัญญาณ PIR อีกครั้ง
สำหรับข้อมูลโดยละเอียดเพิ่มเติมเกี่ยวกับการทำงานร่วมกันของพารามิเตอร์ทั้งสี่นี้ โปรดดูเอกสารที่แนบ parameter_doc_1_1.pdf
ข้อควรพิจารณา
- รีลีสชัตเตอร์บนเว็บอินเทอร์เฟซจะลั่นชัตเตอร์เพื่อถ่ายภาพเพียงภาพเดียวเท่านั้น
- เว็บไคลเอ็นต์หลายตัวพร้อมกันสามารถสร้างสถานะที่คาดเดาไม่ได้เกี่ยวกับพฤติกรรมการปิดของกล้องเมื่อลั่นชัตเตอร์ด้วยตนเอง (ปุ่มลั่นชัตเตอร์)
ขั้นตอนที่ 4: ข้อมูลที่มีค่า
นิสัยน่ารู้
- ปุ่มลั่นชัตเตอร์บนอินเทอร์เฟซของเว็บจะทำหน้าที่ตามที่กำหนดโดยผู้ผลิตกล้องเมื่อกดชัตเตอร์โดยไม่มีคุณสมบัติเพิ่มเติมใดๆ ตัวอย่างเช่น Canon 350D จะถ่ายภาพเพียงภาพเดียวทุกครั้งที่ลั่นชัตเตอร์ผ่านรีโมทคอนโทรล ไม่มีการระเบิดแม้ในขณะที่กดปุ่มค้างไว้
- Shutter Pulse (ms) พารามิเตอร์แบบฮาร์ดโค้ดช่วยให้ช็อตที่กระตุ้นพัลส์ที่ส่งไปยังกล้องนั้นยาวพอที่จะตีความได้อย่างถูกต้องโดยกล้อง
- พบค่า Shutter Pulse จากการลองผิดลองถูกโดยใช้ปุ่มลั่นชัตเตอร์ที่มีอยู่บนเว็บอินเทอร์เฟซ
- PIR ที่ทดสอบแล้วจะสร้างการส่งสัญญาณต่อเนื่องเป็นเวลานาน นานกว่าเวลาที่ต้องใช้ในการถ่ายภาพ ดังนั้น จึงสามารถถ่ายภาพได้มากกว่าจำนวนที่ระบุด้วย "ต่อเนื่อง" เนื่องจากเมื่อการวนซ้ำเริ่มต้นใหม่ อาจยังคงอ่านสัญญาณ PIR จากการระเบิดอย่างต่อเนื่อง พฤติกรรมนี้สามารถตอบโต้ได้ด้วยพารามิเตอร์ "Motion Delay After"
- ความล่าช้าของชัตเตอร์ขึ้นอยู่กับ fps ของกล้อง (1000 / fps)
- ในขณะที่เปิดกล้องในโหมดอัตโนมัติหรือกึ่งอัตโนมัติ (Av, Tv หรือ P) จำเป็นต้องคำนึงถึงระยะเวลาที่กล้องต้องใช้เพื่อทำการคำนวณที่จำเป็นก่อนถ่ายภาพ เวลานี้อาจส่งผลต่อการถ่ายภาพต่อเนื่องที่คาดหวังและต่ำกว่าที่คาดไว้ (ไม่มีเฟรม) เพื่อหลีกเลี่ยงปัญหานี้ กล้องควรตั้งค่าแบบแมนนวลทั้งหมด (M) รวมทั้งโฟกัสด้วย ตัวอย่างเช่น เมื่อตั้งค่า Canon 350D เป็นโฟกัสแบบแมนนวลและแบบแมนนวล ฉันสามารถถ่ายภาพ 3 ใน 3 ภาพเมื่อกำหนดค่าด้วย Burst=3, Motion Delay Before=0 และ MotionDelay After=25 การกำหนดค่าเดียวกันแต่ในโหมดกึ่งอัตโนมัติพร้อมโฟกัสแบบแมนนวลทำให้ฉันถ่ายภาพต่อเนื่องเป็น 2 ใน 3 เพื่อเอาชนะ คุณสามารถเล่นกับพารามิเตอร์ MotionDelay Before และ/หรือ MotionDelay After เพื่อรักษาความปลอดภัยให้กล้องลั่นชัตเตอร์เมื่อไม่ได้ใช้งาน
ข้อมูลที่มีค่า
วงจรนี้ใช้ออปโตคัปเปลอร์ โดยทั่วไปจะใช้ออปโตคัปเปลอร์เพื่อแยกวงจรออกเป็นสองส่วน ในแง่นี้ กลไกที่กระตุ้นชัตเตอร์ด้วยระบบอิเล็กทรอนิกส์อยู่ภายในออปโตคัปเปลอร์ โดยพื้นฐานแล้วจะทำหน้าที่เป็นสวิตช์ โดยตั้งสายไฟสองเส้นที่มา/ไปที่กล้องเข้าด้วยกัน ส่วนที่เหลือของวงจรที่อยู่เบื้องหลัง "สวิตช์" นี้ภายในออปโตคัปเปลอร์นั้นแยกออกจากกันโดยสิ้นเชิง ด้วยเหตุนี้ เราจึงต้องลดความเสี่ยงที่จะเกิดกระแสไฟรั่วเข้าไปในสายชัตเตอร์ และทำให้กล้องเสียหาย
ความอยากรู้ของผู้เขียน
ฉันสนใจที่จะทราบประสบการณ์ของคุณกับ PIR อื่นๆ เนื่องจากสิ่งที่ฉันอ้างถึงในที่นี้ค่อนข้างช้าสำหรับจุดประสงค์ดั้งเดิม นั่นคือ เวลาระหว่างช่วงเวลาที่รับรู้การเคลื่อนไหวจนถึงเวลาที่ PIR พร้อมที่จะรับรู้การเคลื่อนไหวอีกครั้งนั้นค่อนข้างนาน. อีกทางเลือกหนึ่งคือวิธีที่เป็นไปได้ในการแฮ็ก PIR เพื่อให้ตอบสนองในช่วงเวลาที่สั้นลง
แนะนำ:
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: 5 ขั้นตอน
การออกแบบเกมในการสะบัดใน 5 ขั้นตอน: การตวัดเป็นวิธีง่ายๆ ในการสร้างเกม โดยเฉพาะอย่างยิ่งเกมปริศนา นิยายภาพ หรือเกมผจญภัย
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: 3 ขั้นตอน
การตรวจจับใบหน้าบน Raspberry Pi 4B ใน 3 ขั้นตอน: ในคำแนะนำนี้ เราจะทำการตรวจจับใบหน้าบน Raspberry Pi 4 ด้วย Shunya O/S โดยใช้ Shunyaface Library Shunyaface เป็นห้องสมุดจดจำใบหน้า/ตรวจจับใบหน้า โปรเจ็กต์นี้มีจุดมุ่งหมายเพื่อให้เกิดความเร็วในการตรวจจับและจดจำได้เร็วที่สุดด้วย
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: 3 ขั้นตอน
วิธีการติดตั้งปลั๊กอินใน WordPress ใน 3 ขั้นตอน: ในบทช่วยสอนนี้ ฉันจะแสดงขั้นตอนสำคัญในการติดตั้งปลั๊กอิน WordPress ให้กับเว็บไซต์ของคุณ โดยทั่วไป คุณสามารถติดตั้งปลั๊กอินได้สองวิธี วิธีแรกคือผ่าน ftp หรือผ่าน cpanel แต่ฉันจะไม่แสดงมันเพราะมันสอดคล้องกับ
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): 8 ขั้นตอน
การลอยแบบอะคูสติกด้วย Arduino Uno ทีละขั้นตอน (8 ขั้นตอน): ตัวแปลงสัญญาณเสียงล้ำเสียง L298N Dc ตัวเมียอะแดปเตอร์จ่ายไฟพร้อมขา DC ตัวผู้ Arduino UNOBreadboardวิธีการทำงาน: ก่อนอื่น คุณอัปโหลดรหัสไปยัง Arduino Uno (เป็นไมโครคอนโทรลเลอร์ที่ติดตั้งดิจิตอล และพอร์ตแอนะล็อกเพื่อแปลงรหัส (C++)
เครื่อง Rube Goldberg 11 ขั้นตอน: 8 ขั้นตอน
เครื่อง 11 Step Rube Goldberg: โครงการนี้เป็นเครื่อง 11 Step Rube Goldberg ซึ่งออกแบบมาเพื่อสร้างงานง่ายๆ ในรูปแบบที่ซับซ้อน งานของโครงการนี้คือการจับสบู่ก้อนหนึ่ง