สารบัญ:

สารวัตร Roomba: 6 ขั้นตอน (พร้อมรูปภาพ)
สารวัตร Roomba: 6 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: สารวัตร Roomba: 6 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: สารวัตร Roomba: 6 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: ตำรวจเลื่อนขั้น โตไวโตช้า ยึดหลักอะไร ? | จั๊ดซัดทุกความจริง | ข่าวช่องวัน 2024, กรกฎาคม
Anonim
Image
Image
การเชื่อมต่อชิ้นส่วนอิเล็กทรอนิกส์
การเชื่อมต่อชิ้นส่วนอิเล็กทรอนิกส์

พวกเราส่วนใหญ่ใช้หุ่นยนต์ iRobot Roomba สำหรับการดูดฝุ่นเท่านั้น แต่มีเพียงไม่กี่คนที่รู้ว่ามันเป็นฐานที่ดีสำหรับโครงการหุ่นยนต์ใหม่ ผู้ผลิตทั้งหมดควรลองใช้ Roomba Open Interface (OI) เพื่อดูว่าการควบคุมหุ่นยนต์นี้ง่ายเพียงใด ในคำแนะนำนี้ คุณจะได้เรียนรู้วิธีเพิ่มคุณสมบัติที่มีประโยชน์บางอย่างให้กับ Roomba ของคุณ ในตอนเริ่มต้น ฉันจะอธิบายวิธีการควบคุมระยะไกลของ Roomba ผ่านบลูทูธและแอป Android ต่อมาฉันจะแสดงวิธีเรียกใช้การสตรีมวิดีโอตาม RPi และสุดท้ายฉันจะร่างแผนสำหรับการพัฒนาโครงการนี้ต่อไป

ชิ้นส่วนที่จำเป็นในโครงการนี้:

  1. โมดูลบลูทูธ BTM-222 หรือการทำงานอื่นๆ ที่อัตรารับส่งข้อมูล 115200 x1
  2. ตัวควบคุมแรงดันไฟฟ้าแบบสเต็ปดาวน์ 5V D24V6F5 x1
  3. เขียงหั่นขนมขนาดเล็ก x1
  4. สายไฟไม่กี่เส้น

รุ่นพร้อมปลอก:

  1. ขั้วต่อ DIN ขนาดเล็ก 8 พิน x1
  2. สวิตช์ไฟ x1
  3. นำ 3 มม. x1
  4. ตัวต้านทาน 10k x1
  5. ปลอกเล็ก 50x40x20 มม. x1

รุ่นขยาย:

  1. ราสเบอร์รี่ Pi 3 x1
  2. อ่างความร้อนทองแดง RPi x1
  3. อแด็ปเตอร์ USB WiFi x1
  4. การ์ด micro SD 8GB หรือสูงกว่า x1
  5. กล้อง RPi - เลนส์ Fisheye x1
  6. เคสสำหรับ RPi x1
  7. ก้อนแบตเตอรี่ความจุสูง 5V (อย่างน้อย 10 Ah) x1
  8. ชิ้นส่วนพลาสติกวงเล็บ x1
  9. น็อตและสลักเกลียว M2 x4

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

การเชื่อมต่อชิ้นส่วนอิเล็กทรอนิกส์
การเชื่อมต่อชิ้นส่วนอิเล็กทรอนิกส์
การเชื่อมต่อชิ้นส่วนอิเล็กทรอนิกส์
การเชื่อมต่อชิ้นส่วนอิเล็กทรอนิกส์
การเชื่อมต่อชิ้นส่วนอิเล็กทรอนิกส์
การเชื่อมต่อชิ้นส่วนอิเล็กทรอนิกส์

