[ บทความ : Robot ] ตอนที่ 5 เรื่อง ... การควบคุม ET-ROBOT RD2 (การตรวจสอบ Input ด้วยบอร์ด R-LIGHT)

 

การตรวจสอบแสงสว่างด้วยบอร์ด R-LIGHT

     

     สำหรับในหัวข้อนี้เราจะมาทดลองการวัดค่าแสงสว่าง ด้วยชุด ET ROBOT-RD2 กันดู โดยจะใช้บอร์ด R-LIGHT ซึ่งเป็นบอร์ดสำหรับใช้ตรวจจับระดับแสงสว่างอย่างง่ายๆ โดยใช้หลักการ RC ในการวัดค่าความต้านทาน โดยลักษณะของวงจร RC ของบอร์ด R-LIGHT เป็นดังรูป

 

รูปแสดง ลักษณะของวงจร R-LIGHT ที่ใช้สำหรับตรวจจับแสงสว่าง

     โดยการทำงานของวงจรจะเป็นการอาศัยหลักการนับเวลาที่ ใช้ในการประจุ ของตัวเก็บประจุ ซึ่งจากวงจรจะเห็นได้ว่าตัวเก็บประจุนั้นจะกำหนดเป็นค่าคงที่ไว้ ส่วนค่าตัวต้านทานนั้นจะเป็นตัวต้านทานแบบเปลี่ยนค่าได้ตามระดับของแสงสว่าง ดังนั้นการทำงานของวงจร RC หรือเวลาที่ใช้ในการประจุ จึงขึ้นอยู่กับค่าการเปลี่ยนแปลงของความต้านทานเพียงอย่างเดียวซึ่งค่าความต้านทานก็จะเปลี่ยนแปลงตามระดับของแสงสว่าง ดังนั้นเราจึงสามารถอาศัยหลักการนี้ในการวัดค่าแสงสว่างได้ โดยโปรแกรม BASCOM-8051 เองได้สร้างคำสั่ง GETRC ไว้ให้เราใช้งานอยู่ด้วยแล้วดังนั้นเราจึงสามารถนำคำสั่งนี้มาใช้วัดระดับแสงสว่าง โดยใช้วงจร RC ของบอร์ด R-LIGHT ได้ทันที โดยลักษณะของบอร์ด R-LIGHT นั้นจะออกแบบให้สามารถเชื่อมต่อกับบอร์ด ET-ROBOT RD2 ได้ทันที ซึ่งจะต่อเข้ากับสัญญาณของ Pin Port ใดๆก็ได้ โดยตามปรกติแล้วบอร์ด ET-ROBOT RD2 จะมี Pin Port เหลือว่างไว้ให้ใช้งานจำนวน 4 ชุด คือ P1.0,P1.1,P1.2 และ P1.3 โดย Pin Port ทั้ง 4 ชุดนี้จะต่อออกมารอไว้ยังขั้วต่อขนาด 3 Pin ไว้ให้เรียบร้อยแล้ว จึงสามารถนำไปต่อกับบอร์ด R-LIGHT ได้ทันที โดยไม่ต้องดัดแปลงแก้ไขใดๆอีก แต่ต้องไม่ลืมทำการ OFF Dip-Switch ในตำแหน่งที่เชื่อมต่อกับ Pin Port ที่จะนำมาใช้งานด้วยเนื่องจาก Pin Port ของ P1.0-P1.4 จะต่อร่วมกับวงจรของ Dip-Switch ขนาด 4 จุดอยู่ด้วย

 

  $regfile = "89c51rd.dat" 'กําหนดใช้งานกับ  P89C51RD2(Philips)  
  $ramstart = 0    
  $ramsize = 256    
  $crystal = 36864000 'กําหนด  XTAL = 18.432MHz แบบ  X2 Mode  
       
  Config Lcdpin = Pin , Db4 = P2.0 , Db5 = P2.1 , Db6 = P2.2 , Db7 = P2.3 , E = P2.4 , Rs = P2.      ‘กําหนดการเชื่อมต่อกับ  LCD  
  Config Lcd = 16 * 2 ‘กําหนดใช้งานกับ  LCD ขนาด  16 ตัวอักษร  2 บรรทัด  
  Cursor Off 'ไม่ต้องแสดง       Cursor LCD  
       
  Config Timer0=Timer,Gate=Internal,Mode=1 'กําหนดการทํางานของ  Timer0   
  Config Getrc = 20 'กําหนดเวลาสําหรับการประจุ  = 20mS  
  Dim Light As Word 'กําหนดตัวแปรสําหรับอ่านค่า  RC  
       
  Cls 'สั่ง  Clear Display     
  Lcd "**DEMO R-LIGHT**"    ‘แสดงข้อความในบรรทัดที่      1  
  Locate 2 , 1 ‘กําหนด  Cursor ไว้ที่ตัวอักษรแรกของบรรทัดที่      2  
  Lcd "Light Value =   " ‘แสดงข้อความในบรรทัดที่      2  
       
  Do 'เริ่มต้นการวนรอบอ่านค่า  RC  
       Light = Getrc(p1.1)  'อ่านค่า  RC จาก  P1.1 ให้กับตัวแปร       Light  
       Locate 2 , 14   ‘กําหนดตําแหน่ง   Cursor ในการแสดงผล  
       Lcd Light ‘แสดงผลค่าเวลาที่ใช้ในการประจุที่อ่านได้  
       Wait 1  'หน่วงเวลาไว้ชั่วขณะหนึ่ง  
  Loop    
 

แสดง โปรแกรมอ่านค่าแสงสว่างโดยใช้บอร์ด R-LIGHT

 

      

          

     สำหรับการทำงานของโปรแกรมจะเป็นการอ่านค่าเวลาที่ใช้ในการประจุ ให้กับตัวเก็บประจุ ค่า 0.01uF โดยค่าเวลาของการประจุจะเปลี่ยนแปลงตามค่าความต้านทาน ซึ่งค่าของความต้านทานของ LDR ก็จะแปรผันตามค่าแสงสว่าง โดยจากตัวอย่างจะใช้ P1.1 สำหรับทำหน้าที่อ่านค่าการประจุของวงจร RC ของบอร์ด R-LIGHT โดยการทำงานของโปรแกรมจะแสดงให้เห็นที่หน้าจอ LCD โดยการทดสอบการทำงานของโปรแกรมให้ทดลองปรับระดับแสงสว่างที่สองไปยังชองรับแสงของ LDR ในบอร์ด R-LIGHT แล้วสังเกตค่าผลลัพธที่อ่านได้จากการทำงานของคำสั่งที่หน้าจอแสดงผล LCD

 


เขียนโดย : อีทีที
Author : ETT
e-mail : sales@etteam.com
วันที่ทำการปรับปรุง : ๒๐ มิ.ย. ๒๕๔๗