這次利用Adruino來作一個距離的小實驗
超音波感測器由超音波發射器、接收器和控制電路所組成。當它被觸發的時候,發射器會發射一連串
40kHz的聲波,當碰觸到物體時,音波反回接收器。超音波是很高頻的聲因,人類耳朵無法聽見的聲音。
這次利用HC-SR04的超音波模組來測試
![HC-SR04 timing diagram HC-SR04 timing diagram](https://imageproxy.pixnet.cc/imgproxy?url=https://pic.pimg.tw/a1239537/1397882144-3172071600.jpg)
HC-SR04 的接線方式很簡單,總共只有 4 支接腳。
HC-SR04 | Arduino |
Vcc | +5V |
Trig | GPIO |
Echo | GPIO |
GND | GND |
我們使用的是HC-SR04 Ultrasonic Sensor Library,因為這個 library 已經把測距的公式都包成了函式庫,
使用上很方便。HCSR04Ultrasonic library 目前最新的版本是 1.1.2 版
#include <Ultrasonic.h>
#define TRIGGER_PIN 12
#define ECHO_PIN 13
#define Alarm_PIN 8
Ultrasonic ultrasonic(TRIGGER_PIN, ECHO_PIN);
void setup()
{
Serial.begin(9600);
pinMode(Alarm_PIN,8);
}
void loop()
{
float cmMsec, inMsec;
long microsec = ultrasonic.timing();
cmMsec = ultrasonic.convert(microsec, Ultrasonic::CM);
inMsec = ultrasonic.convert(microsec, Ultrasonic::IN);
Serial.print("MS: ");
Serial.print(microsec);
Serial.print(", CM: ");
Serial.print(cmMsec);
Serial.print(", IN: ");
Serial.println(inMsec);
//if(cmMsec <=10)
//{
// Serial.println("too close");
// digitalWrite(Alarm_PIN,HGHI);
//}
delay(1000);
}
超音波的應用
http://www.youtube.com/watch?v=70xXKDU9z8w
https://www.youtube.com/watch?v=LY2wxKSlN4E