สารบัญ:

Arduino - หุ่นยนต์แก้ปัญหาเขาวงกต (MicroMouse) หุ่นยนต์ติดตามกำแพง: 6 ขั้นตอน (พร้อมรูปภาพ)
Arduino - หุ่นยนต์แก้ปัญหาเขาวงกต (MicroMouse) หุ่นยนต์ติดตามกำแพง: 6 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Arduino - หุ่นยนต์แก้ปัญหาเขาวงกต (MicroMouse) หุ่นยนต์ติดตามกำแพง: 6 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Arduino - หุ่นยนต์แก้ปัญหาเขาวงกต (MicroMouse) หุ่นยนต์ติดตามกำแพง: 6 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: การทำงานของหุ่นยนต์ออกจากเขาวงกต ด้วยโปรแกรม C_Robot_Simulator | PrinceBot 2024, พฤศจิกายน
Anonim
Arduino | หุ่นยนต์แก้ปัญหาเขาวงกต (MicroMouse) หุ่นยนต์ติดตามกำแพง
Arduino | หุ่นยนต์แก้ปัญหาเขาวงกต (MicroMouse) หุ่นยนต์ติดตามกำแพง
Arduino | หุ่นยนต์แก้ปัญหาเขาวงกต (MicroMouse) หุ่นยนต์ติดตามกำแพง
Arduino | หุ่นยนต์แก้ปัญหาเขาวงกต (MicroMouse) หุ่นยนต์ติดตามกำแพง
Arduino | หุ่นยนต์แก้ปัญหาเขาวงกต (MicroMouse) หุ่นยนต์ติดตามกำแพง
Arduino | หุ่นยนต์แก้ปัญหาเขาวงกต (MicroMouse) หุ่นยนต์ติดตามกำแพง
Arduino | หุ่นยนต์แก้ปัญหาเขาวงกต (MicroMouse) หุ่นยนต์ติดตามกำแพง
Arduino | หุ่นยนต์แก้ปัญหาเขาวงกต (MicroMouse) หุ่นยนต์ติดตามกำแพง

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

ขั้นตอนที่ 1: อะไหล่

อะไหล่
อะไหล่
อะไหล่
อะไหล่
อะไหล่
อะไหล่

ก่อนอื่น คุณต้องรู้ว่าคุณกำลังจัดการกับอะไร

หุ่นยนต์ = ไฟฟ้า + ฮาร์ดแวร์ + ซอฟต์แวร์1- ไฟฟ้า: แบตเตอรี่มีข้อกำหนดมากมาย คุณควรรู้ว่าต้องใช้กระแสไฟฟ้าและแรงดันไฟฟ้าเท่าใด

2- ฮาร์ดแวร์: " ร่างกาย, มอเตอร์, ไดรเวอร์มอเตอร์, เซนเซอร์, สายไฟและตัวควบคุม " คุณควรได้เฉพาะส่วนสำคัญที่ใช้งานได้ ไม่จำเป็นต้องซื้อคอนโทรลเลอร์ราคาแพงสำหรับงานง่ายๆ

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

รายการส่วน:

  1. Arduino UNO
  2. มอเตอร์ DC 12v (x2)
  3. ล้อ (x2)
  4. ตัวขับมอเตอร์ (L298N)
  5. เซ็นเซอร์ระยะ (Ultra Sonic)
  6. สายไฟ
  7. แบตเตอรี่ 12v (1000 mAh)

รายการเครื่องมือ:

  1. เครื่องชาร์จแบตเตอรี่
  2. แผ่นอะครีลิค
  3. หัวแร้ง
  4. เครื่องตัดลวด
  5. ไนลอน ซิป แรป

เพื่อความสนุกเป็นพิเศษ คุณสามารถใช้ไฟ LED เพื่อทำให้ไฟสว่างขึ้นได้ แต่ไม่สำคัญมากนัก

ขั้นตอนที่ 2: การออกแบบร่างกาย

การออกแบบร่างกาย
การออกแบบร่างกาย
การออกแบบร่างกาย
การออกแบบร่างกาย
การออกแบบร่างกาย
การออกแบบร่างกาย

แนวคิดหลักคือการซ้อนส่วนต่างๆ ไว้เหนือร่างกายและใช้ Nylon Zip Wrap ทำให้ Arduino และ Wires มีเสถียรภาพมากขึ้นด้วยน้ำหนักเบา

