สารบัญ:

อุ๊ย: 6 ขั้นตอน
อุ๊ย: 6 ขั้นตอน

วีดีโอ: อุ๊ย: 6 ขั้นตอน

วีดีโอ: อุ๊ย: 6 ขั้นตอน
วีดีโอ: EP.6 ติช่า Ticha Kanticha ผู้Runวงการ Sex Education l คุยกับอุ๋ย l Full 2024, กรกฎาคม
Anonim
อุ๊ย
อุ๊ย
อุ๊ย
อุ๊ย

Ouch เป็นผู้ช่วยต้อกระจกไร้ประโยชน์รอบทิศทางส่วนบุคคลของคุณ ในขณะที่การจดจำใบหน้ามาถึง Zeitgeist OUCH ก็มาถึงคุณ! OUCH ไม่เพียงแต่รู้ว่าคุณหน้าตาเป็นอย่างไร แต่ยังรู้ว่าต้องน่ารำคาญด้วย! เครื่องนี้แตกต่างจากพี่ใหญ่ตรงที่มองเห็นได้ชัดเจนและบรรลุจุดประสงค์เดียวเท่านั้น: เพื่อทำให้ชีวิตของคุณน่าขยะแขยงขึ้นเล็กน้อย คุณเคยลืมแว่นกันแดดที่บ้านและรู้สึกประหลาดใจกับแสงสะท้อนที่สดใสหรือไม่? OUCH ให้คุณหวนคิดถึงช่วงเวลานี้ครั้งแล้วครั้งเล่า การสะท้อนแสงจากแหล่งกำเนิดแสงที่สว่างที่สุดรอบตัวคุณโดยตรงบนใบหน้าของคุณ จะช่วยให้แน่ใจว่าคุณจะไม่สนุกกับช่วงเวลาหนึ่งที่อยู่รอบๆ ตัวคุณ

ระวัง มิฉะนั้น OUCH อาจเป็นสิ่งสุดท้ายที่คุณจะได้เห็น!

โครงการนี้ดำเนินการเป็นส่วนหนึ่งของการสัมมนาการออกแบบคอมพิวเตอร์และการผลิตดิจิทัลในหลักสูตรปริญญาโทของ ITECH

สิงหาคม Lehrecke | Max Zorn

เสบียง

ชิ้นส่วนอิเล็กทรอนิกส์:

Arduino

  • Arduino UNO

    • 2x Reely Mini-Servo S0009
    • โฟโตรีซีสเตอร์ 4 เท่า
    • ตัวต้านทาน 4x 10k
    • 2x โพเทนชิโอมิเตอร์
    • 1x สาย USB เครื่องพิมพ์

ราสเบอร์รี่ปี่

  • ราสเบอร์รี่ Pi 4

    • 1x RaspiCam
    • 4x Reely Mini-Servo S0009
    • 1x PCA9685 16-Channel 12-bit PWM ไดร์เวอร์เซอร์โว
    • แหล่งจ่ายไฟภายนอก 5v DC
    • 1x Rasberry Pi 5.1V - แหล่งจ่ายไฟ 3Amp (หรือเทียบเท่าภายนอก)
    • 1x MAKERFACTORY HC-SR05 อัลตราชัลล์เซนเซอร์ (MF-6402156)
    • ตัวต้านทาน 1x470 โอห์ม
    • ตัวต้านทาน 1x320 โอห์ม

ชิ้นส่วนที่พิมพ์ 3 มิติ:

OUCH มาในรูปทรงและขนาดต่างๆ สำหรับเวอร์ชันนี้ เราใช้เครื่องพิมพ์ 3 มิติเพื่อพิมพ์กลไกแบบกำหนดเอง

  • 4 x ขาตั้ง
  • 2 x ฐาน S
  • 1 x ฐาน L
  • 2 x ฐานหมุนดับเบิล
  • 1 x ฐานหมุนเดี่ยว
  • 1 x ชุดแกนรองรับ S
  • 1 x ชุดแกนรองรับ M
  • 1 x ชุดแกนรองรับ L
  • 1 x กล้อง Mount
  • 1 x เมาท์ไลท์
  • 1 x ที่ยึดกระจก

