วันพุธที่ 30 กันยายน พ.ศ. 2558

การวัดระยะวัดถุโดยใช้ INFRARED LED














ใช้ INFRARED LED ส่องไปที่วัตถุ และสะท้อนกลับมาที่ตัว Sensor โดยมีฉากกั้นระหว่าง LED กับ SENSOR เพื่อป้องกันสัญญาณรบกวน

สามารถนำไปประยุกต์ใช้กับหุ่นยนต์เพื่อตรวจจับกำแพงการชนวัตถุ

ตัวอย่างการเขียนโปรแกรม เพื่อใช้เป็น Switch เมื่อเจอกำแพง

#include <16F628A.h>

#define CRYSTAL 4000000        //crystal 4MHz
#fuses HS
#fuses NOLVP,NOWDT
#fuses NOPROTECT
#use delay (clock=4000000)


void main(void)
{
   set_tris_b(0b00000000);          //ให้พอร์ท B ทั้ง 8 ขาเป็น output
   cmcon = 0x07;     //ทำให้ port A ทำงานเป็นพอร์ดิจิตอล
  
   while(TRUE)   //วนลูปตลอด
   {

  
   set_tris_a(0b11110001);; //ให้ พอร์ท A0 เป็น output
   if(input(PIN_a0))   // Active High     ถ้ามีสัญญาณเข้าขา A0
      {
         delay_ms(50);
         output_high(PIN_B4);           //จ่ายไฟออกที่ขา B4
         delay_ms(2000);
      }
   }
}

ไม่มีความคิดเห็น:

แสดงความคิดเห็น