คราวนี้ ขั้นตอนนี้ง่ายมากเพราะเราจำเป็นต้องเชื่อมต่อสองโมดูลเท่านั้นจึงจะสามารถควบคุม Roomba ของเราได้ อย่างแรกคือโมดูล Bluetooth ที่สามารถทำงานได้ที่ 115200 bps ประการที่สองคือ 5V Step-Down Voltage Regulator D24V6F5 แบตเตอรี่ Roomba ที่ชาร์จแล้วมีแรงดันไฟฟ้าประมาณ 14.4V และโมดูลบลูทูธของเราต้องการ 5V ดังนั้นเราจึงจำเป็นต้องลดแรงดันแบตเตอรี่ให้อยู่ที่ระดับ 5V โดยใช้ตัวควบคุมแรงดันไฟฟ้า ตัวควบคุม D24V6F5 มีประสิทธิภาพระหว่าง 80 ถึง 90% ซึ่งคุ้มค่ามากเมื่อเทียบกับตัวควบคุมเชิงเส้นตรงแบบคลาสสิกซึ่งโดยทั่วไปจะมีประสิทธิภาพต่ำกว่า 40% วิธีที่ง่ายที่สุดในการเชื่อมต่อโมดูลทั้งสองนี้คือการใส่ลงในแผงวงจรทดลองขนาดเล็กและการเดินสายตามแผนภาพการเดินสายด้านบน นอกจากนี้ การเชื่อมต่อทั้งหมดจะแสดงในรูปภาพที่มีหมายเลข ระวังเมื่อเชื่อมต่อกับขั้วแบตเตอรี่ ไฟฟ้าลัดวงจรอาจทำให้แบตเตอรี่เสียหายได้!

ขั้นตอนที่ 2: การใช้แอพควบคุม Android

Image
Image
การใช้แอพควบคุม Android
การใช้แอพควบคุม Android
การใช้แอพควบคุม Android
การใช้แอพควบคุม Android
การใช้แอพควบคุม Android
การใช้แอพควบคุม Android

ฉันได้พัฒนาแอพ Android ที่ให้คุณควบคุมหุ่นยนต์ดูดฝุ่น Roomba 500 series ผ่านบลูทูธ คุณสามารถดาวน์โหลดแอปของฉันได้ฟรีจาก Google Play - Roomb Control ใช้งานได้กับทั้งสมาร์ทโฟนและแท็บเล็ต

วิธีใช้แอพ Roomb Control:

  • แตะมุมขวาบนของหน้าจอ (จุดแนวตั้ง 3 จุด)
  • เลือกแท็บ "เชื่อมต่อ"
  • แตะที่แท็บ "BTM222" และหลังจากนั้นสักครู่คุณจะเห็นข้อความ "เชื่อมต่อกับ BTM222"
  • หลังจากเชื่อมต่อแล้ว คุณสามารถควบคุม Roomba. ของคุณได้
  • หากคุณไม่เห็นอุปกรณ์บลูทูธของคุณ ให้แตะปุ่ม "สแกนหาอุปกรณ์"
  • ในการใช้งานโมดูลบลูทูธครั้งแรก โปรดอย่าลืมจับคู่กับสมาร์ทโฟนของคุณโดยป้อนรหัสเริ่มต้นที่ให้ไว้ในข้อกำหนดโมดูลบลูทูธ

ขั้นตอนที่ 3: Roomba Open Interface ในตัวอย่าง

ในขั้นตอนนี้ คุณจะพบตัวอย่างคำสั่งทั่วไปที่ใช้ในการควบคุม Roomba series 500 คุณสามารถดูข้อมูลเพิ่มเติมเกี่ยวกับ Roomba Open Interface ได้ในเอกสารนี้

Roomba 500+ สามารถทำงานในหนึ่งในสี่โหมด:

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

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

