สารบัญ:

ทำให้ท่าทางจมูกของคุณควบคุมได้ใน $10: 4 ขั้นตอน
ทำให้ท่าทางจมูกของคุณควบคุมได้ใน $10: 4 ขั้นตอน

วีดีโอ: ทำให้ท่าทางจมูกของคุณควบคุมได้ใน $10: 4 ขั้นตอน

วีดีโอ: ทำให้ท่าทางจมูกของคุณควบคุมได้ใน $10: 4 ขั้นตอน
วีดีโอ: แย่งไก่หมา มากินต่อ 🍗 #กินโชว์ #สายประหยัด #ประหยัด #เกร็ดความรู้ #รู้หรือไม่ 2024, พฤศจิกายน
Anonim
Image
Image
ทำให้ท่าทางจมูกของคุณควบคุมได้ในราคา $10
ทำให้ท่าทางจมูกของคุณควบคุมได้ในราคา $10
ทำให้ท่าทางจมูกของคุณควบคุมได้ในราคา $10
ทำให้ท่าทางจมูกของคุณควบคุมได้ในราคา $10

คำแนะนำนี้เป็นแนวทางในการเปลี่ยนเสียงพึมพำ R / C ของคุณให้เป็นเสียงพึมพำที่ควบคุมด้วยท่าทางในราคาต่ำกว่า $ 10!

ฉันเป็นคนที่ได้รับแรงบันดาลใจจากภาพยนตร์ Sci-Fi มากและพยายามทำให้เทคโนโลยีแสดงในภาพยนตร์ในชีวิตจริง โปรเจ็กต์นี้เป็นแรงบันดาลใจจากภาพยนตร์สองเรื่อง ได้แก่ "STAR WARS: The Empire Strikes Back" และ "Project Almanac" ในภาพยนตร์ทั้งสองเรื่อง คุณเห็นวัตถุบินได้ (X-wing Starship & R/C Drone) ซึ่งควบคุมโดยการเคลื่อนไหวของมือเท่านั้น นี่เป็นแรงบันดาลใจให้ฉันทำสิ่งที่คล้ายคลึงกัน …

เห็นได้ชัดว่าฉันไม่ได้เป็นเจ้าของ X-wing โชคไม่ดีที่ฉันต้องทำงานกับ Mini R/C Quadcopter

แผนคือ - จะมีสคริปต์การประมวลผลภาพที่ทำงานบนแล็ปท็อปของฉัน ซึ่งจะคอยมองหามือของฉันอย่างต่อเนื่องและติดตามตำแหน่งในเฟรมวิดีโอ เมื่อได้พิกัดของมือแล้ว มันจะส่งสัญญาณตามลำดับไปยังโดรน และจะทำโดยใช้ Arduino ที่เชื่อมต่อกับแล็ปท็อปพร้อมกับโมดูลรับส่งสัญญาณ NRF24L01 2.4GHz ซึ่งสามารถสื่อสารโดยตรงกับบอร์ดรับสัญญาณของโดรน R/C ใดๆ.

เสบียง

  • คอมพิวเตอร์แล็ปท็อป/เดสก์ท็อปที่ติดตั้งเว็บแคมและ Python (ฉันกำลังใช้แล็ปท็อป W indows กับเว็บแคมในตัวและใช้งาน Python 2.7.14)
  • R/C Drone ใดๆ ที่ทำงานบนความถี่ 2.4Ghz (JJRC H36 ในกรณีของฉัน)
  • Arduino UNO พร้อมกับสายการเขียนโปรแกรม (ฉันใช้โคลนของมันเพราะมันถูกกว่า)
  • NRF24L01 โมดูลรับส่งสัญญาณไร้สายเสาอากาศ 2.4GHz (ฉันซื้อสิ่งนี้จากที่นี่เพียง₹ 99 ($ 1.38))
  • บอร์ดอะแดปเตอร์ 3.3V สำหรับโมดูลไร้สาย 24L01 (ฉันซื้อสิ่งนี้จากที่นี่ในราคาเพียง₹ 49 ($ 0.68))
  • สายจัมเปอร์ชายและหญิง x7

ขั้นตอนที่ 1: รวบรวมเสบียง

รวบรวมพัสดุ!
รวบรวมพัสดุ!

ขั้นตอนที่ 2: การเชื่อมต่อโมดูล NRF กับ Arduino

การเชื่อมต่อโมดูล NRF กับ Arduino
การเชื่อมต่อโมดูล NRF กับ Arduino
การเชื่อมต่อโมดูล NRF กับ Arduino
การเชื่อมต่อโมดูล NRF กับ Arduino
การเชื่อมต่อโมดูล NRF กับ Arduino
การเชื่อมต่อโมดูล NRF กับ Arduino
การเชื่อมต่อโมดูล NRF กับ Arduino
การเชื่อมต่อโมดูล NRF กับ Arduino

ตอนนี้เมื่อคุณมีส่วนประกอบทั้งหมดแล้ว มาเริ่มด้วยการเดินสายโมดูล NRF กับ Arduino กัน

  1. ขั้นแรก ใส่โมดูล NRF ลงในช่องเสียบที่ให้มาบนอะแดปเตอร์ คุณสามารถดูภาพด้านบนได้
  2. หลังจากนั้น นำสาย Male to Female และเชื่อมต่ออะแดปเตอร์ NRF กับ Arduino ดังนี้: (ดูแผนภาพวงจรด้านบน)

    • พินอะแดปเตอร์ NRF - Arduino Pin
    • VCC - 5v
    • GND - GND
    • CE - พินดิจิตอล 5
    • CSN - พินอนาล็อก 1
    • SCK - พินดิจิตอล 4
    • MO - พินดิจิตอล 3
    • MI - อนาล็อกพิน 0
    • IRQ - ไม่ได้ใช้
  3. เมื่อเชื่อมต่อเสร็จแล้ว ให้เชื่อมต่อ Arduino กับพีซีของคุณโดยใช้ Arduino Programming USB Cable และคุณเกือบเสร็จแล้ว

ขั้นตอนที่ 3: มาเริ่มเขียนโค้ดกันเถอะ

มาเขียนโค้ดกันเถอะ!
มาเขียนโค้ดกันเถอะ!
มาเขียนโค้ดกันเถอะ!
มาเขียนโค้ดกันเถอะ!

มาเริ่มกันที่ส่วนยาก…!!!

ฉันไม่ได้ทำรหัสทั้งหมดด้วยตัวเอง แต่ฉันได้นำโค้ดบางส่วนจากนักพัฒนาหลาย ๆ คนมารวมไว้เป็นหนึ่งเดียวด้วยการปรับแต่งเล็กน้อย ดังนั้นเครดิตที่เหมาะสมกับผู้สร้างดั้งเดิมทั้งหมดจะได้รับล่วงหน้า

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

ติดตามมือ:

ตัวแยกประเภท Haar Cascade ใช้สำหรับการติดตามด้วยมือในโครงการนี้ Haar Cascade ได้รับการฝึกฝนโดยการวางภาพบวกทับชุดภาพเชิงลบ และข้อมูลที่ได้รับการฝึกอบรมนี้มักจะเก็บไว้ในไฟล์ ".xml" คุณอาจได้รับไฟล์ Classifier ของเกือบทุกอย่างบนอินเทอร์เน็ตหรือคุณสามารถสร้างไฟล์ของคุณเองเช่นนี้ สำหรับโปรเจ็กต์นี้ เนื่องจากเราจำเป็นต้องควบคุมด้วยท่าทางด้วยมือ ฉันจึงใช้ตัวจำแนกประเภทหมัดชื่อ "closed_frontal_palm.xml" ซึ่งสร้างโดย Aravind Nambissan เพื่อตรวจจับมือของฉัน คุณสามารถทดสอบรหัสนี้ได้โดยเรียกใช้รหัส "hand_live.py" ใน repo ของฉัน

การเลือกรหัส NRF24 เพื่อให้ตรงกับโดรนของคุณ:

ตามผู้ผลิตและรุ่นของโดรนของคุณ คุณสามารถอ้างถึงที่เก็บ Github - "nrf24_cx10_pc" ที่สร้างโดย Perry Tsao เพื่อเลือกรหัส Arduino ที่เหมาะสมในการทำงาน ซึ่งจะตรงกับความถี่ของมัน เขาได้จัดทำบทช่วยสอนที่ดีในการควบคุม CX10 Drone ของเขาผ่านพีซี

ขณะที่ฉันใช้โดรน JJRC H36 ฉันได้อ้างถึงที่เก็บ Github อื่น - "nrf24_JJRC_H36_pc" ซึ่งเป็นทางแยกของ repo ของ Perry Tsao ที่ทำโดย Lewis Cornick เพื่อควบคุม JJRC H36 ของเขาบนพีซี

เตรียม Arduino พร้อม:

