Page 87 - การพัฒนาการหนังสืออิเล็กทรอนิกส์เรื่องภาษาซี
P. 87

82                                                                                                                     83

         ฟังก์ชั่น servo_close() จะใช้เพื่อหนีบแล้วหมุนกระป๋อง                                                                    โดยฟังก์ชัน R180() จะให้หุ่นยนต์หมุนตัวไปทางขวาเรื่อย ๆ ถ้ายังไม่เจอเส้นสีดำา เมื่อเจอ


                                                                                                                               เส้นสีดำาแล้วก็หมุนตัวต่อจนหลุดจากเส้นสีดำานั่นเอง เมื่อรวมรายละเอียดทั้งหมดก็หลายเป็น

            void servo_close(){                                                                                                โปรแกรมดังนี้ครับ

               servo(1,0);


               sleep(1000);

               servo(2,0);

               sleep(1000);


               servo(1,-1);

               servo(2,-1);

            }








            จากทั้งสองฟังก์ชันจะเห็นว่า เมื่อทำางานเสร็จแล้วจะใช้คำาสั่ง servo(1,-1) หรือ ser-

         vo(2,-1) เพื่อให้เซอร์โวหยุดทำางานและไม่กินกำาลังไฟฟ้า เมื่อวางกระป๋องหรือหนีบกระป๋อง


         เสร็จเรียบร้อยหุ่นยนต์จะต้องหมุนตัวกลับ 180 องศา สามารถสร้างเป็นฟังก์ชั่น R180()

         ดังนี้                                                                                                                การทำางานของโปรแกรม


            void R180(){                                                                                                          โปรแกรมนี้จะใช้ตัวแปร i ในการนับทางแยกเมื่อเจอทางแยกแล้วตรวจพบว่าตัวแปร i มีค่า

               while(analog(1)>500){sr(50);}                                                                                   เป็น 1 จะเข้าสู่โหมดหนีบกระป๋อง โดยจะเดินตรงไปเรื่อยๆ จนเซนเซอร์ A2 เจอกระป๋อง จาก

               while(analog(1)<500){sr(50);}                                                                                   นั้นหนีบแล้วถอยหลังหมุนตัวกลับ เดินตามเส้นต่อไป เมื่อเจอแยกอีกครั้ง i จะมีค่าเป็น 2 จะ


            }                                                                                                                  เป็นการวางกระป๋อง และหมุนตัวกลับ ณ ที่นี้จะสั่งให้ i เป็น 0 อีกครั้งเพื่อเริ่มต้นกระบวนการ


                                                                                                                               ใหม่
   82   83   84   85   86   87   88   89   90   91   92