หลังจากออกแบบหุ่นยนต์ผู้ติดตามสายนี้โดยใช้ arduino uno ฉันได้พัฒนาหุ่นยนต์ที่ควบคุมด้วยคอมพิวเตอร์นี้ สามารถควบคุมผ่านคอมพิวเตอร์และเราสามารถใช้แป้นคีย์บอร์ดเฉพาะเพื่อย้ายได้ มันทำงานผ่านการสื่อสารแบบอนุกรมซึ่งเราได้พูดคุยไปแล้วในโครงการก่อนหน้านี้ - PC Controlled Home Automation
ส่วนประกอบที่จำเป็น
- Arduino UNO
- มอเตอร์กระแสตรง
- แล็ปท็อป
- ตัวขับมอเตอร์ L293D
- แบตเตอรี่ 9 โวลต์
- ขั้วต่อแบตเตอรี่
- สาย USB
- หุ่นยนต์ Chasis
แนวคิดและรายละเอียด
เราสามารถแบ่งวงจรหุ่นยนต์ที่ควบคุมด้วยพีซีนี้ออกเป็นส่วนต่างๆ ได้แก่ - ส่วนเซ็นเซอร์ส่วนควบคุมและส่วนของไดรเวอร์ ให้เราดูแยกกัน
ส่วนคำสั่งหรือพีซี: ส่วนนี้มีอุปกรณ์สื่อสารแบบอนุกรมเช่นพีซีแล็ปท็อปเป็นต้นในโครงการนี้เราได้ใช้แล็ปท็อปในการสาธิต เราส่งคำสั่งไปยัง arduino โดยพิมพ์อักขระบนไฮเปอร์เทอร์มินัลหรือเทอร์มินัลอนุกรมอื่น ๆ เช่นไฮเปอร์เทอร์มินัล Hercules สีโป๊วเทอร์มินัลอนุกรมของ arduino เป็นต้น
ส่วนควบคุม: Arduino UNO ใช้สำหรับควบคุมกระบวนการทั้งหมดของหุ่นยนต์ Arduino อ่านคำสั่งที่ส่งโดยแล็ปท็อปและเปรียบเทียบกับอักขระหรือคำสั่งที่กำหนด หากคำสั่งตรงกัน arduino จะส่งคำสั่งที่เหมาะสมไปยังส่วนไดรเวอร์
ส่วนไดรเวอร์: ส่วนไดรเวอร์ประกอบด้วย IC ไดรเวอร์มอเตอร์ L293D และมอเตอร์กระแสตรงสองตัว ตัวขับมอเตอร์ใช้สำหรับขับเคลื่อนมอเตอร์เนื่องจาก arduino จ่ายแรงดันและกระแสให้มอเตอร์ไม่เพียงพอ ดังนั้นเราจึงเพิ่มวงจรขับมอเตอร์เพื่อให้ได้แรงดันและกระแสเพียงพอสำหรับมอเตอร์ โดยรวบรวมคำสั่งจาก arduino ตัวขับมอเตอร์จะขับเคลื่อนมอเตอร์ตามคำสั่ง
กำลังทำงาน
เราได้ตั้งโปรแกรมให้หุ่นยนต์ควบคุมพีซีทำงานโดยคำสั่งบางคำสั่งที่ส่งผ่านการสื่อสารแบบอนุกรมไปยัง arduino จากพีซี (ดูส่วนการเขียนโปรแกรมด้านล่าง)
เมื่อเรากด 'f' หรือ 'F' หุ่นยนต์จะเริ่มเดินหน้าและเคลื่อนที่ต่อไปจนกว่าจะได้รับคำสั่งถัดไป
เมื่อเรากด 'b' หรือ 'B' หุ่นยนต์จะเปลี่ยนสถานะและเริ่มเคลื่อนที่ไปในทิศทางถอยหลังจนกว่าจะได้รับคำสั่งอื่นใด
เมื่อเรากด 'l' หรือ 'L' Robot จะเลี้ยวซ้ายจนกว่าจะถึงคำสั่งถัดไป
เมื่อเรากด 'r” หรือ' R 'หุ่นยนต์จะหันไปทางขวา
และสำหรับการหยุดหุ่นยนต์เราให้คำสั่ง 's' หรือ 'S' กับ arduino
แผนภาพวงจรและคำอธิบาย
แผนภาพวงจรสำหรับหุ่นยนต์ควบคุมบนพีซีที่ใช้ Arduino แสดงในแผนภาพด้านบน เฉพาะ IC ไดรเวอร์มอเตอร์เท่านั้นที่เชื่อมต่อกับ arduino เพื่อให้หุ่นยนต์ทำงาน สำหรับการส่งคำสั่งไปยังหุ่นยนต์เราใช้ตัวแปลงข้อมูลอนุกรมในตัวโดยใช้สาย USB กับแล็ปท็อป ขาอินพุตของมอเตอร์ขับ 2, 7, 10 และ 15 เชื่อมต่อที่พินดิจิตอลของ arduino หมายเลข 6, 5, 4 และ 3 ตามลำดับ ที่นี่เราใช้มอเตอร์กระแสตรงสองตัวในการขับเคลื่อนหุ่นยนต์ซึ่งมอเตอร์ตัวหนึ่งเชื่อมต่อที่ขาเอาท์พุทของตัวขับมอเตอร์ 3 และ 6 และมอเตอร์อีกตัวเชื่อมต่อที่ 11 และ 14 แบตเตอรี่ 9 โวลต์ใช้เพื่อจ่ายพลังงานให้กับตัวขับมอเตอร์สำหรับมอเตอร์ขับเคลื่อน
คำอธิบายโปรแกรม
ในการเขียนโปรแกรมก่อนอื่นเราได้กำหนดพินเอาต์พุตสำหรับมอเตอร์
จากนั้นในการตั้งค่าเราได้ให้คำแนะนำในการปักหมุดและเริ่มการสื่อสารแบบอนุกรม
หลังจากนั้นเราอ่านบัฟเฟอร์อนุกรมโดยอ่านฟังก์ชัน“ serial.read ()” และรับค่าในตัวแปรชั่วคราว จากนั้นจับคู่กับคำสั่งที่กำหนดโดยใช้คำสั่ง“ if” เพื่อใช้งานหุ่นยนต์
มีเงื่อนไขสี่ประการในการเคลื่อนย้ายหุ่นยนต์ที่ควบคุมด้วยพีซีนี้ซึ่งระบุไว้ในตารางด้านล่าง
คำสั่งอินพุต |
เอาต์พุต |
การเคลื่อนไหวของหุ่นยนต์ |
||||
มอเตอร์ซ้าย |
มอเตอร์ขวา |
|||||
|
|
|
|
|||
ส. |
|
|
|
|
|
หยุด |
|
|
|
|
|
|
เลี้ยวขวา |
|
|
|
|
|
|
เลี้ยวซ้าย |
|
|
|
|
|
|
ย้อนกลับ |
|
|
|
|
|
|
ส่งต่อ |
เราได้เขียนโปรแกรมตามเงื่อนไขตารางด้านบน รหัสที่สมบูรณ์จะได้รับด้านล่าง