POP-X2 Rover บทที่ 4 การสร้างทดสอบและขับเคลื่อนเบื้องต้น

สร้างและทดสอบการขับเคลื่อนเบื้องต้น

ชุด POP-X2 Rover มีอุปกรณ์สำหรับสร้างรถหรือหุ่นยนต์อัตโนมัติ ที่ออกแบบมาให้สร้างได้อเนกประสงค์ และสร้างได้ไม่ยาก

มาพร้อมกับอุปกรณ์ต่อพ่วงต่างๆ เพื่อให้สามารถทำภารกิจได้หลากหลาย

    สำหรับบทที่ 4 จะเริ่มการสร้างโครงสร้างพื้นฐานและเขียนโปรแกรมเพื่อขับเคลื่อนเบื้องต้นกันก่อน

รายการอุปกรณ์

เครื่องมือสำหรับประกอบ

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

ขั้นตอนการประกอบ

อุปกรณ์เริ่มต้นที่ต้องเตรียมก่อน

1. สร้างจุดยึดถาดรองกะบะถ่าน โดยนำแผ่นฐาน iRover ร้อยเสารองสกรูและขันยึดด้วยนอต 3 มม. ในตำแหน่งดังรูป ก่อนจะใช้ตัวช่วยขันนอตขันยึดให้แน่นให้นำถาดรองกะบะถ่านมาลองทาบดูก่อนว่าตรงกับรูเจาะของถาดรองหรือไม่ ถ้าตรงแล้วให้ขันยึดให้แน่น แต่ยังไม่ต้องยึดถาดรอง

2. ร้อยสลักยึดมอเตอร์เข้ากับชุดเฟืองขับมอเตอร์ ฝั่งด้านแกนสีชมพู ทั้งสองฝั่งมีทิศทางตรงกันข้ามกันดังรูป

3. ใช้สลักยึดมอเตอร์ที่เหลืออีก 2 อันร้อยเข้าที่แผ่นฐาน iRover ในตำแหน่งดังรูป

4. นำชุดเฟืองขับมอเตอร์จากข้อ 2 เสียบเข้าที่สลักในข้อ 3 ใช้นอต 3 มอเตอร์ขันยึด สังเกตว่าแกนมอเตอร์สีชมพูจะต้องหันออกด้านนอกทั้งสองด้าน

5. นำฉากโลหะ 2×3 มม. ยึดเข้ากับแผ่นฐานด้านหน้าด้วยสกรู 3×10 มม. ตามตำแหน่งดังรูป


6. นำล้อประคองวางระหว่างฉากโลหะ จากนั้นใช้สกรู 3×35 มม. ร้อยเข้าไป แล้วขันยึดด้วยนอตไส้พลาสติก 3 มม. (แนะนำให้ใช้ตัวช่วยขันนอตเพื่อช่วยจับนอตไม่ให้หมุนตามขณะขันสกรู)


7. พลิกฐานกลับมาด้านบน นำถาดรองกะบะถ่าน ยึดด้วยสกรูหัวตัด 3×6 มม. แล้วนำไปยึดที่ตำแหน่งเสารองสกรูที่ติดตั้งในขั้นตอนที่ 1


8. นำล้อพลาสติกพร้อมยางเสียบเข้าที่แกนมอเตอร์สีชมพูแล้วใช้สกรูยึดล้อขันยึดให้แน่น


9. นำบอร์ด POP-X2 มาวางบนถาดรองกะบะถ่านในทิศทางดังรูป

10. เสียบสายมอเตอร์ โดย Motor 1 อยู่ด้านซ้าย Motor 2 อยู่ด้านขวา

11. สำหรับทิศทางการเสียบสายมอเตอร์สีดำแดง ที่จุดต่อมอเตอร์มี LED อยู่ 2 หลอด ขณะไม่จ่ายไฟให้กับบอร์ด POP-X2 เมื่อหมุนล้อไปด้านหน้า LED จะต้องติดเป็นสีเขียว
หมุนไปด้านหลัง LED จะต้องติดเป็น
สีแดง
ถ้าผลการทดสอบสีที่ได้เป็นค่าตรงกันข้ามให้ทำการกลับขั้วมอเตอร์เสียบใหม่

ทดสอบขับเคลื่อนมอเตอร์

บอร์ด POP-X2 ได้เตรียมชุดคำสั่งสั้นๆ สำหรับการขับเคลื่อนมอเตอร์เอาไว้ให้แล้ว โดยใช้ตัวย่อ เพื่อให้การเขียนโค้ดสั้นกระชับ ประกอบด้วย

ค่า Speed คือค่าความเร็วในการขับเคลื่อนมีค่าตั้งแต่ 0-100

ตัวอย่างที่ 12 เคลื่อนที่ไปหน้าสลับถอยหลัง

 
 
#include <popx2.h>
void setup() {
  OK();
}
void loop() {
  fd(50); delay(1000);
  bk(50); delay(1000);
}
การทำงาน

คำสั่งสำคัญใน void setup() คือ OK() เพื่อรอให้กดสวิตช์ OK ก่อนจึงค่อยเคลื่อนที่ ถ้าไม่มีคำสั่งนี้ขณะที่โหลดโค้ดรถอาจจะวิ่งจนตกจากโต๊ะขณะที่ยังไม่ถอดสายได้

ใน void loop() จะให้ รถเคลื่อนทีไปด้านหน้า ด้วยความเร็ว 50% เป็นเวลา 1 วินาที สลับกับเคลื่อนที่ถอยหลัง 1 วินาที

Note 1
ระยะการเคลื่อนที่ของรถ มาจากความเร็ว x เวลา ดังนั้นถ้าเวลานานขึ้นก็ได้ระยะทางมากขึ้น หรือความเร็วมากขึ้นก็ได้ระยะทางมากขึ้นเช่นกัน

Note 2

ด้านหน้าของรถมีน้ำหนักเบา เมื่อมีการสลับทิศทางกะทันหัน ทำให้รถยกตัวได้ เพื่อแก้ปัญหานี้ อาจลดความเร็วของรถลง หรือสั่งให้รถหยุดก่อนที่จะเปลี่ยนทิศทางการเคลื่อนที่

ซึ่งโค้ดเมื่อลดความเร็วและสั่งให้หยุดก่อนเปลี่ยนเส้นทาง เป็นดังนี้

 
 
#include <popx2.h>
void setup() {
  OK();
}
void loop() {
  fd(30); delay(1000);
  ao();delay(300);
  bk(30); delay(1000);
  ao();delay(300);
}

ตัวอย่างที่ 13 การเคลื่อนที่เป็นรูปสี่เหลี่ยม

 
 
#include <popx2.h>
void setup() {
  OK();
}
void loop() {
  fd(30);
  delay(1000);
  sr(40);
  delay(600);
}

#include <popx2.h>

การทำงาน

การเคลื่อนที่เป็นรูปสี่เหลี่ยม คีย์หลักก็คือ การเลี้ยวให้ได้ 90 องศา ซึ่งการปรับแต่งทำได้ 2 อย่างคือ ปรับค่าความเร็วของมอเตอร์ หรือปรับค่าการหน่วงเวลาก็ได้ เมื่อรวมการเคลื่อนที่ตรงและการเลี้ยว วนทำซ้ำใน void loop() ทำให้เกิดการเคลื่อนที่วนเป็นรูปสี่เหลี่ยมนั่นเอง

คำแนะนำ

ให้ทดลองปรับค่าตัวเลขดูจนกระทั่งรถเลี้ยวได้ 90 องศาพอดี

คำสั่งขับเคลื่อนเพิ่มเติม

ตัวอย่างที่ 14 การเคลื่อนที่เป็นวงกลม

ถ้าปรับความเร็วมอเตอร์ซ้ายและขวาต่างกัน รถจะเดินเอียง ถ้าปรับต่างกันมากๆ จะเดินเป็นวงกลม

 
 
void setup() {
  OK();         // กดปุ่ม OK เพื่อเริ่ม
}
void loop() {
  fd2(20,60);   // วงกลมทางซ้าย
  sw1_press();  // รอกดสวิตช์ SW1
  fd2(60,20);   // วงกลมทางขวา
  sw1_press();  // รอกดสวิตช์ SW1
}
การทำงาน

หลังจากกดสวิตช์ OK กำหนดความเร็วมอเตอร์ซ้ายน้อยกว่ามอเตอร์ขวา รถจะเอียงไปทางซ้าย และจะหมุนไปเรื่อยๆ จนกว่าจะกดสวิตช์ SW1 จะเปลี่ยนกลับเป็นเอียงไปทางขวาแทน และรอกดสวิตช์ SW1 เพื่อทำซ้ำรูปแบบเดิม

แผงวงจรสวิตช์ ZX-BUTTON

ZX-BUTTON เป็นอุปกรณ์อินพุตแบบดิจิตัล ประกอบไปด้วยสวิตช์พร้อม LED แสดงผล จากวงจรจะเห็นว่า ถ้ากดสวิตช์ให้ลอจิกเป็น “0” และ LED ติดสว่าง ถ้าไม่กดจะให้ลอจิกเป็น “1”

คำสั่ง in()

สำหรับอ่านค่าอินพุตดิจิตัลจากพอร์ตใดๆ ของบอร์ด POP-X2

รูปแบบ

in(ch);

ch คือขาพอร์ตที่ต้องการอ่านค่าอินพุต

การคืนค่า

คืนค่าขาพอร์ตที่อ่าน มีค่าเป็น 0 หรือ 1 เท่านั้น

หมายเหตุ


ขาพอร์ตแบบดิจิตัลคือขาพอร์ตที่ระบุในวงกลม ในรูปคือขา 3,8,9,18,24-30

ตัวอย่างที่ 15 สวิตช์ควบคุมการเคลื่อนที่ของ POP-X2 Rover

ถามว่าสวิตช์ 2 ตัวควบคุมการเคลื่อนที่ได้กี่รูปแบบ คำตอบคือ 4 รูปแบบ

1. ไม่กดสวิตช์เลยสั่งให้หยุด

2. กดสวิตช์ตัวที่ 1 ตัวเดียวให้เลี้ยวซ้าย

3. กดสวิตช์ตังที่ 2 ตัวเดียวให้เลี้ยวขวา

4. กดสวิตช์ทั้งสองตัวพร้อมกันให้เคลื่อนที่ไปด้านหน้า

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

Facebook Comments Box

Press Ctrl+C to copy the following code.
"