超声波是声波的一部分,是人耳听不见、频率高于20KHZ的声波,它和声波有共同之处,即都是由物质振动而产生的,并且只能在介质中传播;同时,它也广泛地存在于自然界,许多动物都能发射和接收超声波,其中以蝙蝠最为突出,它能利用微弱的超声回波在黑暗中飞行并捕捉食物。但超声还有它的特殊性质'如具有较高的频率与较短的波长,所以,它也与波长很短的光波有相似之处。
上图的trig是触发针脚,echo是回馈针脚。
我定义的trig针脚是11,echo是10,就这两针脚对应的案例没有依赖库:
const int trigPin = 11;//触发针脚 const int echoPin = 10;//回声针脚 float distance;//存放距离 //初始化超声波针脚 void initUltrasonic(){ pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT); } //获取距离 void getDistance(){ // 产生一个10us的高脉冲去触发trigPin digitalWrite(trigPin, LOW); delayMicroseconds(2); digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); // 检测脉冲宽度,并计算出距离 distance = pulseIn(echoPin, HIGH) / 58.00; Serial.print(distance); Serial.print("cm"); }