การแฮ็กกล้องดิจิตอล Keychain สำหรับ Arduino Control: 6 ขั้นตอน
การแฮ็กกล้องดิจิตอล Keychain สำหรับ Arduino Control: 6 ขั้นตอน

วีดีโอ: การแฮ็กกล้องดิจิตอล Keychain สำหรับ Arduino Control: 6 ขั้นตอน

วีดีโอ: การแฮ็กกล้องดิจิตอล Keychain สำหรับ Arduino Control: 6 ขั้นตอน
วีดีโอ: CHDK USB Remote Shutter Release 2025, มกราคม
Anonim

ตัวเลือกการถ่ายภาพสำหรับ Arduino นั้นมีอยู่ไม่มากนัก เว็บแคมไม่เหมาะกับการใช้งาน เช่น การถ่ายภาพว่าวหรือการถ่ายภาพในที่สาธารณะ เว้นแต่คุณจะรู้สึกอยากซื้อสาย USB ขนาด 200 ฟุต และเทคนิคปัจจุบันสำหรับการถ่ายภาพ Arduino แบบสแตนด์อโลนมักจะพยายามจับภาพข้อมูลดิบจากกล้อง CMOS ที่โผล่ออกมาจากโทรศัพท์มือถือ…และเชื่อฉันเถอะ เว้นแต่ว่าคุณจะต้องอัปโหลดหรือแก้ไขรูปภาพเหล่านั้นแบบเรียลไทม์ คุณไม่อยากไป ลงถนนนั้น เหตุใดจึงไม่มีกล้องดิจิตอลรุ่นธรรมดาราคาถูกที่ Arduino ควบคุมได้

ปรากฎว่ามีอย่างน้อยหนึ่งตัว - และพวกเขาขายมันที่ร้านขายยาในพื้นที่ของคุณ (CVS/Rite-Aid/Walgreens/ฯลฯ) เป็นกล้องพวงกุญแจตัวเล็ก ๆ ที่ดูเก๋ไก๋ที่พวกเขาขายในราคา $ 10-15 ต่อป๊อป การถ่ายภาพด้วยความละเอียดประมาณ 300 x 200 นั้นไม่ได้แย่นัก พวกเขาสามารถจัดเก็บภาพถ่ายได้ระหว่าง 20 ถึง 240 ภาพ (ขึ้นอยู่กับภาพที่คุณพบ) และปรากฎว่าเด็กเหล่านี้เพิ่งถูกแฮ็ก คุณยังสามารถทำแฮ็กแบบเดียวกันนี้ได้ด้วยกล้อง 1 หรือ 2 เมกะพิกเซลราคาถูกที่ใช้การ์ด SD หากจำเป็น (ดูด้านล่าง) แต่เราจะก้าวผ่านกระบวนการที่ใช้กับกล้อง 300 x 200 ตัวที่พบได้ทั่วไป คำแนะนำนี้จะแนะนำคุณตลอดกระบวนการถอดประกอบ ดัดแปลง และประกอบกลับกล้องพวงกุญแจที่วางขายทั่วไป จากนั้นจะแนะนำคุณเกี่ยวกับการเดินสายชุดวงจรสวิตช์ทรานซิสเตอร์แบบง่ายๆ ที่ Arduino สามารถใช้เพื่อปิดและเปิดกล้อง และถ่ายภาพเมื่อใดก็ตามที่โปรแกรมของคุณต้องการ นอกจากนี้ยังมีโค้ดตัวอย่างและรูปภาพสวย ๆ มากมาย ก่อนที่เราจะเริ่มต้น หมายเหตุเล็กน้อย: *กล้องที่ถูกแฮ็กอาจเปลี่ยนจากสีน้ำเงินเป็นสีเงินและกลับมาอยู่ในรูปภาพ อย่าหงุดหงิด ภายในกล้องทั้งสองตัวเหมือนกัน (ฉันกำลังทำงานกับทั้งคู่ในขณะนี้เพื่อการค้นคว้า) กล้องตัวเดียวกันนี้มีจำหน่ายทั่วประเทศในสีต่างๆ ภายใต้ชื่อแบรนด์ต่างๆ และถึงแม้จะมีตัวเรือนที่แตกต่างกันเล็กน้อย *หากเทคนิคนี้ฟังดูคุ้นๆ อาจเป็นเพราะสิ่งที่เราทำกับตัวกล้องเองนั้นคล้ายกับเทคนิคที่ใช้โดย CatCam ซึ่งเป็นโปรเจ็กต์ที่แพร่หลายเมื่อสองปีที่แล้วโดยใส่กล้องเหลื่อมเวลาขนาดเล็กไว้บนปลอกคอ ของแมวกลางแจ้งและดูว่าพวกเขาไปที่ไหน เทคนิคของ CatCam ใช้กล้องที่หาได้ไม่ง่ายในสหรัฐอเมริกา และเขียนขึ้นก่อนที่ Arduino จะเริ่มต้นจริง ๆ - หวังว่าการทบทวนเทคนิคนี้จะช่วยให้ชุมชน DIY ค้นพบและนำกลับมาใช้ใหม่ในโครงการของพวกเขา ฉันค้นพบ CatCam เมื่อโปรเจ็กต์นี้สิ้นสุดลง และเทคนิคทั้งสองได้รับการพัฒนาอย่างอิสระ ดังนั้นเทคนิคของฉันจึงน่าจะแตกต่างจากเทคนิค CatCam รู้สึกอิสระที่จะเลือกและเลือกเทคนิคจากทั้งสอง *หากคุณอยู่นอกสหรัฐอเมริกาหรือต้องการสั่งซื้อโดยตรงจาก CatCam กล้องที่แฮ็กได้ที่พวกเขาขายนั้นมีคุณภาพสูงกว่า - 1 หรือ 2 เมกะพิกเซล - และสามารถบันทึกรูปภาพลงในการ์ด SD ได้โดยตรง ดีมากสำหรับหลายๆ โครงการ (แต่ไม่จำเป็นสำหรับทุกคน) แต่ถ้าคุณต้องการกล้องในวันนี้ ให้ไปที่ Rite-Aid, CVS และอื่นๆ แล้วหยิบกล้องที่แสดงไว้ที่นี่ - กล้อง Digital Concepts ซึ่งปกติจะจัดจำหน่ายโดย Sakar International *การวิจัยของฉันทำให้ฉันสามารถควบคุมกล้องนี้ผ่านชิป ATMega แบบสแตนด์อโลนได้ หากคุณสนใจที่จะเรียนรู้เทคนิคนั้นด้วยเหตุผลบางอย่าง แจ้งให้เราทราบ - หากมีความสนใจมากพอ ฉันจะแนะนำ Instructable ตัวอื่น (ฉันคิดว่าจะมีความต้องการทำผ่าน Arduino มากกว่านี้) UPDATE: ตามคำขอ ฉันได้เพิ่มแผนภาพวงจรเพื่อต่อชิป ATMega แบบสแตนด์อโลนเข้ากับชิปดังรูปสุดท้ายด้านล่าง มันจะไม่เป็นประโยชน์สำหรับพวกคุณหลายคน และฉันขอโทษสำหรับสิ่งนั้น - ฉันหวังว่าจะทำให้ขั้นตอนนี้เป็นความขยัน - แต่สำหรับผู้ที่ตั้งใจแน่วแน่ ก็ยังดีกว่าไม่ทำอะไรเลย (ฉันหวังว่า) *เทคนิคนี้ได้รับการบันทึกเป็นส่วนหนึ่งของการวิจัยของฉันที่โปรแกรม Master of Tangible Interaction Design ของ Carnegie Mellon University ใน Pittsburgh รัฐเพนซิลเวเนีย หากคุณกำลังคิดที่จะกลับไปโรงเรียน สนุกกับการทำสิ่งต่าง ๆ และสนใจในการผสมผสานของเทคโนโลยีและการออกแบบหรือศิลปะ ติดต่อเรา!:) หวังว่าคุณจะพบว่าสิ่งนี้มีประโยชน์ - ยินดีต้อนรับความคิดเห็นทั้งในด้านเทคโนโลยีและแอปพลิเคชัน! อย่าลังเลที่จะเขียนถึงฉันโดยตรงหรือแสดงความคิดเห็นหากคุณมีคำถามหรือต้องการคำชี้แจงใด ๆ

ขั้นตอนที่ 1: ประกอบวัสดุและเครื่องมือ

คุณจะต้องมีเครื่องมือและอุปกรณ์บางอย่างก่อนที่จะลงมือทำตามคำแนะนำนี้ ให้เราวิ่งผ่านพวกเขาตอนนี้เราจะ?

เครื่องมือ: *ไขควงหัวแฉกขนาดเล็กของ Philips (ขนาดประมาณขนาดที่คุณใช้ซ่อมแว่นตาหรือในชุดซ่อมคอมพิวเตอร์) *มีประโยชน์ แต่ไม่สำคัญหากคุณมีเล็บยาว - ไขควงปากแบนขนาดเล็กสำหรับใช้เป็นคีม *เครื่องตัดลวด/เครื่องปอกสายไฟ *มีประโยชน์แต่ไม่สำคัญ - มัลติมิเตอร์ * หัวแร้งและหัวแร้ง (ตอนนี้ อย่าเพิ่งกังวลไป สิ่งที่คุณต้องทำคือทำให้บัดกรีที่มีอยู่แล้วร้อนขึ้นแล้วติดลวดที่ปอกแล้วสองสามปลายเข้ากับจุดเชื่อมต่อที่มีอยู่ จำเป็นต้องมีความรู้พื้นฐานเกี่ยวกับการบัดกรีเท่านั้น คุณอาจหนีไปได้ ด้วยกาวลวดในบางรุ่น แต่การบัดกรีจะปลอดภัยกว่า) วัสดุ: * กล้องดิจิตอลพวงกุญแจที่วางจำหน่ายแล้ว มักขายภายใต้ชื่อแบรนด์ "Digital Concepts" หรือ "Shift" ขายที่ CVS, Rite-Aid, Walgreens, Walmart บางร้าน และทางอินเทอร์เน็ต *มีประโยชน์แต่ไม่สำคัญ - แบตเตอรี่ AAA สำรองสองสามก้อน กล้องควรมาพร้อมกับแบตเตอรี่ AAA หนึ่งก้อน แต่ถ้าคุณตั้งใจจะใช้โปรเจ็กต์ของคุณมากกว่าสองสามครั้งหรือเป็นเวลานาน คุณจะต้องมีอะไหล่ - กล้องจะกินมัน * ลวดหุ้มฉนวนไม่กี่ฟุต (ไม่ว่าจะเป็นฉนวนพลาสติกแบบเกจทั่วไป แบบโชว์ หรือแบบเคลือบสีแบบบางก็ใช้ได้ - ทั้งสองมีข้อดีและข้อเสีย ฉันมักจะใช้สีหุ้มฉนวนเพราะบางครั้งฉันทำส่วนหัวของตัวผู้เองสำหรับการเชื่อมต่อของฉัน) *เขียงหั่นขนมหรือโปรโตบอร์ดอื่น ๆ * ลวดสีขาวยาวสองเส้น (สำหรับเชื่อมต่อทรานซิสเตอร์กับ Arduino) * ลวดสีดำยาวสองเส้น (สำหรับเชื่อมต่อกราวด์จาก Arduino กับเขียงหั่นขนม) * ลวดสีแดงยาวสองเส้น (สำหรับเชื่อมต่อพลังงานสูงจาก Arduino กับเขียงหั่นขนม) * มีประโยชน์, แต่ไม่สำคัญ - LED (สำหรับการดีบักเอาต์พุต) *ทรานซิสเตอร์สองตัว (ฉันใช้ทรานซิสเตอร์ NPN 2N3904) * Arduino พร้อมสาย USB

ขั้นตอนที่ 2: เปิดและถอดแยกชิ้นส่วนกล้องพวงกุญแจ

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

ขั้นตอนที่ 3: แฮ็กส่วนกล้อง I (ประสานเข้ากับสวิตช์)

นี่เป็นส่วนที่ยากที่สุดของการแฮ็ก แต่ก็ไม่ได้ยากขนาดนั้น ฉันสาบาน หายใจเข้าลึกๆ แล้วไปบัดกรีกัน!

สำหรับการแฮ็กนี้ เราจะปล่อยให้แผงวงจรของกล้องไม่เสียหายทั้งหมด สิ่งที่เราจะทำคือบัดกรีการเชื่อมต่อของเราเองเข้ากับแผงวงจรที่ด้านใดด้านหนึ่งของสวิตช์ปุ่มกดที่ใช้ในการควบคุมกล้อง ซึ่งช่วยให้เราใช้ Arduino เพื่อ "กด" ในแต่ละปุ่มแบบดิจิทัลได้ทุกเมื่อที่ต้องการ (ผ่านทรานซิสเตอร์ภายนอกที่ทำหน้าที่เป็นสวิตช์) เมื่อจัดการกับแผงวงจร ให้พยายามจับที่ขอบของแผงวงจรทุกครั้งที่ทำได้ แผงวงจรค่อนข้างแข็งแรง แต่สุดท้ายแล้ว แผงวงจรก็ยังเปิดอยู่ และไม่ควรแตะต้องแผงวงจรโดยตรงเกินความจำเป็น ตัดและปอกปลายลวดสี่ชิ้น แต่ละอันยาวอย่างน้อยหนึ่งฟุต (ดีกว่ายาวกว่าสั้นในกรณีนี้ นี่ไม่ใช่สิ่งที่คุณต้องการทำซ้ำบ่อยเกินไป) จากนั้น ดูข้อต่อบัดกรีสองคู่ที่แสดงในภาพด้านล่าง หนึ่งคู่รอบสวิตช์ปุ่มกดสองตัวแต่ละตัว. การใช้ฟังก์ชันความต่อเนื่อง/ไฟฟ้าลัดวงจรบนมัลติมิเตอร์ของคุณ คุณสามารถยืนยันได้ว่าคุณพบข้อต่อที่เหมาะสมที่จะบัดกรีโดยการจับปลายทั้งสองข้างของข้อต่อสวิตช์แล้วกดปุ่มด้วยตนเองเพื่อดูว่าทำให้เกิดการลัดวงจรระหว่างข้อต่อหรือไม่ ถ้าเป็นเช่นนั้น (แนวต้านระหว่างทั้งสองลดลงจากอนันต์ไปใกล้เป็นศูนย์) คุณพบสองสิ่งที่ถูกต้องแล้ว หากคุณไม่มีมัลติมิเตอร์ ให้หายใจเข้าลึกๆ และเชื่อมั่นในรูปภาพ เมื่อคุณแน่ใจว่าคุณพบข้อต่อที่ถูกต้องแล้ว โดยใช้หัวแร้งของคุณ หลอมโลหะบัดกรีที่ข้อต่อทั้งสี่นี้แล้วต่อปลายลวดหนึ่งในสี่ชิ้นเข้ากับข้อต่อทั้งสี่ หากคุณมีผู้ช่วยในการตั้งค่าการบัดกรีของคุณ ให้ใช้สิ่งนี้เพื่อยึดวงจรของคุณให้มั่นคง (วางหนังสือพิมพ์ชิ้นเล็ก ๆ ที่พับไว้ระหว่างที่หนีบเพื่อป้องกันแผงวงจร)

ขั้นตอนที่ 4: แฮ็กส่วนกล้อง II (ประสานการเชื่อมต่อกราวด์)

คุณเพิ่งทำส่วนที่ยากที่สุดของการแฮ็กนี้สำเร็จ ขอแสดงความยินดีด้วย! ที่กล่าวว่าคุณมีข้อต่อประสาน (ง่ายกว่า) อีกอันหนึ่งที่จะทำ อันนี้คุณจะต้องบัดกรีใหม่

หมายเหตุ: โปรดอย่าสนใจว่าในภาพนี้ แผงวงจรอยู่ภายในของเคสพลาสติกด้านหน้า อย่าทำในสิ่งที่ดูเหมือนว่าฉันกำลังทำอยู่ โปรดประสานการเชื่อมต่อนี้ก่อนที่จะใส่วงจรกลับเข้าไปในเคส เพื่อหลีกเลี่ยงไม่ให้กล่องพลาสติกละลายโดยไม่ได้ตั้งใจ (ฉันแค่ถ่ายภาพขั้นตอนนี้เลอะเทอะและจะพยายามแก้ไขในภายหลัง) ใช้ลวดชิ้นที่ห้าแล้วตัดให้ยาวอย่างน้อยหนึ่งฟุตโดยที่ขอบขาด ตามหลักการแล้วลวดชิ้นนี้ควรมีสีดำหรืออย่างน้อยก็แตกต่างจากสี่เส้นแรก ตอนนี้ประสานปลายด้านหนึ่งไปด้านนอกของปลายกราวด์ของที่ใส่แบตเตอรี่ดังที่แสดง คุณจะต้องเพิ่มบัดกรีของคุณเองในการเชื่อมต่อนี้ และบัดกรีโดยตรงบนโลหะที่นี่ ฉันพบว่าสิ่งนี้ง่ายกว่าการพยายามเพิ่มลวดของคุณเข้ากับตัวประสานที่มีอยู่ซึ่งถือที่ใส่แบตเตอรี่ไว้ที่แผงวงจร (ฉันจะชี้ให้เห็นวิธีการที่ถูกและผิดในภาพ) ทำไมเราถึงทำเช่นนี้? สำหรับทรานซิสเตอร์ที่ควบคุมโดย Arduino จะสามารถควบคุมสวิตช์บนกล้องพวงกุญแจได้ วงจร Arduino และวงจรกล้องพวงกุญแจจะต้องใช้กราวด์ไฟฟ้าร่วมกัน สายนี้ช่วยให้คุณเชื่อมต่อกราวด์ของกล้องกับกราวด์ของ Arduino ได้ในภายหลัง ผ่านแถวทั่วไปบนเขียงหั่นขนม

ขั้นตอนที่ 5: ต่อกล้องเข้ากับ Arduino. ของคุณ

ตอนนี้ได้เวลาเริ่มต่อกล้องของคุณเข้ากับ Arduino แล้ว

ขั้นแรก ให้โหลดโค้ดที่จะควบคุมกล้องไปยัง Arduino ด้านล่างนี้ เราได้อัปโหลด/แนบตัวอย่างโค้ด Arduino ที่เราเคยใช้ที่นี่เพื่อถ่ายภาพเหลื่อมเวลา รหัสจะเปิดกล้องถ่ายภาพแล้วหน่วงเวลาหนึ่งนาทีเต็ม (ระหว่างที่กล้องจะปิดโดยอัตโนมัติ) ก่อนเปิดเครื่องอีกครั้งและถ่ายภาพอื่น - ทำซ้ำยี่สิบภาพ (ความจุของครั้งแรกของฉัน กล้องที่ถูกแฮ็ก) ทีนี้มาต่อ Arduino ของคุณกับกล้องกัน ขั้นแรก คำอธิบายเล็กน้อย: เพื่อควบคุมกล้องอย่างเต็มที่ โค้ดของเราใช้พินเอาต์พุตดิจิทัล 2 พิน และแมปอันหนึ่งกับสวิตช์เปิด และอีกอันกับสวิตช์ชัตเตอร์ เมื่อรหัสต้องการเปิดหรือปิดกล้องหรือสลับโหมด กล้องจะถือกล้องไว้ที่ขาเอาต์พุตให้สูง และเมื่อรหัสต้องการถ่ายภาพ รหัสจะยึดพินเอาต์พุตชัตเตอร์ของกล้องให้สูง การดำเนินการนี้แปลเป็นการกดปุ่มจริงโดยการเปิดและปิดทรานซิสเตอร์ ซึ่งจะเชื่อมต่อผ่านสายกล้องของเราไปยังสวิตช์ของกล้องจริง กราวด์ของกล้องและ Arduino เชื่อมโยงกันเพื่อให้ Arduino และวงจรกล้องภายนอกเป็นพื้นร่วม ทำให้ทรานซิสเตอร์ทำงานได้อย่างถูกต้อง ใช้สายไฟสองเส้นเพื่อเชื่อมต่อพินเอาต์พุตทั้งสองนี้ (เปิดกล้องและชัตเตอร์ของกล้อง) กับสายต่างๆ บนเขียงหั่นขนม จากนั้น เชื่อมต่อพินฐานของทรานซิสเตอร์กับพินเอาท์พิตทั้งสองอัน สุดท้าย เชื่อมต่อสายไฟสองเส้นของคุณสำหรับสวิตช์ที่เกี่ยวข้องแต่ละตัวจากกล้องจริงของคุณกับอีกสองสาย (พินตัวรวบรวมและตัวปล่อย) ของทรานซิสเตอร์ คุณอาจต้องทดลองด้วยว่าสายใดจะไปที่ตัวสะสมและสายใดไปยังตัวปล่อยในแต่ละคู่ ซึ่งจะขึ้นอยู่กับการเดินสายภายในของกล้องเฉพาะที่คุณกำลังแฮ็ก สุดท้าย **และนี่เป็นสิ่งสำคัญ** นำสายกราวด์ออกจากกล้องแล้วเสียบเข้ากับพินกราวด์ของ Arduino นี่เป็นสิ่งจำเป็นสำหรับทรานซิสเตอร์ของคุณในการทำงานและเพื่อให้กล้องของคุณตอบสนองต่อ Arduino ของคุณ!

ขั้นตอนที่ 6: ถ่ายภาพ

เสียบแบตเตอรี่ AAA เข้ากับกล้องของคุณ ควรส่งเสียงบี๊บและเปิดเครื่อง รอ 30 วินาทีเพื่อให้กล้องปิด (โค้ดที่ฉันได้รวมไว้จะถือว่ากล้องปิดอยู่เมื่อเปิดใช้งาน และจะเปิดกล้องให้คุณ) ตอนนี้ วางตำแหน่งกล้องและ Arduino สำหรับมุมมองที่คุณต้องการแล้วเปิด Arduino โว้ว! บางทีคุณอาจกำลังถาม - กล้องนี้ค่อนข้างเทอะทะ มี Arduino และเขียงหั่นขนมและทั้งหมด เราไม่สามารถทำให้มันกะทัดรัดกว่านี้อีกหน่อยได้ไหม เพื่อถ่ายภาพจากทุกที่ที่เราต้องการ ? ข่าวดีก็คือ ทำได้! สิ่งนี้ออกแบบมาเพื่อใช้เป็นวงจรแบบสแตนด์อโลน โดยใช้ Atmega ดึงออกจาก Arduino บนกล้อง/วัตถุวงจรเดียวซึ่งสามารถวางได้ทุกที่ ฉันได้รวมรูปภาพของการตั้งค่านั้นไว้ด้านล่างด้วย และหากผู้คนสนใจ ฉันจะทำงานกับ Instructable อื่นหรืออย่างน้อยก็เพิ่มไฟล์ Eagle ในหน้านี้เพื่อให้ผู้อื่นใช้งานได้ เพียงแค่แจ้งให้เราทราบ! หวังว่าคุณจะพบว่าสิ่งนี้มีประโยชน์ - ยินดีต้อนรับความคิดเห็นทั้งในด้านเทคโนโลยีและแอปพลิเคชัน! อย่าลังเลที่จะเขียนถึงฉันโดยตรงหรือแสดงความคิดเห็นหากคุณมีคำถามหรือต้องการคำชี้แจงใด ๆ