สารบัญ:

หัวหน้าคุณ Wallplate หันไปตามคุณ: 9 ขั้นตอน (พร้อมรูปภาพ)
หัวหน้าคุณ Wallplate หันไปตามคุณ: 9 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: หัวหน้าคุณ Wallplate หันไปตามคุณ: 9 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: หัวหน้าคุณ Wallplate หันไปตามคุณ: 9 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: HOW TO MARK RAFTERS AND FIX A WALL PLATE 2024, กรกฎาคม
Anonim
Image
Image
มอเตอร์สำหรับเซนเซอร์
มอเตอร์สำหรับเซนเซอร์

นี่เป็นเวอร์ชันขั้นสูงของหุ่นยนต์ภาพลวงตาของ Mr. Wallplate https://www.instructables.com/id/Mr-Wallplates-Eye-Illusion เซ็นเซอร์อัลตราโซนิกช่วยให้ศีรษะของ Mr. Wallplate ติดตามคุณขณะที่คุณเดินนำหน้าเขา

สามารถสรุปกระบวนการได้ดังนี้ เซ็นเซอร์จะหมุนทวนเข็มนาฬิกา (ซ้าย) 60 องศาก่อน แล้วจึงเลี้ยวขวาขณะสแกนหาวัตถุที่อยู่ใกล้กว่า 3 ฟุต หากตรวจไม่พบสิ่งใดก่อนที่จะถึง 60 องศาทางขวา เครื่องจะทำการเลี้ยวซ้ายซ้ำแล้วจึงสแกนจนกว่าจะตรวจพบวัตถุ จากนั้นให้ศีรษะหันเข้าหาตัว เซ็นเซอร์จะเลี้ยวซ้ายไปทางซ้ายสุด (-60 องศา) แล้วสแกนอีกครั้งทางขวา การหันศีรษะและการสแกนจะดำเนินต่อไปจนกว่าวัตถุจะเคลื่อนที่ถอยหลังเกิน 3 ฟุตหรือไปทางซ้ายหรือขวามากเกินไป สรุปรายละเอียดเพิ่มเติมของตรรกะของโปรแกรมอยู่ในขั้นตอน #6

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

มอเตอร์เซ็นเซอร์ถูกตั้งค่าให้เคลื่อนที่ด้วยความเร็วค่อนข้างต่ำ ฉันลองใช้ความเร็วที่เร็วขึ้น แต่ผลที่ได้คือการเคลื่อนไหวกระตุกซึ่งดูไม่ดี และการติดตามก็ไม่เร็วขึ้นมาก

จุดที่น่าสนใจคือเซ็นเซอร์ทำงานได้ดีที่สุดในการตรวจจับวัตถุที่มีพื้นผิวแข็งซึ่งสะท้อนเสียงได้ดี วัตถุที่มีพื้นผิวอ่อนนุ่ม เช่น คนที่สวมเสื้อสเวตเตอร์หนา อาจตรวจไม่พบเลยเมื่ออยู่ไกลเกินไป (มากกว่า 3 ฟุตครึ่งในการทดสอบของฉัน) เมื่อฉันถือกระดาษลูกฟูกขนาดประมาณ 13”x20” ข้างหน้าฉันแล้วเดินไปที่เซ็นเซอร์ กล้องตรวจพบฉันห่างออกไปประมาณ 8 ฟุต

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

ซอฟต์แวร์ Mindstorms EV3 บนคอมพิวเตอร์ใช้เพื่อสร้างโปรแกรม จากนั้นดาวน์โหลดไปยังไมโครคอนโทรลเลอร์ที่เรียกว่า EV3 Brick วิธีการเขียนโปรแกรมเป็นแบบไอคอน โดยใช้ Programming Blocks เช่น Motor Block, Ultrasonic Sensor Block, Math Block ฯลฯ แต่ละ Block มีตัวเลือกและพารามิเตอร์ เป็นเรื่องง่ายและหลากหลาย นอกจากนี้ เพื่อวัตถุประสงค์ในการทดสอบ เมื่อ Brick เชื่อมต่อกับคอมพิวเตอร์และโปรแกรมกำลังทำงาน การแสดงผลบนคอมพิวเตอร์จะแสดงแบบเรียลไทม์ มุมของมอเตอร์แต่ละตัว และระยะทางที่เซ็นเซอร์ตรวจจับวัตถุ นอกจากนี้ เคอร์เซอร์ของเมาส์อาจอยู่ในตำแหน่งเหนือสายข้อมูลในโปรแกรม และค่าของสายข้อมูลนั้น (ตามเวลาจริง) จะแสดงในหน้าต่างเล็กๆ ใกล้กับเคอร์เซอร์ (สายข้อมูลใช้เพื่อนำค่าจากบล็อกการเขียนโปรแกรมหนึ่งไปยังอีกบล็อกหนึ่ง)

เสบียง

  1. ชุดเลโก้ Mindstorms EV3
  2. LEGO Mindstorms EV3 เซ็นเซอร์อัลตราโซนิก ไม่รวมอยู่ในชุด EV3
  3. ภาชนะพลาสติกกลม 2 ใบ นำกลับบ้านได้ไม่น้อยกว่า 6 ¼ นิ้ว (16 ซม.) เส้นผ่านศูนย์กลาง และสูง 1 ¾ นิ้ว (4 ½ ซม.) หรืออ่างที่มีเส้นผ่านศูนย์กลางเท่ากันและสูงประมาณ 3 ½นิ้วก็ใช้ได้
  4. สลักเกลียวหัวแบน #8 ยาว 1 ½ นิ้ว (ประมาณ 4 ซม.)
  5. 4 น็อตสำหรับสลักเกลียว
  6. สกรูหัวกลม #6 2 ตัว ยาวประมาณ ½ นิ้ว (1 ซม.) ควรใช้สีเดียวกับภาชนะที่นำออก

เครื่องมือ:

  1. ดอกสว่านและดอกสว่าน
  2. ไขควง.
  3. กรรไกร.

ขั้นตอนที่ 1: มอเตอร์สำหรับเซนเซอร์

มอเตอร์สำหรับเซนเซอร์
มอเตอร์สำหรับเซนเซอร์
มอเตอร์สำหรับเซนเซอร์
มอเตอร์สำหรับเซนเซอร์
มอเตอร์สำหรับเซนเซอร์
มอเตอร์สำหรับเซนเซอร์

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

ติดมอเตอร์โดยใช้สลักเกลียว 2 ตัวที่ทะลุผ่านรู โดยมีส่วนประกอบ LEGO สีดำ 3 รูเพื่อรองรับมอเตอร์

ใช้กรรไกรตัดชิ้นส่วนออกจากด้านหลังของภาชนะเพื่อให้มีที่ว่างสำหรับสายเคเบิล

ติดเซ็นเซอร์อัลตราโซนิกเข้ากับมอเตอร์โดยใช้ชิ้นส่วน LEGO สีเทา 3 ชิ้นตามที่แสดงในภาพใดภาพหนึ่ง

ขั้นตอนที่ 2: มอเตอร์สำหรับหัว

มอเตอร์สำหรับหัว
มอเตอร์สำหรับหัว
มอเตอร์สำหรับหัว
มอเตอร์สำหรับหัว
มอเตอร์สำหรับหัว
มอเตอร์สำหรับหัว

ขั้นแรก ใช้กรรไกรตัดขอบปากแนวตั้งออกจากภาชนะที่นำออกอีกอันหนึ่ง เพื่อให้พอดีกับขอบของภาชนะแรก ขอบล้อแนวนอน 2 อันจะติดด้วยสกรูในภายหลัง เพื่อให้คอนเทนเนอร์ 2 ตัวติดแน่น

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

ติดมอเตอร์โดยใช้สลักเกลียว 2 ตัวขึ้นไปผ่านรู โดยมีส่วนประกอบสีดำ 3 รูเพื่อรองรับมอเตอร์

ใช้กรรไกรตัดชิ้นส่วนจากด้านข้างของภาชนะให้เป็นช่องว่างกว้างประมาณ 4 ½ นิ้ว (11 ซม.) นี่เป็นสิ่งจำเป็นสำหรับเซ็นเซอร์อัลตราโซนิกที่จะยื่นออกมาและเคลื่อนจากด้านหนึ่งไปอีกด้านหนึ่ง เพลาของมอเตอร์ควรอยู่ในแนวเดียวกับกึ่งกลางของช่องว่าง

ขั้นตอนที่ 3: แก้ไขส่วนหัว

แก้ไขหัว
แก้ไขหัว
แก้ไขหัว
แก้ไขหัว
แก้ไขหัว
แก้ไขหัว

เอาหัว Mr. Wallplate จาก “Mr. หุ่นยนต์ Wallplate's Eye Illusion และถอดขาตั้งด้านหลังออก ก็สามารถดึงออกได้ง่ายๆ

จากภาพหนึ่ง ให้ใช้องค์ประกอบสีดำรูปตัว X 2 ชิ้นและองค์ประกอบสีน้ำเงิน 2 ชิ้นที่มีส่วนตัดขวางเช่น "X" ที่ปลายด้านหนึ่งและ "O" ที่ปลายอีกด้านหนึ่ง แนบไปกับองค์ประกอบด้านล่างบนหัวตามที่แสดง หัวจะเลื่อนไปรอบ ๆ ภาชนะ

ขั้นตอนที่ 4: แนบหัวกับมอเตอร์

ติดหัวเข้ากับมอเตอร์
ติดหัวเข้ากับมอเตอร์
ติดหัวเข้ากับมอเตอร์
ติดหัวเข้ากับมอเตอร์
ติดหัวเข้ากับมอเตอร์
ติดหัวเข้ากับมอเตอร์

นำองค์ประกอบที่แสดงในรูปภาพแรก (ยกเว้นองค์ประกอบยาว) มาประกอบเข้าด้วยกันดังแสดงในรูปภาพที่สอง จากนั้นแนบมาใกล้ส่วนล่างสุดของศีรษะตามภาพ สิ่งนี้จะช่วยพยุงศีรษะและป้องกันไม่ให้พยักหน้าขึ้นลง

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

ขั้นตอนที่ 5: เชื่อมต่อ EV3 Brick กับ Mr. Wallplate

เชื่อมต่อ EV3 Brick กับ Mr. Wallplate
เชื่อมต่อ EV3 Brick กับ Mr. Wallplate
เชื่อมต่อ EV3 Brick กับ Mr. Wallplate
เชื่อมต่อ EV3 Brick กับ Mr. Wallplate

สายแบนในชุด EV3 เชื่อมต่อกับ Brick ดังนี้:

พอร์ต A: สายเคเบิล 14 นิ้ว (35 ซม.) ไปยังลิปมอเตอร์ขนาดเล็ก

พอร์ต B: สายเคเบิล 10 นิ้ว (26 ซม.) ไปยังมอเตอร์ขนาดใหญ่สำหรับส่วนหัว

พอร์ต C: สายเคเบิล 14 นิ้ว (35 ซม.) ไปยังมอเตอร์ขนาดใหญ่สำหรับเซ็นเซอร์อัลตราโซนิก

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

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

ขั้นตอนที่ 6: คำอธิบายของโปรแกรม

ตรรกะของโปรแกรมสรุปไว้ด้านล่าง ฉันคิดว่าขั้นตอน #3 และ #6 อาจจะทำแตกต่างกันในโปรแกรมสำหรับระบบอื่น เช่น Arduino LEGO Mindstorms EV3 มีประโยชน์มากและใช้งานง่าย แต่มีข้อจำกัดบางอย่างในสิ่งที่สามารถทำได้ วิธีเดียวในการสแกนที่ฉันสามารถเข้าใจได้คือหมุนเซ็นเซอร์ครั้งละ 10 องศาและตรวจสอบว่ามีการตรวจจับวัตถุหรือไม่

  1. เริ่มต้น: ตั้งค่าตัวแปรเป็นศูนย์และรอ 7 วินาที
  2. หมุนเซ็นเซอร์ทวนเข็มนาฬิกา (ซ้าย) ไปทางซ้ายสุด (-60 องศา)
  3. หมุนเซ็นเซอร์ไปทางขวา 10 องศา
  4. เซ็นเซอร์ถูกย้ายไปที่ขีด จำกัด ที่ถูกต้อง (+60 องศา) หรือไม่?
  5. ถ้าใช่ ให้ตรวจสอบว่ามีคนตรวจพบหรือไม่ หากตรวจไม่พบ เซ็นเซอร์จะหมุนไปทางซ้าย 120 องศา และโปรแกรมจะไปยังขั้นตอนต่อไป หากตรวจพบ แสดงว่าบุคคลนั้นได้ย้ายออกไปแล้ว โปรแกรมพูดว่า "ลาก่อน" ศีรษะและเซ็นเซอร์หันไปทางด้านหน้าและโปรแกรมจะหยุดลง
  6. วนกลับไปที่ขั้นตอน #3 หากเซ็นเซอร์ไม่เห็นสิ่งใดภายใน 36 นิ้ว
  7. ขั้นตอนนี้จะดำเนินการหากเซ็นเซอร์ตรวจพบบางสิ่งภายใน 36 นิ้ว หันศีรษะเข้าหาบุคคลที่ตรวจพบ หากไม่พบใครก่อนหน้านี้ ให้พูดว่า "สวัสดี"
  8. วนกลับไปที่ขั้นตอนที่ #2 เพื่อสแกนต่อ แต่ถ้าวนซ้ำ 20 ครั้ง โปรแกรมจะไปยังขั้นตอนต่อไป
  9. พูดว่า "จบเกม" ศีรษะและเซ็นเซอร์หันไปทางด้านหน้าและโปรแกรมจะหยุด