คุณสามารถใช้การออกแบบ Tower ที่มีให้เพื่อรวมส่วนประกอบเพื่อ:

  • 1 x ทาวเวอร์ (แทน 4 x ขาตั้ง)
  • 1 x ฐาน S & 1x ฐาน M (แทนที่จะเป็น 2 x ฐาน S)

ส่วนอื่นๆ:

  • Mylar
  • 1 x ยางรัด
  • 1 x ซิปรูด
  • สกรูหัวแบน 12 M5 x 160
  • สกรูหัวแบน 2 M5 x 80

เครื่องมือ:

  • เครื่องพิมพ์ 3 มิติ
  • ไขควง H3.0
  • ปืนกาวร้อน

ขั้นตอนที่ 1: ขั้นตอนที่ 1: การพิมพ์ชิ้นส่วน

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

สำหรับองค์ประกอบใบหน้า เราต้องการ:

  • 2 x ขาตั้ง
  • 1 x ฐาน L
  • 1 x ฐานหมุน Double
  • 1 x ชุดแกนรองรับ M
  • 1 x กล้อง & ระยะทาง เซนเซอร์ Mount

ส่วนประกอบ Light ต้องการ:

  • 1 x ขาตั้ง
  • 1 x ฐาน S
  • 1 x ฐานหมุน Double
  • 1 x ชุดแกนรองรับ S
  • 1 x เมาท์ไลท์

ส่วนประกอบของกระจกเงาประกอบด้วยสิ่งต่อไปนี้:

  • 1 x ขาตั้ง
  • 1 x ฐาน S
  • 1 x ฐานหมุนเดี่ยว
  • 1 x ชุดแกนรองรับ L
  • ติดกระจก

สุดท้ายนี้ คุณยังสามารถพิมพ์หอคอยที่ให้มาได้อีกด้วย

หากคุณต้องการใช้เป็นฐานสำหรับองค์ประกอบทั้งสาม คุณจะต้องปรับคณิตศาสตร์เวกเตอร์ในโค้ดให้สอดคล้องกัน นอกจากนี้ ให้เชื่อมต่อส่วนประกอบ Face กับ Base M แทน Base L เข้ากับหอคอย

ขั้นตอนที่ 2: ขั้นตอนที่ 2: การสร้างกระจก

ขั้นตอนที่ 2: การสร้างกระจก
ขั้นตอนที่ 2: การสร้างกระจก
ขั้นตอนที่ 2: การสร้างกระจก
ขั้นตอนที่ 2: การสร้างกระจก

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

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

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

องค์ประกอบใบหน้า

  1. กาวร้อน กำปั้น Servo ในการตัดออกจากฐานหมุน
  2. กาวขั้วต่อเซอร์โวลงในร่องซึ่งอยู่ที่ด้านล่างของส่วนฐาน
  3. ประกอบชิ้นส่วนฐานทั้งสองเข้าด้วยกัน เพื่อให้เซอร์โวเชื่อมต่อกับขั้วต่อ
  4. ใช้สกรูของเซอร์โวเพื่อยึดคอนเนคเตอร์กับเซอร์โว
  5. กาวร้อนส่วนเชื่อมต่อที่สองลงในร่องตามซึ่งอยู่ที่ด้านบนของแกนรองรับ
  6. ใช้สลักเกลียว M5 4 ตัวเพื่อขันแกนรองรับกับฐานหมุน
  7. ติดกาวเซอร์โวตัวที่สองเข้ากับเมาท์
  8. เลื่อนกล้องไปที่หมุด
  9. ติดเซ็นเซอร์วัดระยะอัลตราโซนิกเข้ากับเมาท์ ไม่ว่าจะด้วยการขันสกรูหรือการติดกาวร้อน
  10. เชื่อมต่อตัวยึดกล้อง / เซ็นเซอร์เข้ากับแกนรองรับ Servo อีกครั้งต้องเลื่อนเข้าไปในชิ้นส่วนเชื่อมต่อ
  11. ใช้สกรูของเซอร์โวเพื่อยึดคอนเนคเตอร์กับเซอร์โว
  12. ขัน Raspberry Pi และไดรเวอร์เซอร์โวเข้ากับแผ่นไม้อัด (ตรวจสอบให้แน่ใจว่าระยะห่างตรงกับรูของฐาน L)
  13. ขันสกรูส่วนหน้าเข้ากับขาตั้ง โดยใช้สลักเกลียว M5

