Page 115 - ArduinoและPOP-BOT
P. 115

 115





                 /*******************************************************************************
                 * POP-BOT V1.0
                 * Filename : Robot_Survey.pde
                 ********************************************************************************/
                 #include <popbot.h>               // Include library for POP-BOT
                 #include <gp2d120_lib.h>
                 #define POW 80
                 int dist;
                 void forward(unsigned int time)
                 {
                    motor(1,POW);
                    motor(2,POW);
                    sleep(time);
                 }
                 void backward(unsigned int time)
                 {
                    motor(1,-POW);
                    motor(2,-POW);
                    sleep(time);
                 }
                 void turn_left(unsigned int time)
                 {
                    motor(1,-POW);
                    motor(2,POW);
                    sleep(time);
                 }
                 void setup()
                 {
                 }
                 void loop()
                 {
                    dist = getdist(5);
                    if(dist<15)
                    {
                      backward(600);
                      turn_left(500);
                    }
                    else
                    {
                      forward(1);
                    }
                 }
                 การทํ างานของโปรแกรม

                       (1) เริ่ มต นโปรแกรม หุ นยนต จะส งเสี ยงออกมา 1 ครั้ ง โดยเสี ยงน ี้ เป นตั วแสดงสถานะของหุ นยนต  ถ าใน
                 ระหว างที่ หุ นยนต ทํ างาน เกิ ดมี เสี ยงดั งขึ้ น แสดงว า ไมโครคอนโทรลเลอร รี เซต สาเหตุ มั กมาจากแบตเตอรี่ หมด

                       (2) อ านค าจากโมดู ล GP2D120 แล วตรวจสอบว า น อยกว า 15 หรื อไม  ถ าน อยกว า แสดงว า วั ตถุ ที่ อยู

                 ด านหน าของหุ นยนต มี ระยะห างน อยกว า ใกล กว า 15 เซนติ เมตร (โดยประมาณ) ต องสั่ งให หุ นยนต ถอยหลั ง
                 0.6 วิ นาที  และเลี้ ยวซ ายอี ก 0.5 วิ นาที  ถ าค าที่ อ านได มากกว า 15 หุ นยนต จะยั งคงเคลื่ อนที่ ไปข างหน า


                       (3) ทํ าคํ าสั่ งเหล านี้ ซํ้ าไปเรื่ อยๆ ไม มี ที่ สิ้ นสุ ดจากอั นเกิ ดจาก void loop ()



               โปรแกรมที่  A8-1 ไฟล  Robot_Survey.pde โปรแกรมภาษา C ของ Arduino สํ าหรั บทดสอบ
               การทํ างานของ POP-BOT ในการตรวจจั บวั ตถุ แบบไม สั มผั ส
   110   111   112   113   114   115   116   117   118   119   120