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