วันเสาร์ที่ 20 ธันวาคม พ.ศ. 2557

การทดลองปฏิบัติเกี่ยวกับ ultrasonic sensor, timers, external interrupt, pin change interrupt

โจทย์


- ทดลองใช้งานโมดูล HC-SR04
- เขียนโค้ด Arduino โดยไม่ใช้คำสั่ง PulseIn() ของ Arduino แต่ให้ใช้ Timer 1 เพื่อวัดความกว้างของช่วงเวลา(ใช้ Timer1 สร้างฐานเวลาในการนับ)
- ใช้ External Interrupt 0 หรือ 1 และใช้ ISR ที่เกี่ยวข้องอ่านค่าเวลา 2 ครั้ง (ขอลขาขึ้นและขอบขาลงของสัญญาณ ECHO) แล้วนำมาคำนวณช่วงกว้างของ HIGH แล้วนำค่าที่ได้ไปคำนวฯระยะห่างจากสิ่งกีดขวาง
- ใช้ออสซิลโลสโคปดูสัญญาณทั้ง TRIG และ ECHO
- ต่อวงจรใช้งานโมดูล 16 x 2 LCD เพื่อแสดงผล


อุปกรณ์ที่ใช้ในการทดลอง


บอร์ด Arduino                        1       บอร์ด
เซนเซอร์ HC-SR04                1       ชิ้น


ข้อมูลเชิงเทคนิคของเซนเซอร์ HC-SR04

    Working Voltage DC        5V
    Working Current               15mA 
    Working Frequency           40Hz
    Max Range                         4m
    Min Range                          2cm
    Measuring                           15 degree
    Trigger Input                       10uS TTL Level signal and the range in propotion
    Dimention                            45*20*15mm

ref : www.aimagin.com

การต่อวงจร



การทำงานของโปรแกรม





ผลการทดลอง