本次实验是要实现当有物体接近超声波测距仪10cm是蜂鸣器就发出警报。
硬件准备:arduino uno 电板 、USB 数据线、HC-SR04超声波测距仪、无源蜂鸣器低平触发器MH-FMD、面包板、连接线若干
软件准备:arduino
拓展:YFROBOT库
实验要用到的YFROBOT库:链接:https://pan.baidu.com/s/1bz9_rOo1wNBvGzTbCNmMew
提取码:7pao
代码:
volatile float dist;
float checkdistance_A1_A3() {
digitalWrite(A1, LOW);
delayMicroseconds(2);
digitalWrite(A1, HIGH);
delayMicroseconds(10);
digitalWrite(A1, LOW);
float distance = pulseIn(A3, HIGH) / 58.00;
delay(10);
return distance;
}
void setup(){
dist = 0;
pinMode(A1, OUTPUT);//超声波测距输出口
pinMode(A3, INPUT);//超声波测距输入口
Serial.begin(9600);
pinMode(4, OUTPUT);//蜂鸣器管脚口
}
void loop(){
dist = checkdistance_A1_A3();
Serial.print("1111");
Serial.println(dist);
delay(1000);
if (dist < 10) { //设置距离小于10cm就预警
Serial.print("1111");//检查是否出错
tone(4,100,1000);
}
}
超声波测距仪连接:超声波测距仪四个接口,GND连接面包板的GND(自己定义),VCC连接面包板的电源(自己定义),TRIG连接管脚接口A2,ECHO连接管脚接口A3
面包板:与蜂鸣器、超声波测距仪相连,面包板的GND连开发板的GND,面包板的电源连开发板的5v
蜂鸣器:与面包板的GND、电源相连,再连arduino uno 电板连接管脚接口4
连线图:
解释:VCC 指电源,GND指地接,TRIG是控制端(输入),ECHO是返回端(输出)。
之后编译上传。
测试结果视频链接:https://v.youku.com/v_show/id_XNDIzMTk3MjkxNg==.html?spm=a2hzp.8244740.0.0