ส่วนประกอบกระจก

  1. ทำตามขั้นตอนที่ 1 ถึง 7
  2. เชื่อมต่อกระจกกับแกนรองรับ
  3. กาวขาตั้งกระจกกับไม้อัด เพื่อให้ส่วนประกอบกระจกและใบหน้าอยู่ในแนวเดียวกัน
  4. ขันสกรูส่วนประกอบกระจกเข้ากับขาตั้ง โดยใช้สลักเกลียว M5

ส่วนประกอบแสง

  1. ทำตามขั้นตอนที่ 1 ถึง 7 จากด้านบน
  2. ร้อยเซ็นเซอร์แสงผ่านรูยึดที่ด้านล่างของช่องบังแสง
  3. เชื่อมต่อแรเงากากบาทเข้ากับแกนรองรับ Servo อีกครั้งต้องเลื่อนเข้าไปในชิ้นส่วนเชื่อมต่อ
  4. ใช้สกรูของเซอร์โวเพื่อยึดคอนเนคเตอร์กับเซอร์โว
  5. กาวขาตั้งกับไม้อัดเพื่อให้ส่วนประกอบ Light, Mirror และ Face อยู่ในแนวเดียวกันและ Mirror อยู่ระหว่างส่วนประกอบ Face และ Light
  6. ขันสกรูส่วนหน้าเข้ากับขาตั้ง โดยใช้สลักเกลียว M5

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

ขั้นตอนที่ 4: ขั้นตอนที่ 4: กำหนดค่าบอร์ด

ขั้นตอนที่ 4: กำหนดค่าบอร์ด
ขั้นตอนที่ 4: กำหนดค่าบอร์ด
ขั้นตอนที่ 4: กำหนดค่าบอร์ด
ขั้นตอนที่ 4: กำหนดค่าบอร์ด
ขั้นตอนที่ 4: กำหนดค่าบอร์ด
ขั้นตอนที่ 4: กำหนดค่าบอร์ด

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

เซอร์โวสี่ตัวเชื่อมต่อกับไดรเวอร์เซอร์โว PCA9685 ซึ่งขับเคลื่อนโดยแหล่งจ่ายไฟ 5v ภายนอก เซอร์โวสองตัวควบคุมการแพนและเอียงสำหรับกล้องติดตามใบหน้า ในขณะที่อีกสองตัวที่เหลือจะควบคุมการแพนและเอียงสำหรับกระจก

ขั้นตอนที่ 5: รหัส:

รหัส
รหัส

รหัสสำหรับโครงการนี้สามารถแบ่งออกเป็นสองส่วน: รหัสติดตามแสง Arduino และรหัสติดตามใบหน้าหลาม / รหัสตำแหน่งกระจก

รหัส Arduino:

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

รหัสหลาม:

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

เมื่อคุณดาวน์โหลด open CV แล้ว โค้ดนี้จะต้องมีการพึ่งพาเพิ่มเติม (ติดตั้งบนสภาพแวดล้อมเฉพาะที่คุณใช้งานอยู่) เพื่อเรียกใช้:

  • Adafruit ServoKit: สามารถอ่านหน้าเต็มของกระบวนการดาวน์โหลด Raspberry Pi ได้ที่นี่
  • imutils
  • งี่เง่า
  • gpiozero (หากใช้เซ็นเซอร์วัดระยะทาง)

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

ขั้นตอนที่ 6: เรียกใช้โค้ด

การรันโค้ด
การรันโค้ด
การรันโค้ด
การรันโค้ด

เมื่อคุณดาวน์โหลดโค้ดทั้งหมดในไดเร็กทอรีเดียวกันและตั้งค่าสภาพแวดล้อมเสมือนด้วย open CV คุณก็พร้อมที่จะเรียกใช้

  1. เปิดพรอมต์คำสั่งบน pi. ของคุณ
  2. พิมพ์ workon cv (หรือชื่อใดก็ตามที่คุณเลือกสำหรับสภาพแวดล้อมเสมือนของคุณ)
  3. เปลี่ยนไดเร็กทอรีเป็นที่จัดเก็บไฟล์ของคุณ (cd (พาธไปยังไฟล์))
  4. บรรทัดสุดท้ายรันโปรแกรมและระบุไฟล์ haar cascade (python Face3.py --faces haarcascade_frontalface_default.xml)

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

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

แนะนำ: