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

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

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

ทำไมต้องเรียนเขียนคำสั่งในการ TRACK เส้น

  • เพื่อเป็นการให้นักเรียนได้เขียนคำสั่งที่มีการทำงานแบบมีเงื่อนไข
  • เพื่อให้นักเรียนได้เรียนรู้การอ่านค่าจากเซนเซอร์ในการอ่านค่าสีขาวแล้วสีดำ
  • เพื่อควบคุมการทำงานของมอเตอร์ให้ทำงานตามเงื่อนไข

ตัวอย่างโค้ดคำสั่ง

 

#include <ipst.h>
int L,R,CL=500,CR=450;    
void setup(){
 OK();    // กดปุ่ม OK หุ่นจะเริ่มทำงาน เป็นคำสั่งย่อจากเดิมจะสั่งให้กดปุ่ม ok เขียนยาวมาก
}
void loop(){
 L=analog(0);    // เซนเซอร์วัดค่าสีฝั่งซ้ายต่อกับช่อง A0
 R=analog(1);    // เซนเซอร์วัดค่าสีฝั่งขวาต่อกับช่อง A1
 if(L>CL&&R>CR){   // เป็นการเปรียบเทียบค่า ถ้า ค่าสีที่วัดได้จากตัวแปร L มีค่ามากกว่าค่ากลาง
 fd(40);   // เป็นคำสั่งให้เดินหน้าด้วยกำลังไฟ 40 ซึ่งเป็นการเขียนแบบย่อให้สั้นลงกว่าคำสั่งก่อนหน้านี้
 }
 else if(L<CL&&R>CR){
 tl(40);   // เป็นคำสั่งให้เลี้ยวซ้ายด้วยกำลังไฟ 40 ซึ่งเป็นการเขียนแบบย่อให้สั้นลงกว่าคำสั่งก่อนหน้านี้
 }
 else if(L>CL&&R<CR){
 tr(40);   //เป็นคำสั่งให้เลี้ยวขวาด้วยกำลังไฟ 40 ซึ่งเป็นการเขียนแบบย่อให้สั้นลงกว่าคำสั่งก่อนหน้านี้
 }
 else if(L<CL&&R<CR){ 
 motor_stop(ALL);   //เป็นคำสั่งให้มอเตอร์หยุดทำงาน
}
}

อธิบายขยายความ

CL คือ การที่นำค่าที่ได้จากการวัดค่าสีเซนเซอร์ด้านซ้าย ค่าสีขาวและสีดำมารวมกันแล้วทำการหารด้วย 2

CR คือ การที่นำค่าที่ได้จากการวัดค่าสีเซนเซอร์ด้านขวา ค่าสีขาวและสีดำมารวมกันแล้วทำการหารด้วย 2

&& คือ และ เป็นการเปรียบเทียบหากจริงและจริงเป็นจริง หากจริงและเท็จเป็นเท็จ

 

ใส่ความเห็น

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