ฉันแยก repo ของ Lewis ไปที่ Github ซึ่งคุณสามารถโคลนได้หากคุณกำลังทำงานบนโดรนตัวเดียวกัน คุณต้องอัปโหลดโค้ด "nRF24_multipro.ino" หนึ่งครั้งบน Arduino Uno ของคุณเพื่อจับคู่กับ Drone ของคุณทุกครั้งที่เราเรียกใช้สคริปต์ Python

การทดสอบการสื่อสารแบบอนุกรม:

ใน repo เดียวกัน คุณอาจพบรหัส "serial_test.py" ซึ่งสามารถใช้ในการทดสอบ Serial Communication ของสคริปต์ Python กับ Arduino และหากโดรนของคุณจับคู่ได้หรือไม่ อย่าลืมเปลี่ยนพอร์ต COM ในโค้ดตามพอร์ต COM ของบอร์ด Arduino ของคุณ

การรวมทุกอย่างไว้ในรหัสเดียว:

ดังนั้นฉันจึงรวมรหัสเหล่านี้ทั้งหมดโดยนักพัฒนาต่าง ๆ และสร้างรหัสของฉันเอง "handserial.py" หากคุณกำลังทำสิ่งเดียวกันกับที่ฉันทำกับโดรนตัวเดียวกัน คุณสามารถเรียกใช้รหัสนี้โดยตรง จากนั้นคุณสามารถควบคุมโดรนของคุณโดยเพียงแค่ยกกำปั้นขึ้นไปในอากาศ รหัสแรกติดตามเพื่อกำปั้นในเฟรมวิดีโอ รหัสจะส่งค่าปีกผีเสื้อให้โดรนขึ้นหรือลงและในทำนองเดียวกันขึ้นอยู่กับพิกัด X ของหมัด รหัสจะส่งค่าปีกปีกให้โดรนบังคับไปทางซ้ายหรือขวา.

ขั้นตอนที่ 4: หมายเหตุของผู้เขียน

มี 4 ประเด็นที่ฉันอยากจะพูดถึงเป็นพิเศษเกี่ยวกับโครงการนี้:

  1. ตามที่ระบุไว้ก่อนหน้านี้ ฉันยังไม่ได้สร้างรหัสนี้โดยสมบูรณ์ แต่ฉันกำลังทำงานอย่างต่อเนื่องและจะอัปเดตรหัสเพื่อการติดตามที่ดีขึ้นใน Github Repository ของฉัน ดังนั้นหากมีข้อสงสัยหรืออัปเดตใด ๆ คุณสามารถเยี่ยมชมที่เก็บหรือ ping ฉันบน Instagram
  2. ขณะนี้ เรากำลังใช้เว็บแคมของแล็ปท็อปซึ่งไม่อนุญาตให้มีมุมมองของโดรน แต่ถ้าจำเป็น กล้องที่ติดตั้งบนโดรนก็สามารถนำมาใช้เพื่อการติดตามได้เช่นกัน ซึ่งจะช่วยให้มีมุมมองที่ดีขึ้นและควบคุมได้ดีขึ้นในที่สุด
  3. สำหรับโครงการนี้ ฉันใช้โดรน JJRC H36 ซึ่งเป็นหนึ่งในโดรนราคาถูกที่สุดในตลาด ดังนั้นจึงขาดความเสถียรของไจโรสโคป นั่นเป็นเหตุผลที่คุณอาจรู้สึกว่าการเคลื่อนไหวในวิดีโอสั่นคลอน แต่ถ้าคุณใช้โดรนคุณภาพดีและมีเสถียรภาพที่ดี คุณจะไม่ประสบปัญหานี้
  4. ฉันต้องการแก้ไข Computer Vision และการควบคุมเสียงพึมพำ ดังนั้นฉันจึงเริ่มโครงการนี้ แต่หลังจากทำงานกับคอมพิวเตอร์วิทัศน์แล้ว ฉันรู้สึกว่ามันไม่ใช่ทางออกที่ดีที่สุดในการควบคุมโดรน ดังนั้นฉันจึงวางแผนที่จะสร้างอุปกรณ์ประเภทถุงมือที่มีเซ็นเซอร์ Gyro เพื่อควบคุมโดรนในอนาคต ดังนั้นคอยติดตามการปรับปรุง …

หากคุณชอบบทช่วยสอนนี้โปรดกดไลค์และแชร์และโหวตให้

แค่นี้ก่อนนะ..เจอกันใหม่ตอนหน้า…

แนะนำ: