Search Code

บทเรียนที่ 6 จาก 10: การควบคุมมอเตอร์ DC โดยใช้ชุดรถยนต์อัจฉริยะ 4WD Raspberry Pi Pico

บทเรียนนี้เป็นส่วนหนึ่งของ: Raspberry Pi Pico 4WD รถอัจฉริยะ

บทเรียนที่ 6 จาก 10: การควบคุมมอเตอร์ DC โดยใช้ชุดรถยนต์อัจฉริยะ 4WD Raspberry Pi Pico

คู่มือโปรเจกต์นี้จัดทำขึ้นจากบทเรียนที่ 6 ของคอร์สเรียน Robojax Raspberry Pi Pico Smart Car ในเซสชันนี้ คุณจะได้เรียนรู้วิธีการรวมเซอร์โวมอเตอร์และเซนเซอร์อัลตราโซนิกเพื่อสร้างระบบหลบหลีกสิ่งกีดขวางอัจฉริยะสำหรับรถยนต์ 4WD ของคุณ แทนที่จะหยุดเพียงแค่เมื่อตรวจพบวัตถุ โปรเจกต์นี้จะเปลี่ยนรถของคุณให้เป็นหุ่นยนต์อัตโนมัติขนาดเล็กที่สแกนสภาพแวดล้อมอย่างกระตือรือร้น หาเส้นทางที่ชัดเจนที่สุด และนำทางหลบสิ่งกีดขวาง

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

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

แนวคิดหลักคือการใช้เซอร์โวมอเตอร์เพื่อหมุนเซนเซอร์อัลตราโซนิก ทำหน้าที่เป็น "เรดาร์" ที่สแกนพื้นที่จากซ้ายไปขวา โดยการวัดระยะทางในมุมต่างๆ รถสามารถสร้างแผนที่ของสภาพแวดล้อมโดยรอบและตัดสินใจที่จะเคลื่อนที่ไปข้างหน้า เลี้ยวซ้าย หรือเลี้ยวขวาเพื่อหาเส้นทางที่ชัดเจน (ในวิดีโอที่ 02:47)

ฮาร์ดแวร์/ส่วนประกอบ

โปรเจกต์นี้สร้างขึ้นจากชุด SunFounder Raspberry Pi Pico 4WD Smart Car Kit ส่วนประกอบหลักที่ใช้ในบทเรียนนี้คือ:

  • บอร์ด Raspberry Pi Pico
  • โครงรถยนต์อัจฉริยะ 4WD พร้อมมอเตอร์
  • บอร์ดขับมอเตอร์ (รวมอยู่ในชุด)
  • เซนเซอร์อัลตราโซนิก (ชนิด HC-SR04)
  • เซอร์โวมอเตอร์
  • ชุดแบตเตอรี่

คู่มือการเดินสายไฟ

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

โปรดดูแผนภาพด้านล่างสำหรับการเชื่อมต่อพินเฉพาะสำหรับชุดอุปกรณ์ของคุณ

คำอธิบายโค้ด

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

ที่ด้านบนของโปรแกรมหลัก คุณจะพบการตั้งค่าหลักที่กำหนดพฤติกรรมของรถ (ในวิดีโอที่ 13:07):

# การตั้งค่าการหลบหลีกสิ่งกีดขวาง
RADAR_REFERENCE = 20  # ระยะทางเป็นเซนติเมตรที่ถือว่าเป็นสิ่งกีดขวาง
STEP_ANGLE = 10       # องศาที่เซอร์โวเคลื่อนที่ในแต่ละขั้นตอนการสแกน
FORWARD_SPEED = 30    # ความเร็วมอเตอร์เมื่อเคลื่อนที่ไปข้างหน้า
TURN_SPEED = 50       # ความเร็วมอเตอร์เมื่อเลี้ยว
FORWARD_SCAN_ANGLE = 50  # องศาสำหรับการสแกนไปข้างหน้าอย่างรวดเร็ว
  • RADAR_REFERENCE: นี่คือการตั้งค่าที่สำคัญที่สุด มันกำหนดระยะปลอดภัยขั้นต่ำเป็นเซนติเมตร หากเซนเซอร์อัลตราโซนิกตรวจพบวัตถุที่ใกล้กว่าค่านี้ รถจะถือว่าเป็น "อันตราย" และเริ่มต้นขั้นตอนการหลบหลีก (ในวิดีโอที่ 22:03)
  • STEP_ANGLE: ค่านี้กำหนดความละเอียดของการสแกนเรดาร์ ค่าที่น้อยกว่า (เช่น 10 องศา) ทำให้การสแกนแม่นยำขึ้นแต่ช้าลง ค่าที่มากขึ้นทำให้เร็วขึ้นแต่รายละเอียดน้อยลง
  • FORWARD_SPEED และ TURN_SPEED: ค่าเหล่านี้คือค่า PWM (0-100) ที่ควบคุมกำลังไปยังมอเตอร์ คุณสามารถปรับค่าเหล่านี้เพื่อเปลี่ยนความเร็วที่รถขับไปข้างหน้าและความเร็วในการเลี้ยว (ในวิดีโอที่ 13:33)
  • FORWARD_SCAN_ANGLE: หลังจากหลบสิ่งกีดขวางแล้ว รถจะทำการสแกนอย่างรวดเร็วเพื่อให้แน่ใจว่าเส้นทางข้างหน้าชัดเจน ตัวแปรนี้กำหนดมุมสำหรับการสแกนนั้น ค่า 50 หมายถึงมันสแกนจาก -25 ถึง +25 องศาเทียบกับศูนย์กลาง (ในวิดีโอที่ 13:40)

โปรเจกต์สด/การสาธิต

ในวิดีโอ ผู้สอนสาธิตโปรเจกต์เป็นขั้นตอน ขั้นแรก เขาทดสอบอย่างง่ายเพื่อแสดงว่าเซนเซอร์อัลตราโซนิกวัดระยะทางและพิมพ์ค่าลงในเชลล์ ยืนยันว่า "0" แทนสิ่งกีดขวางและ "1" แทนเส้นทางที่ชัดเจน (ในวิดีโอที่ 03:48)

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

สุดท้าย ผู้สอนจัดเขาวงกตของสิ่งกีดขวางและสาธิตรถนำทางผ่านมัน คุณจะเห็นรถสแกนซ้ายและขวา ถอยหลังหากติดขัด และในที่สุดหาเส้นทางขับผ่านสิ่งกีดขวางโดยไม่ต้องควบคุมด้วยมือ (ในวิดีโอที่ 22:53)

บทต่างๆ

  • [00:00] แนะนำการหลบหลีกสิ่งกีดขวางด้วยรถ Pico Car
  • [01:31] ภาพรวมคุณสมบัติของชุดอุปกรณ์และเอกสารประกอบ
  • [02:47] สาธิตฟีเจอร์การหลบหลีกสิ่งกีดขวาง
  • [03:48] ทดสอบเซนเซอร์อัลตราโซนิกและการวัดระยะทาง
  • [07:45] อธิบายอัลกอริทึมการหลบหลีกสิ่งกีดขวางและผังงาน
  • [12:49] วิเคราะห์โค้ดหลักสำหรับการหลบหลีกสิ่งกีดขวาง
  • [15:50] สาธิตโค้ดแบบสดและการตีความข้อมูล
  • [18:11] เจาะลึกตรรกะการกำหนดทิศทางและการเลี้ยว
  • [22:53] ทดสอบสดครั้งสุดท้ายกับเขาวงกตสิ่งกีดขวาง
ไม่มีรหัสแนบมา

แหล่งข้อมูลและเอกสารอ้างอิง

ยังไม่มีทรัพยากรเลย

ไฟล์📁

ไม่มีไฟล์ที่พร้อมใช้งาน