ฉันใช้ CorelDRAW ในการออกแบบตัวเครื่อง และทำรูเพิ่มเติมในกรณีที่มีการเปลี่ยนแปลงในอนาคต

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

แนบไฟล์ PDF และไฟล์ CorelDRAW

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

ขั้นตอนที่ 3: การดำเนินการ (อาคาร)

การดำเนินการ (อาคาร)
การดำเนินการ (อาคาร)
การดำเนินการ (อาคาร)
การดำเนินการ (อาคาร)
การดำเนินการ (อาคาร)
การดำเนินการ (อาคาร)

การออกแบบทำให้ง่ายต่อการติดตั้งเซ็นเซอร์บนตัวกล้อง

ขั้นตอนที่ 4: การเดินสายไฟ

การเดินสายไฟ
การเดินสายไฟ
การเดินสายไฟ
การเดินสายไฟ
การเดินสายไฟ
การเดินสายไฟ

นี่คือแผนผังของหุ่นยนต์ การเชื่อมต่อเหล่านี้เกี่ยวข้องกับรหัส คุณสามารถเปลี่ยนการเชื่อมต่อได้ แต่อย่าลืมเปลี่ยนรหัสด้วย ส่วนต่างๆ เซ็นเซอร์

ฉันต้องการอธิบาย "เซ็นเซอร์อัลตราโซนิก"

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

การเชื่อมต่อ Ultrasonic Sensor กับ Arduino:

  1. พิน GND เชื่อมต่อกับกราวด์
  2. พิน VCC เชื่อมต่อกับขั้วบวก (5v)
  3. Echo pin เชื่อมต่อกับ Arduino (เลือกพินใดก็ได้และจับคู่กับรหัส)
  4. หมุด TRIG เชื่อมต่อกับ Arduino (เลือกพินใดก็ได้และจับคู่กับรหัส)

คุณจะสร้างกราวด์ร่วมและเชื่อมต่อ GND ทั้งหมดเข้ากับมัน (เซ็นเซอร์, Arduino, ไดรเวอร์) ควรเชื่อมต่อกราวด์ทั้งหมด

สำหรับ Vcc Pins ยังเชื่อมต่อ 3 เซ็นเซอร์กับ 5v Pin

(คุณสามารถเชื่อมต่อกับ Arduino หรือไดรเวอร์ ฉันแนะนำไดรเวอร์)

หมายเหตุ: อย่าเชื่อมต่อเซ็นเซอร์กับแรงดันไฟฟ้าที่สูงกว่า 5v มิฉะนั้นจะเสียหาย

ตัวขับมอเตอร์

L298N H-bridge: เป็น IC ที่ให้คุณควบคุมความเร็วและทิศทางของมอเตอร์ DC สองตัว หรือควบคุมมอเตอร์แบบไบโพลาร์หนึ่งตัวได้อย่างง่ายดาย ไดรเวอร์ L298N H-bridge สามารถใช้กับมอเตอร์ที่มีแรงดันไฟฟ้าระหว่าง 5 และ 35V DC

นอกจากนี้ยังมีตัวควบคุมออนบอร์ด 5v ดังนั้นหากแรงดันไฟฟ้าของคุณสูงถึง 12v คุณสามารถจ่ายไฟ 5v จากบอร์ดได้เช่นกัน

พิจารณารูปภาพ – จับคู่ตัวเลขกับรายการด้านล่างรูปภาพ:

  1. มอเตอร์กระแสตรง 1 “+”
  2. มอเตอร์กระแสตรง 1 “-”
  3. จัมเปอร์ 12v – ถอดออกหากใช้แรงดันไฟฟ้าที่จ่ายมากกว่า 12v DC สิ่งนี้ทำให้ตัวควบคุมออนบอร์ด 5v
  4. เชื่อมต่อแรงดันไฟฟ้าของมอเตอร์ที่นี่ สูงสุด 35v DC
  5. GND
  6. เอาต์พุต 5v หากจัมเปอร์ 12v เข้าที่
  7. มอเตอร์ DC 1 เปิดใช้งานจัมเปอร์ ถอดจัมเปอร์และเชื่อมต่อกับเอาต์พุต PWM สำหรับการควบคุมความเร็วมอเตอร์ DC
  8. การควบคุมทิศทาง IN1
  9. การควบคุมทิศทาง IN2
  10. การควบคุมทิศทาง IN3
  11. การควบคุมทิศทาง IN4
  12. DC motor 2 เปิดใช้งานจัมเปอร์ ถอดจัมเปอร์และเชื่อมต่อกับเอาต์พุต PWM สำหรับการควบคุมความเร็วมอเตอร์ DC
  13. มอเตอร์กระแสตรง 2 “+”
  14. มอเตอร์กระแสตรง 2 “-”

หมายเหตุ: ไดรเวอร์นี้อนุญาตให้ 1A ต่อช่องสัญญาณ การระบายกระแสไฟมากขึ้นจะทำให้ IC เสียหาย

แบตเตอรี่

ฉันใช้แบตเตอรี่ 12v กับ 1,000 mAh

ตารางด้านบนแสดงให้เห็นว่าแรงดันไฟฟ้าลดลงเมื่อแบตเตอรี่หมด คุณควรจำไว้และคุณต้องชาร์จแบตเตอรี่อย่างต่อเนื่อง

เวลาในการคายประจุโดยทั่วไปคือคะแนน Ah หรือ mAh หารด้วยกระแส

ดังนั้นสำหรับแบตเตอรี่ 1000mAh ที่มีโหลดที่ดึง 300mA คุณมี:

1000/300 = 3.3 ชั่วโมง

หากคุณใช้กระแสไฟมากขึ้น เวลาจะลดลงเรื่อยๆ หมายเหตุ: ตรวจสอบให้แน่ใจว่าคุณไม่เกินกระแสการคายประจุของแบตเตอรี่ มิฉะนั้นจะเสียหาย

สร้างกราวด์ทั่วไปอีกครั้งและเชื่อมต่อ GND ทั้งหมดเข้ากับมัน (เซ็นเซอร์, Arduino, ไดรเวอร์) ควรเชื่อมต่อกราวด์ทั้งหมด

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

การเข้ารหัส
การเข้ารหัส
การเข้ารหัส
การเข้ารหัส

ฉันสร้างสิ่งเหล่านี้เป็นฟังก์ชันและฉันก็สนุกกับการเขียนโค้ดหุ่นยนต์ตัวนี้

แนวคิดหลักคือการหลีกเลี่ยงการชนกำแพงและออกจากเขาวงกต เรามีเขาวงกตธรรมดา 2 เขาวงกต และฉันต้องจำไว้ว่าเพราะมันต่างกัน

เขาวงกตสีน้ำเงินใช้อัลกอริธึมตามกำแพงด้านขวา

เขาวงกตสีแดงใช้อัลกอริธึมกำแพงด้านซ้าย

ภาพด้านบนแสดงทางออกในเขาวงกตทั้งสอง

การไหลของรหัส:

  1. การกำหนดหมุด
  2. การกำหนดเอาต์พุตและพินอินพุต
  3. ตรวจสอบการอ่านของเซ็นเซอร์
  4. ใช้การอ่านของเซ็นเซอร์เพื่อกำหนดผนัง
  5. ตรวจสอบเส้นทางแรก (ถ้าซ้ายตามกำแพงซ้าย ถ้าขวาตามกำแพงขวา)
  6. ใช้ PID เพื่อหลีกเลี่ยงการชนกับผนังและเพื่อควบคุมความเร็วของมอเตอร์

คุณสามารถใช้รหัสนี้ แต่เปลี่ยนหมุดและตัวเลขคงที่เพื่อให้ได้ผลลัพธ์ที่ดีที่สุด

ตามลิงค์นี้สำหรับรหัส

create.arduino.cc/editor/is7aq_shs/391be92…

ตามลิงค์นี้สำหรับไลบรารีและไฟล์ Arduino Code

github.com/Is7aQ/Maze-Solving-Robot

ขั้นตอนที่ 6: ขอให้สนุก

ตรวจสอบให้แน่ใจว่าได้สนุก:D ทั้งหมดนี้เพื่อความสนุก อย่าตกใจถ้ามันใช้งานไม่ได้หรือมีอะไรผิดปกติ ติดตามข้อผิดพลาดและอย่ายอมแพ้ ขอบคุณที่อ่านและหวังว่าจะช่วยได้ติดต่อ:

อีเมล์: [email protected]

แนะนำ: