การเคลื่อนที่ของหุ่น บอร์ด ipst บนโต๊ะโดยไม่ตก

บอร์ด ipst การเคลื่อนที่บนโต๊ะ

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

#include <ipst.h>
int L,R,CL=200,CR=150;   //เป็นค่าที่เช็คเซอร์ด้านซ้ายขวา
void setup(){
 OK();
}
void loop(){
 L=analog(0);     
 R=analog(1);
 if(L>CL&&R>CR){
 fd(40);
 }
 else{
 bk(40);delay(300);
 if(L<CL){
 sr(40);delay(400);
 }
 else{
 sl(40);delay(600);
 }
 }
}

การทำงานของโปรแกรม

โปรแกรมที่ สร้างตัวแปร L และ R เพื่อเก็บค่าที่อ่านได้จาก ZX-03 ด้านซ้ายและด้านขวา สำหรับค่ากลาง เนื่องจากการที่หุ่นยนต์ออกนอกโต๊ะ ค่าการสะท้อนจะมีน้อยมาก ดังนั้นจึงสามารถปรับค่า CL หรือ CR ลงต่ำมากๆ ได้ ในที่นี้ใช้ค่า CL=200 และค่า CR=150
สำหรับการตรวจสอบของโปรแกรมทำดังนี้
1. ถ้าตรวจพบว่าค่าที่อ่านได้จาก ZX-03 ทั้งด้านซ้ายและด้านขวามีค่ามากกว่าค่ากลางทั้งคู่ให้หุ่นยนต์เคลื่อนที่ตรงไป
2. ถ้าไม่ตรงกับเงื่อนไขแรก ให้หุ่นยนต์ถอยหลัง
3. ตรวจสอบว่าค่า ZX-03 ด้านซ้ายมีค่าน้อยกว่าค่ากลางหรือไม่ ถ้าใช่ ให้หุ่นยนต์เลี้ยวขวา 0.4 วินาที
4. ถ้าไม่ตรงกับเงื่อนไขข้อ 3. ให้หุ่นยนต์เลี้ยวขวา 0.6 วินาที

ใส่ความเห็น

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