文章目录

  • 一、前言
  • 二、超声波模块介绍
    • 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显示相关推荐

  1. 超声波测距+OLED显示

    文章目录 超声波测距+OLED显示 超声波 STM32引脚配置 代码 启动超声波模块 接收超声波数据回传 超声波测距+OLED显示 超声波模块使用的是HC-SR04模块,单片机使用的是STM32F40 ...

  2. STM32基础——超声波测距+OLED显示+蜂鸣器报警

    此代码的格式可以直接烧录到STMF03C8T6最小系统中,烧录在其它芯片需要自己进行代码移植,功能是使用超声波模块进行测距,距离会显示在OLED屏幕上,并且当测量到的数据小于设定的范围是,蜂鸣器报警, ...

  3. Arduino+HC-SR04超声波模块+OLED显示

    Arduino+HC-SR04超声波模块+OLED显示 1)超声波测距的代码从我之前发的文章中学习 使用HC-SR04超声波模块与Arduino结合进行测距并串口显示 2)OLED的显示也可以从下面这 ...

  4. 超声波测距1602显示程序

    超声波测距1602显示程序 1.intrins.c 2.1602led.c 3.boardinit.c 4.delay.c #include <reg52.H> //机器器件配置文件 #i ...

  5. 【在线仿真】Arduino 超声波测距+LCD1602显示

    [在线仿真]Arduino 超声波测距+LCD1602显示 程序代码 /*LiquidCrystal Library - Hello WorldThis sketch prints "Hel ...

  6. 超声波测距LCD1602显示

    超声波测距模块: 1.采用IO口TRIG触发测距,给至少10us的高电平信号: 2.模块自动发送8个40khz的方波,自动检测是否有信号返回: 3.有信号返回,通过IO口ECHO输出一个高电平,高电平 ...

  7. 51单片机 普中V2 超声波测距 报警 显示 基于MCS51单片机的超声波测距模块的开发

    基于MCS51单片机的超声波测距模块的开发 采用C51程序设计语言,完成下列功能要求. l 必选功能: (1) 超声波模块和单片机的接口设计,画出完整的电路原理图.(15分) (2) 开发板上电时,显 ...

  8. MSP432P401R+TOFLuna激光雷达测距+OLED显示

    目录 前言 一.TOFLuna激光雷达 1.工作原理 测距原理 数据传输解析 二. CCS工程代码部分代码 main.c tof.c tof.h usart.c 三.输出结果显示 四.源码链接 前言 ...

  9. 基于arduino的蓝牙小车 超声波测距 OLED 屏幕显示数据 超声波避障 蓝牙控制 pwm调速

    const int TrigPin = 2; //超声波引脚定义 const int EchoPin = 3; //超声波引脚定义 float cm; //测距参数 //l298n驱动上对应的接口 i ...

最新文章

  1. nvGRAPH API参考分析(二)
  2. Json文件解析(上)
  3. html中base标签的使用,和简介
  4. 人工智能再升温:零售行业如何抢占AI先机
  5. java技术的核心是哪个_[JAVA]《Java 核心技术》(一)
  6. python资源百度云_Python Selenium 百度云分享链接资源 批量保存
  7. 上海计算机应用基础自考上机,上海2010年自考计算机应用基础上机大纲
  8. java基础-类加载学习笔记
  9. 联系随笔2---在tomcat服务器上发布servlet应用程序
  10. django开源电子文档管理系统_Python实操技术分享:Django文件管理系统,Apple的学习思路...
  11. python中双冒号的作用_python中双冒号
  12. 集成灶哪个品牌性价比高质量好,过来人实话实说?
  13. 【爬虫入门】一键爬取LOL全部高清皮肤
  14. 操作系统----大内核与微内核
  15. neo4j安装_Neo4J OGM与Quarkus
  16. linux下mkdir和windows下mkdir的对比
  17. kali永久提root权限
  18. 一维谐振子定态 Schrödinger 方程的数值解法
  19. bootstrap中,role=form及role作用角色
  20. Unity3D中截图并修改图片像素重新保存至本地

热门文章

  1. C++函数与结构体——歌唱比赛
  2. 汽车百科系列之(六): 鲜为人知的自动挡驾驶误区
  3. 初学者笔记——微信小程序点击图片放大
  4. GAN+文本生成:让文本以假乱真
  5. Python 最小二乘法拟合多项式
  6. Android实现倒计时之使用CountDownTimer
  7. 移动云SD-WAN高可用方案探讨
  8. IDEA 运行 Maven 项目
  9. OSI七层模型个人理解
  10. The Square Root of Three 孤独的根号三 David B. Feinberg 大卫·范伯格