Arduino超声波传感器测量距离
2020-02-16 20:13
281 查看
超声波传感器的原理
声波在空气中的速度是340m/s,当声波发生之后,碰到障碍物后声波被反射,这时我们只要测量声波发出到返回的时间就可以计算出距离了。
假设测量时间是t(微妙) 则距离l(cm) = 340m/st1000000*(1/100)(1/2) 化简之后 l(厘米) = t17/1000
其中1/2指的是测的声波返回时间是一个来回,所以需要除以2。
接线方式
VCC ---- 5v
GND ---- GND
Trig — 2
Echo — 3
程序
float l; //测量距离 float t; //测量时间 void setup(){ Serial.begin(9600); // 串口波特率 pinMode(2,OUTPUT); //定义2号针脚是输出模式 pinMode(3,INPUT); //定义3号针脚是输入模式 } void loop(){ digitalWrite(2,LOW); //给2号针脚发送一个低电平 delayMicroseconds(2); //延时2微妙 digitalWrite(2,HIGH); //给2号针脚一个一个高电平 delayMicroseconds(10); //延时10微妙 digitalWrite(2,LOW); //给2号针脚一个低电平 t = float(pulseIn(3,HIGH)); //储存回波时间 l = (t * 17)/1000; //计算距离 Serial.println("时间:"+String(t)); //输出回波时间 Serial.println("距离:"+String(l)+"cm"); //输出测量距离 delay(100); //延时100毫秒 }
- 点赞 3
- 收藏
- 分享
- 文章举报
相关文章推荐
- hardware-fireduino
- arduino于RFID
- arduino与RF
- XLMHttpRequest对象的status属性,readyState属性以及onreadystatechange事件
- Aion Quest: Go Back into the Frillneck Habitat
- ValueError: Invalid configuration: - Deprecated option 'domaincontroller': use 'http_authenticator
- 深度学习入门二分类例子中ValueError: Object arrays cannot be loaded when allow_pickle=False
- [转]flash builder 4 编译器参数
- STL stack和queue的用法
- 【经验】CruiseControl.Net的安装、配置和遇到的一些问题
- 9 子线程更新UI
- 移动UI设计学习总结
- npm install 在 loadRequestedDeps 步骤卡死解决方法
- 【数据库】liquibase: Waiting for changelog lock....
- UEFI,GPT和LVM的那些是是非非
- DB2物化视图——MQT 物化查询表的正确使用(materialized query tables)
- context.getContentResolver().query()详细用法详解
- edx---安装 vagrant - vbguest 插件
- easyui 中datagrid分页
- easyui下拉框赋值及取值