模块直接搜这个型号就算了,据传测距范围2cm - 6m。四个引脚,正常3v供电外,还有一个触发和一个接收。接收使用高电平的时间来表达声波一来回的时间,具体时间单位好像是纳秒。
#define SM_TRI_PIN D7
#define SM_ECHO_PIN D8
#define SM_ACTION_TRI HIGH
#define SM_ACTION_WAIT LOW
#define SM_HAS_ECHO HIGH
void setup() {
Serial.begin(115200);
delay(2000);
}
void loop() {
digitalWrite(SM_TRI_PIN,SM_ACTION_TRI);
delayMicroseconds(50);
digitalWrite(SM_TRI_PIN,SM_ACTION_WAIT);
int echo_time = pulseIn(SM_ECHO_PIN,SM_HAS_ECHO);
if(echo_time < 60000 && echo_time > 1){
char msg[100];
sprintf(msg,"Result:%f m",echo_time /1E6 * 340 /2.0,100);
Serial.println(msg);
}else{
Serial.println("Extend Ablility");
}
delay(500);
}
怎么说呢,看着还行,还挺准的。