โหมดการทำงานที่ปลอดภัยและทำงานได้อย่างสมบูรณ์คือเซฟโหมดซึ่งเป็นโหมดที่ต้องการสำหรับการควบคุมระยะไกล ในการเรียกใช้เซฟโหมดก่อนอื่น เราต้องส่งคำสั่ง 128 ที่เริ่มต้น Open Interface จากนั้นจึงสั่ง 130 (หรือ 131) เพื่อให้ Roomba เข้าสู่เซฟโหมด หากเราต้องการเรียกใช้โหมดการทำความสะอาดในตัวอย่างใดอย่างหนึ่ง (คลีน สปอต ด็อค ฯลฯ) เราควรส่งคำสั่งที่สามพร้อมรหัสที่เหมาะสม (Clean-135, Spot-134, Dock-143) ลำดับอนุกรมแบบเต็มสำหรับโหมดเหล่านี้มีดังนี้:

  • ตั้งค่าเซฟโหมด - (128, 130)
  • สปอต - (128, 130, 134)
  • คลีน - (128, 130, 135)
  • ท่าเรือ - (128, 130, 143)

หาก Roomba อยู่ในเซฟโหมด เราสามารถควบคุมล้อขับเคลื่อนของ Roomba ได้โดยใช้คำสั่ง 137 ลำดับอนุกรม 5 ไบต์แบบเต็มมีดังนี้: (137, ไบต์สูงความเร็ว, ไบต์ต่ำความเร็ว, ไบต์สูงรัศมี, ไบต์ต่ำรัศมี) ตัวอย่างของลำดับอนุกรมสำหรับการควบคุมการเคลื่อนที่ของ Roomba:

  • ไปข้างหน้า - (137, 100, 0, 128, 0)
  • ย้อนกลับ - (137, 254, 12, 128, 0)
  • เลี้ยวขวา - (137, 100, 0, 255, 255)
  • เลี้ยวซ้าย - (137, 100, 0, 0, 1)

อีกทางหนึ่งเพื่อควบคุมการเคลื่อนไหวของหุ่นยนต์ เราสามารถใช้คำสั่ง 146 คำสั่งนี้ให้เราควบคุม PWM (Pulse-Width Modulation) สำหรับล้อขวาและซ้าย: (146, ไบต์สูง PWM ขวา, ไบต์ต่ำ PWM ขวา, ไบต์สูง PWM ซ้าย, PWM ซ้าย ไบต์ต่ำ) ตัวอย่างการควบคุม PWM:

  • เลื่อนบนขวา - (146, 0, 130, 0, 255)
  • เลื่อนบนซ้าย - (146, 0, 255, 0, 130)

คำสั่ง 139 ควบคุมสีของไฟ LED เราสามารถเปลี่ยนสี LED Clean/Power ได้โดยการตั้งค่า Color byte ตามลำดับซีเรียล: (139, LED Bits, Color, Intensity) หาก Color byte ถูกตั้งค่าเป็น 0 เราจะได้สีเขียว โดยการเพิ่มค่านี้ เราจะได้สีกลาง (สีส้ม สีเหลือง ฯลฯ) และสีแดงสำหรับค่าสูงสุด 255 ตัวอย่างการควบคุมของ LED:

  • สีเขียว - (139, 0, 0, 128)
  • ส้ม - (139, 0, 128, 128)
  • สีแดง - (139, 0, 255, 128)

คำสั่งสุดท้ายที่ฉันอยากจะพูดถึงคือคำสั่ง 140 ที่ให้คุณเล่นเพลงง่ายๆ ตัวอย่างของซีเควนซ์ต่อเนื่องสำหรับการเล่นเพลง:

  • เพลงที่ 1 - (140, 0, 5, 72, 32, 74, 32, 76, 32, 77, 32, 79, 32, 141, 0)
  • เพลงที่ 2 - (140, 1, 5, 69, 16, 71, 16, 72, 16, 74, 16, 76, 16, 141, 1)

ขั้นตอนที่ 4: RPi Remote Webcam

RPi Remote Webcam
RPi Remote Webcam

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

  1. แก้ไข: sudo nano /etc/modules - เพิ่มที่ท้ายไฟล์: bcm2835-v4l2
  2. ติดตั้ง Motion: sudo apt-get install motion
  3. เปิดไฟล์ motion.conf โดยพิมพ์: sudo nano /etc/motion/motion.conf และตั้งค่าพารามิเตอร์วิดีโอ (เช่น เปิด daemon กว้าง 640 สูง 480 อัตราเฟรม 30 ปิด webcam_localhost)
  4. เปิดใช้งาน Daemon (บริการ): sudo nano /etc/default/motion และค้นหาและเปลี่ยน start_motion_daemon=yes
  5. เริ่มบริการ: sudo service motion start หรือ sudo motion -n -c /etc/motion/motion.conf
  6. ตอนนี้เปิดเว็บเบราว์เซอร์บนคอมพิวเตอร์หรือสมาร์ทโฟนแล้วพิมพ์: RPi IP:8081 (โดยที่ "RPi IP" คือ IP ของ Raspberry Pi และ 8081 เป็นพอร์ตเริ่มต้น) ตัวอย่าง: 192.168.1.14:8081. หากทุกอย่างทำงานได้ดีหลังจากนั้นไม่นาน คุณควรเห็นมุมมองจากกล้องของคุณในเว็บเบราว์เซอร์

ขั้นตอนที่ 5: แผนสำหรับการพัฒนาเพิ่มเติม

แผนการพัฒนาเพิ่มเติม
แผนการพัฒนาเพิ่มเติม
แผนการพัฒนาเพิ่มเติม
แผนการพัฒนาเพิ่มเติม
แผนการพัฒนาเพิ่มเติม
แผนการพัฒนาเพิ่มเติม
แผนการพัฒนาเพิ่มเติม
แผนการพัฒนาเพิ่มเติม

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

หากคุณต้องการดูโครงการอื่น ๆ ของฉันที่เกี่ยวข้องกับวิทยาการหุ่นยนต์ โปรดไปที่:

  • เว็บไซต์ของฉัน: www.mobilerobots.pl
  • facebook: หุ่นยนต์เคลื่อนที่

ขั้นตอนที่ 6: การเชื่อมต่อชิ้นส่วนอิเล็กทรอนิกส์ - เวอร์ชัน 2 พร้อมปลอก

การเชื่อมต่อชิ้นส่วนอิเล็กทรอนิกส์ - เวอร์ชัน 2 พร้อมปลอก
การเชื่อมต่อชิ้นส่วนอิเล็กทรอนิกส์ - เวอร์ชัน 2 พร้อมปลอก
การเชื่อมต่อชิ้นส่วนอิเล็กทรอนิกส์ - เวอร์ชัน 2 พร้อมปลอก
การเชื่อมต่อชิ้นส่วนอิเล็กทรอนิกส์ - เวอร์ชัน 2 พร้อมปลอก
การเชื่อมต่อชิ้นส่วนอิเล็กทรอนิกส์ - เวอร์ชัน 2 พร้อมปลอก
การเชื่อมต่อชิ้นส่วนอิเล็กทรอนิกส์ - เวอร์ชัน 2 พร้อมปลอก

หากคุณต้องการสร้างตัวรับสัญญาณที่ถอดออกได้เพื่อควบคุม Roomba ขั้นตอนพิเศษนี้เหมาะสำหรับคุณ เราเพิ่มองค์ประกอบอีกสองสามรายการและจะปิดองค์ประกอบทั้งหมดลงในเคสที่บางเฉียบ ส่วนประกอบหลักที่เราจะต้องใช้ในขั้นตอนนี้คือขั้วต่อ mini DIN 8 พิน นอกจากนี้ เราจะต้องมีสวิตช์เปิดปิดและไฟแสดงสถานะตาม LED และตัวต้านทาน 10k

ตอนนี้คุณไม่ต้องกังวลกับการดึงสายไฟออกมา ตัวรับสัญญาณบลูทูธปิดอยู่ในกล่องขนาดเล็กที่มีขนาด 50x40x20 มม. เมื่อคุณไม่ต้องการใช้งาน คุณสามารถถอดออกจาก Roomba โดยดึงปลั๊ก mini DIN ได้อย่างง่ายดาย

แนะนำ: