2015年3月23日 星期一

Arduino 測距系列 (一) HC-SR04

Arduino 用黎測距既模塊多 D 是, 手頭上都有幾塊唔同既, 方便自己, 遂一記低點用.

首先係 HC-SR04


基本資料:

電壓:5V
靜態電流:小於 2mA
電平輸出:高 5V; 低 0V
感應角度:不大於 15度
探測距離:2 - 450 cm


相關資料下載:
HC-SR04


接線方法:

呢個模塊主要得四支針, Vcc, Trig, Echo 同埋 Gnd, 兩條訊號線接乜野 I/O 無所謂, 暫時以 D4, D5 做例子.

UNOHS-SR04
D4Echo
D5Trig
5VVCC
GNDGND


測試程式:

enum {
  SERIAL_BAUD = 9600,
  ECHO_PIN    = 4,
  TRIG_PIN    = 5
};


void setup() 
{
 Serial.begin(SERIAL_BAUD);
 Serial.println("HC-SR04 Tester");

 pinMode(ECHO_PIN, INPUT);
 pinMode(TRIG_PIN, OUTPUT);

}

void loop() 
{
  long duration, distance;
  digitalWrite(TRIG_PIN, LOW); 
  delayMicroseconds(2); 
  digitalWrite(TRIG_PIN, HIGH); // Pulse for 10ms to trigger ultrasonic detection 
  delayMicroseconds(10); 
  digitalWrite(TRIG_PIN, LOW); 
  duration = pulseIn(ECHO_PIN, HIGH); // Read receiver pulse time 
  distance = (duration / 2) / 29.1;
  if ((distance >= 200) || (distance <=0)) {
    Serial.println("Out of range");
  } else {
    Serial.print(distance); //Ourput distance
    Serial.println(" cm");
  }
  delay(500);
}

沒有留言:

張貼留言