超声波测距OLED显示
文章目录
- 一、前言
- 二、超声波模块介绍
- 1、超声波模块
- 2、HC-SR04模块
- 三、硬件连接
- 四、软件代码
- 五、效果展示
- 六、代码链接
一、前言
超声波模块是通过声音的传播进行测距,声音传播的速度与所用时间通过运算得出距离,精度相对较高,可用于近距离的测量与感应。
二、超声波模块介绍
1、超声波模块
超声波测距模块是用来测量距离的一种产品,通过发送和收超声波,利用时间差和声音传播速度,计算出模块到前方障碍物的距离。 超声波测距模块有好多种类型,比较常用的有URM37[超声波传感器]默认是[232接口],可以调为TTL接口,URM05大功率超声波传感器测试距离能到10米,算是测试距离比较远的一款了,另外还有比较常用的国外的几款SRF系列的超声波模块,超声波模块精度能到1cm 。
2、HC-SR04模块
本模块性能稳定,测度距离精确,模块高精度,盲区小。 产品应用领域: 机器人避障 物体测距 液位检测 公共安防 停车场检测 。 测试距离大概在5M。
基本工作原理:
(1)采用IO口TRIG触发测距,给至少10us的高电平信号;
(2)模块自动发送8个40khz的方波,自动检测是否有信号返回;
(3)有信号返回,通过IO口ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。测试距离=(高电平时间*声速(340M/S))/2;
三、硬件连接
超声波硬件连接
**VCC:**接5V
**GND:**接地
**Trig:**控制端(我接的P1^0)
**Echo:**接收端(我接的p1^1)
OLED连接方式与上一节相同。
四、软件代码
main主函数
void main()
{ float S; //距离变量TIM0init(); //初始化定时器0OLED_Init(); //初始化OLED_ColorTurn(0); //0正常显示,1反色显示OLED_DisplayTurn(0);//0正常显示,1屏幕反转显示while(1) {TRIG=1; //触发信号是高电平脉冲,宽度大于10usDelayUs2x(10);TRIG=0;while(!ECHO); //等待高电平TR0=1;while(ECHO); //等待低电平TR0=0;S=TH0*256+TL0;//取出定时器值高8位和低8位合并S=S/58; //为什么除以58等于厘米, Y米=(X秒*344)/2// X秒=( 2*Y米)/344 -> X秒=0.0058*Y米 -> 厘米=微秒/58TH0=0;TL0=0; //清除定时器0寄存器中的值//delay_ms(50);S=S*10; OLED_DrawBMP(0,1,48,48,BMP1); //生成图像OLED_ShowChinese(48,0,0,16); //文字 距离OLED_ShowChinese(64,0,1,16); OLED_ShowString(80,0,":",16); //显示字符串OLED_ShowString(110,2,"mm",16);OLED_ShowNum(80,2,S,3,16); //显示数字DelayMs(250); }
}
OLED控制函数可以观看上一节内容。
五、效果展示
OLED显示距离
六、代码链接
关注公众号回复“超声波测距OLED显示”获得代码。若有错误欢迎指正。
超声波测距OLED显示相关推荐
- 超声波测距+OLED显示
文章目录 超声波测距+OLED显示 超声波 STM32引脚配置 代码 启动超声波模块 接收超声波数据回传 超声波测距+OLED显示 超声波模块使用的是HC-SR04模块,单片机使用的是STM32F40 ...
- STM32基础——超声波测距+OLED显示+蜂鸣器报警
此代码的格式可以直接烧录到STMF03C8T6最小系统中,烧录在其它芯片需要自己进行代码移植,功能是使用超声波模块进行测距,距离会显示在OLED屏幕上,并且当测量到的数据小于设定的范围是,蜂鸣器报警, ...
- Arduino+HC-SR04超声波模块+OLED显示
Arduino+HC-SR04超声波模块+OLED显示 1)超声波测距的代码从我之前发的文章中学习 使用HC-SR04超声波模块与Arduino结合进行测距并串口显示 2)OLED的显示也可以从下面这 ...
- 超声波测距1602显示程序
超声波测距1602显示程序 1.intrins.c 2.1602led.c 3.boardinit.c 4.delay.c #include <reg52.H> //机器器件配置文件 #i ...
- 【在线仿真】Arduino 超声波测距+LCD1602显示
[在线仿真]Arduino 超声波测距+LCD1602显示 程序代码 /*LiquidCrystal Library - Hello WorldThis sketch prints "Hel ...
- 超声波测距LCD1602显示
超声波测距模块: 1.采用IO口TRIG触发测距,给至少10us的高电平信号: 2.模块自动发送8个40khz的方波,自动检测是否有信号返回: 3.有信号返回,通过IO口ECHO输出一个高电平,高电平 ...
- 51单片机 普中V2 超声波测距 报警 显示 基于MCS51单片机的超声波测距模块的开发
基于MCS51单片机的超声波测距模块的开发 采用C51程序设计语言,完成下列功能要求. l 必选功能: (1) 超声波模块和单片机的接口设计,画出完整的电路原理图.(15分) (2) 开发板上电时,显 ...
- MSP432P401R+TOFLuna激光雷达测距+OLED显示
目录 前言 一.TOFLuna激光雷达 1.工作原理 测距原理 数据传输解析 二. CCS工程代码部分代码 main.c tof.c tof.h usart.c 三.输出结果显示 四.源码链接 前言 ...
- 基于arduino的蓝牙小车 超声波测距 OLED 屏幕显示数据 超声波避障 蓝牙控制 pwm调速
const int TrigPin = 2; //超声波引脚定义 const int EchoPin = 3; //超声波引脚定义 float cm; //测距参数 //l298n驱动上对应的接口 i ...
最新文章
- nvGRAPH API参考分析(二)
- Json文件解析(上)
- html中base标签的使用,和简介
- 人工智能再升温:零售行业如何抢占AI先机
- java技术的核心是哪个_[JAVA]《Java 核心技术》(一)
- python资源百度云_Python Selenium 百度云分享链接资源 批量保存
- 上海计算机应用基础自考上机,上海2010年自考计算机应用基础上机大纲
- java基础-类加载学习笔记
- 联系随笔2---在tomcat服务器上发布servlet应用程序
- django开源电子文档管理系统_Python实操技术分享:Django文件管理系统,Apple的学习思路...
- python中双冒号的作用_python中双冒号
- 集成灶哪个品牌性价比高质量好,过来人实话实说?
- 【爬虫入门】一键爬取LOL全部高清皮肤
- 操作系统----大内核与微内核
- neo4j安装_Neo4J OGM与Quarkus
- linux下mkdir和windows下mkdir的对比
- kali永久提root权限
- 一维谐振子定态 Schrödinger 方程的数值解法
- bootstrap中,role=form及role作用角色
- Unity3D中截图并修改图片像素重新保存至本地