ขั้นตอนที่ 7: สร้างโปรแกรม

สร้างโปรแกรม
สร้างโปรแกรม
สร้างโปรแกรม
สร้างโปรแกรม
สร้างโปรแกรม
สร้างโปรแกรม

LEGO Mindstorms EV3 มีวิธีการเขียนโปรแกรมตามไอคอนที่สะดวกมาก Programming Blocks จะแสดงที่ด้านล่างของหน้าจอแสดงผล และสามารถลากและวางลงในหน้าต่าง Programming Canvas เพื่อสร้างโปรแกรมได้ ฉันสร้าง 4 “My Blocks” ซึ่งเป็นโปรแกรมขนาดเล็ก เช่น รูทีนย่อยในโปรแกรมปกติ ทำให้เข้าใจตรรกะของโปรแกรมหลักในภาพหน้าจอได้ง่ายขึ้น

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

  1. โปรแกรมหลัก.
  2. “เริ่มต้น” บล็อกของฉัน
  3. “เลี้ยวซ้ายเซ็นเซอร์ไปทางซ้ายสุด” My Block
  4. “หันหัว” บล็อกของฉัน
  5. “เสร็จสิ้น” บล็อกของฉัน

เมื่อสร้างโปรแกรมนี้ ฉันจะแนะนำสิ่งต่อไปนี้:

  1. สร้าง "บล็อกของฉัน" ก่อน
  2. สิ่งสำคัญคือต้องทำงานจากซ้ายไปขวา และขยายบล็อกลูปและสวิตช์ก่อนที่จะลากบล็อกอื่นๆ เข้าไปข้างใน ฉันพบปัญหาที่ยุ่งเหยิงในการพยายามแทรกบล็อกเพิ่มเติมในลูประหว่างการทดสอบและปรับแต่งโปรแกรมที่เกือบเสร็จแล้ว
  3. ควรขยาย Loop Block ที่ใหญ่ขึ้นจนเกือบถึงขอบด้านขวาของ Programming Canvas ก่อนที่คุณจะเริ่มแทรก Blocks นี่เป็นสิ่งจำเป็นเพื่อที่จะมีพื้นที่เพียงพอในการลากบล็อคอื่นๆ เข้าไปข้างใน หลังจากนั้นก็สามารถทำให้เล็กลงได้

ขั้นตอนที่ 8: ดาวน์โหลดโปรแกรมไปที่ EV3 Brick

EV3 Brick อาจเชื่อมต่อกับคอมพิวเตอร์โดยใช้สาย USB, Wi-Fi หรือ Bluetooth เมื่อเชื่อมต่อและเปิดเครื่องแล้ว จะปรากฏในหน้าต่างเล็กๆ ที่มุมล่างขวาของหน้าต่าง EV3 บนคอมพิวเตอร์ การคลิกไอคอนที่ถูกต้องที่ด้านขวาสุดที่มุมล่างขวาจะเป็นการดาวน์โหลดโปรแกรมไปที่ EV3 Brick และเรียกใช้ทันที

หลังจากดาวน์โหลด EV3 Brick อาจถูกถอดออกจากคอมพิวเตอร์และโปรแกรมอาจถูกเริ่มต้นบน EV3 Brick

ขั้นตอนที่ 9: การสรุปข้อสังเกต

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

มีวิธีการอื่นในการสแกน: สามารถวางเซ็นเซอร์อัลตราโซนิกหลายตัวไว้ข้างๆ กัน โดยพัดออกไปที่ระดับ 25 หรือ 30 องศาจากกันและกัน ศีรษะสามารถหมุนไปในทิศทางที่เซ็นเซอร์ตรวจจับวัตถุได้ วิธีนี้จะตรวจจับวัตถุที่เคลื่อนที่เร็วได้ดีกว่าวิธีที่อธิบายไว้ในโครงการข้างต้นมาก อย่างไรก็ตาม หัวจะมีทิศทางเพียงเล็กน้อยเท่านั้น วิธีนี้น่าจะเป็นไปได้ด้วย Mindstorms EV3 Brick มีพอร์ตเซ็นเซอร์ 4 พอร์ตสำหรับเซ็นเซอร์อัลตราโซนิกสูงสุด 4 ตัว (การเขียนโปรแกรมต้องการหมายเลขพอร์ตเพื่อกำหนดให้กับเซ็นเซอร์) สามารถรองรับเซ็นเซอร์ได้มากขึ้นโดยการผูกอิฐก้อนที่สอง

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

แนะนำ: