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

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



                    GP2D120 เป นโมดู ลตรวจจั บระยะทางแบบอิ นฟราเรดมี ขาต อใช งาน 3 ขาคื อ ขาต อไฟเลี้ ยง (Vcc), ขากราวด

            (GND) และขาแรงดั นเอาต พุ ต (Vout) การอ านค าแรงดั นจาก GP2D120 จะต องรอให พ นช วงเตรี ยมความพร อมของ
            โมดู ลก อน ซึ่ งใช เวลาประมาณ 32.7 ถึ ง 52.9 มิ ลลิ วิ นาที  ดั งนั้ นในการอ านค าแรงดั นจึ งควรรอให พ นช วงเวลาดั งกล าว

            ไปก อน ดั งแสดงข อมู ลเบื้ องต นในรู ปที่  10-1
                    ค าแรงดั นเอาต พุ ตของ GP2D120 ที่ ระยะทาง 30 เซนติ เมตรที่ ไฟเลี้ ยง +5V อยู ในช วง 0.25 ถึ ง 0.55V โดย

            ค ากลางคื อ 0.4V ช วงของการเปลี่ ยนแปลงแรงดั นเอาต พุ ตที่ ระยะทาง 4 เซนติ เมตรคื อ 2.25V 0.3V

            10.2 คํ าเตื อนเกี่ ยวกั บสายสั ญญาณของโมดู ล GP2D120


                    เนื่ องจากโมดู ล GPD120 มี การจั ดขาสั ญญาณที่ แตกต างจากจุ ดต อบนแผงวงจรควบคุ มของหุ นยนต  POP-BOT
            แม ว าจะมี รู ปร างเหมื อนกั นก็ ตาม ดั งนั้ นจึ งมี การต อสายสั ญญาณแบบพิ เศษให แก โมดู ล GP2D120 โดยต อกั บโมดู ลไว
            แล ว ผู ใช งานเพี ยงนํ าปลายของสายสั ญญาณอี กด านหนึ่ งต อเข ากั บจุ ดต อสั ญญาณบนแผงวงจรควบคุ มหลั กได เลย โดย

            ต องไม ถอดสายสั ญญาณที่ ติ ดกั บตั วโมดู ลและห ามเปลี่ ยนสายสั ญญาณของโมดู ล GP2D120 สลั บกั บสายสั ญญาณของ
            ตั วตรวจจั บแบบอื่ นๆ เด็ ดขาด

            10.3 การอ านค าข อมู ลจาก GP2D120 ด วยวงจรแปลงสั ญญาณอะนาลอกเป นดิ จิ ตอล


                    ค าแรงดั นเอาต พุ ตจาก GP2D120 จะเปลี่ ยนแปลงตามระยะทางที่ ตรวจวั ดได  เช น วั ดแรงดั น Vout เท ากั บ 0.5V
            จะเที ยบเป นระยะทางได  26 เซนติ เมตร  หรื อที่  Vout เท ากั บ 2V จะเที ยบเป นระยะห างจากวั ตถุ  6 เซนติ เมตร  เป นต น

            สามารถสรุ ปข อมู ลการเที ยบค า Vout กั บระยะทางในตารางที่  10-1

                    อย างไรก็ ตาม เพื่ อช วยให การอ านค าจากโมดู ล GP2D120 ทํ าได ง ายขึ้ น จึ งได สร างไฟล ไลบรารี สํ าหรั บใช
            งานกั บโมดู ล GP2D120 โดยเฉพาะขึ้ นมา นั่ นคื อไลบรารี  gp2d120_lib.h จะต องผนวกไฟล ไลบรารี ไว ในตอน

            ต นของโปรแกรมก อนใช งานด วยคํ าสั่ ง

                           #include <gp2d120_lib.h>
                    เนื่ องจากโมดู ล GP2D120 ให ผลการทํ างานเป นแรงดั นไฟตรงที่ สั มพั นธ กั บระยะทางที่ ตรวจวั ดได  ดั งนั้ น

            ในการใช งานจึ งต องต อโมดู ลตรวจจั บนี้ เข ากั บอิ นพุ ตสั ญญาณอะนาลอกของ POP-BOT นั่ นคื อ พอร ต An1 ถึ ง An7

                    ฟ งก ชั่ นที่ ใช ในการอ านค าระยะทางที่ วั ดได จากโมดู ล GP2D120 คื อ getdist() มี วิ ธี การใช งานดั งนี้

                    รู ปแบบ
                       unsigned int getdist(char adc_ch)

                    พารามิ เตอร

                       adc_ch  ทํ าหน าที่ รั บการกํ าหนดช องอะนาลอกที่ ใช งานตั้ งแต  1 ถึ ง 7 ตามที่ ได ต อใช งาน

                    การคื นค า
                       ระยะทางในหน วยเซนติ เมตร

                    ตั วอย างที่  10-1

                       dist = getdist(3);  // อ านค าระยะทางจาก GP2D120 จากช อง An3
   105   106   107   108   109   110   111   112   113   114   115