วิชาการเขียนโปรแกรมควบคุมหุ่นยนต์

track เส้น เมื่อเจอทางแยกให้ทำการเลี้ยวซ้าย ขวา

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

code track เส้น เมื่อเจอทางแยกให้ทำการเลี้ยวซ้าย

 




code track เส้น เมื่อเจอทางแยกให้ทำการเลี้ยวขวา

 

#include <ipst.h>	// IPST-SE Board
int L,R,CL=500,CR=450;    //อ่านเก็บค่าเซนเซอร์ซ้ายและขวา
void setup() {
  OK();   // กดปุ่ม ok ถึงทำงาน
}
void loop() {
  
 L=analog(0);  //เสียบช่องที่ a0 (เช็คด้านซ้าย)
 R=analog(1);  //เสียบช่อง a1   (เช็คด้านขวา)
 if(L>CL&&R>CR){
 fd(40);
 }
 else if(L<CL&&R>CR){
 tl(40);
 }
 else if(L>CL&&R<CR){
 tr(40);
 }
 else if(L<CL&&R<CR){
 fd(40);
 sound(18,2000,200);
 sr(30);     // เลี้ยวขวาเมื่อเจอทางแยก
 delay(400);
 }
}

 

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *