Arduino--超声波模块
淘宝购买地址:https://detail.tmall.com/item.htm?id=629617028735&spm=a1z09.2.0.0.6de32e8dvyfVWU&_u=j1lng7f9b2e
说明:
一共有四个脚,分别为VC,Trig,Echo,GND,两边的两个为接电源的正负极,中间的两个一个发送一个接收,可以连接在任意信号端口是包括1到13口及A0~A5
实例
Trig引脚连接A0,echo连接A1
米思琪
单位:厘米
Arduino
float checkdistance() { //定义函数--获得距离 digitalWrite(A0,LOW); delayMicroseconds(2); digitalWrite(A0, HIGH); delayMicroseconds(10); digitalWrite(A0, LOW); float distance=pulseIn(A1, HIGH)/58.00; //获取测得的距离 //pluseIn函数用于检测引脚输出的高低电平的脉冲宽度 /* 关于距离中除以58的说明: 58也很好理解,声音在干燥、摄氏 20度的空气中的传播速度大约为343米/秒,合34,300厘米/秒。或者,我们作一下单位换算,34,300除以1,000,000厘米/微秒。即为:0.0343厘米/微秒,再换一个角度,1/(0.0343 厘米/微秒)即:29.15 微秒/厘米。这就意味着,每291.5微秒表示10CM的距离。1厘米就是29.15微秒。但是发送后到接收到回波,声音走过的是2倍的距离呀。 所以实际距离就是1厘米,对应58.3微秒。实际上整个测距过程是测的发出声波到收到回波的时间,你的程序里的第一个distance实际上是时间us。所以换成距离cm,要除以58。当然除以58.3可能更精确。所以程序中用 pulseIn(EcoPin, HIGH) / 58.00获取测得的距离 */ return distance;