红外测距模块 51单片机_智能激光测距「建议收藏」

红外测距模块 51单片机_智能激光测距「建议收藏」编者按:本文转载于酷耍(http:/kooshua.com)一、设计目的超声波测距和激光测距是现在比较常见的两种测距方式。两种方式相对比而言,激光测距的优点是以极小的一束激光发射出去再返回,精度为毫米级,几乎不受干扰,弥补了超声波测距易受环境干扰、误差大的缺陷。因此,采用激光测距便更能完美的实现想要的结果。本设计不仅能对距离完成精确快速的测量,还可以对测量数据进行语音播报、编号存储,使数据记录更加…

大家好,又见面了,我是你们的朋友全栈君。

编者按:本文转载于酷耍(http:/kooshua.com)

一、设计目的

超声波测距和激光测距是现在比较常见的两种测距方式。两种方式相对比而言,激光测距的优点是以极小的一束激光发射出去再返回,精度为毫米级,几乎不受干扰,弥补了超声波测距易受环境干扰、误差大的缺陷。因此,采用激光测距便更能完美的实现想要的结果。本设计不仅能对距离完成精确快速的测量,还可以对测量数据进行语音播报、编号存储,使数据记录更加方便。大大提高了测量的准确性、时效性。

二、设计的硬件选择及选择原因

61144a7d942eef776de3a52a9ed4e82a.png

1.LDB6X743激光测距模块。该模块是核心模块,测量范围是在0.03-50m,测量精度是在正负1mm,测量时间是在0.3-3s,供电电压是在3.3v,工作的温度是在0-40摄氏度。它具有抗干扰(指测量是空气中的灰尘、水汽),户外环境仍然具有很高的测量精度和可靠性。此外,应用简单,功耗稳定,耗电量很小(小于1w)。

2.STC89C52单片机。这是一款很常用的单片机,价格也很便宜,某宝上3块钱就可以买下来。它的处理效率快,损耗低,抗干扰能力强。除此之外,开发设备的要求低,节约很多时间,其中最主要的就是它具有EEPROM存储功能,我们测量的数据就可以存到里面。

3.LCD1602液晶屏幕。它可以同时显示32个字符,有着优惠的价格,编程非常简单,可以可靠稳定的工作。LCD1602液晶屏是一种图形点阵显示器,它显示的原理是非常通俗的,很容易理解。其实就是液晶面板内部的液晶材料,发生了改变从而显示不同的字符,它是由许多点阵字符位组成。顾名思义,每一个字符的显示都是通过每一个对应的字符位产生的,其可以对数字和字母等进行显示。每个点在接收到信号之后,就会保持颜色和亮度,稳定地进行发光显示,不会出现闪烁的情况,质量很高。LCD1602液晶显示屏是数字式的,可以直接与单片机引脚连接,便于操作。虽然它共有16个管脚,但在实际使用时,最重要的无非只有三个,即数据命令选择端RS,读写选择端R/W,使能信号端E,主要用于执行初始化,写入命令和写入数据,编程时赋予这三个端口对应的值就可以了,十分简单。

4.XFS5152CE语音芯片。XFS5152CE是一款集成度很高而且工艺相当复杂的芯片,它有中文和英文的语音合成功能,此外还集成了语音编解功能,无论是录制还是播放效果都很好。它支持合成任意的中文text和英文text,支持多种控制命令。其次,选用这个芯片最主要的原因就是它可以对一些操作起到提示作用,还可以对测量所得到的数据进行播报。

5.按键模块。单片机上常使用的按键有独立按键和矩阵键盘,两者各有优缺点。每一个独立按键是需要单独连接一个IO端口的,这种情况下是每一个按键的操作是不会影响其他IO端口的状态。当手动按键时,相应IO端口的电平发生会改变(一般是变为低电平)。其优点是体积小巧,配置比较灵活,编程简单逻辑清晰。但是,当有许多按钮时,IO端口将会被浪费。4条IO线作为行线和4条IO线作为列线来组成矩阵键盘,按钮设置在每行和每列相交点上,那么键盘上的按键数就是4×4。行列键盘的优点是显而易见的,即可以有效提高单片机系统中IO口的利用率,但缺点是体积大,编程逻辑复杂。考虑到本设计的功能十分简单,主要是测量长度、存储数据、读取/重置数据,拟用3个按键实现功能,对IO口资源占用不大,所以采用更加简单灵活的独立按键。

6.电源模块(AMS1117-3.3稳压器)。由于测量仪的位置不是固定的,测量时要随着使用者需要测量的地方而伴随移动,如果采用电源线连接外部电源十分不便于测量。考虑到其一体性和便携性,必须把电源集成在测量仪上,所以采用最简单的方式:干电池串联供电。5.5V-3.3V 是标准的STC89C52RC单片机正常工作电压范围,4.5V的电源可以用三节1.5V的干电池串联形成。此外,由于激光模块LDB6X743和语音芯片XFS5152CE工作电压为3.3V,因此还要使用稳压器对4.5V的电源进行处理,使其降压到3.3V。这里选用了AMS1117-3.3。AMS1117系列的稳压器常用于电池供电和便携产品中,它有两个版本可以选择:可调节版和任意固定电压版,精度为1%。本次使用的AMS1117-3.3从命名就可以看出来,它是3.3V的固定电压版,可以把4.5V的输入电压降压至3.3V,再对上述的两个模块供电。

三、电路设计及其分析

5d867b32217a6988a622bbc5066ca77d.png

1单片机电路—-复位电路。复位电路非常简单,需要用的单片机的RST端,电路是通过一个10K的电阻R1、一个电源VCC、一个10uF的电容C1与单片机的RST端连接构成的,如图10所示。单片机上电启动后,电源VCC就开始对电容C1充电,直到C1两端的电压达到4.5V,此时电阻R1两端的电压几乎为0,RST端自然处于一个低电平状态,系统保持正常运行。当按下按钮时,随着开关闭合,C1被短路放电,RST从低电平转变为高电平,触发了单片机系统的复位。

2.单片机电路—-晶振电路。单片机内部是没有晶体振荡器的,所以外部的晶振是每个单片机所必要的,单片机的工作信号脉冲就是来自于这个外部晶振的,也可以简单地理解为是单片机的工作速度。由于晶体振荡器YTAL引脚组成的振荡电路中存在轻微的谐波,虽然该波对电路并不会造成什么严重的影响,但为了确保电路的稳定性,一般都加上两个22pf电容,分别连接到晶振Y1的两个引脚并接地,这样做可以减小谐波对电路稳定性的影响。

3.单片机电路—-按键电路。按键电路也是单片机中非常基础的电路之一。按键没有被按下时,单片机内部的I/O口是存在一个上拉电阻的,所以默认就是高电平。当按下某个键时,相应的I/O端口从高电平转换成为低电平。只要用循环程序监测I/O端口高低电平的变化,就知道哪个键被按下了。

4.显示模块电路。VO端通过分得电压的高低来调节液晶显示屏的对比度,实际使用时一般是接10K的电位器以便调节。RS端是用来进行寄存器选择的,高电平时对数据寄存器进行操作,低电平时对指令寄存器进行操作,R/W端是读/写信号线,高电平执行读取操作,低电平执行写入操作。E端是使能端,当E端从高电平跳到低电平时,液晶模块执行命令。D0~D7端是8位双向数据线,可直接与单片机连接,这里接入10k的排阻以防止单片机驱动电流不足。BGVCC端和BGGND端分别是LCD1602液晶屏幕背光电源的正极和负极。

5.激光模块电路。激光测距传感器是使用串口向单片机传输数据的。串口是一种通讯协议,用来进行串行通信,它的特点是数据是以每一位为单位进行传输,和并行传输数据相比,肯定速度上不占优势,但是需要用到的数据线少,成本也很低。串行通讯又分同步通讯和异步通讯,这里也采用异步通讯,要连接单片机的TXD脚和RXD脚,同时要进行3.3V供电和接地。

6.语音模块电路。语音芯片XFS5152CE是通过I2C总线协议与单片机进行通信的,I2C是单片机中常用的通信协议,它只需要两条总线:SDA(串行数据线)和SCL(串行时钟线)。 当SCL处于高电平时,SDA从高电平切换到低电平表示开始,从低电平切换到高电平表示停止;而当进行数据传输时相反,SDA在SCL的高电平期间必须保持稳定,只有在SCL是低电平时才允许SDA发生高低电平的改变。数据合成语音后通过喇叭播报。语音芯片也需要使用3.3V的电源。

四、焊接、烧录、调试

3a4f0d9ad09190b0a1073e027a47c71a.png

准备好硬件之后,买一块洞洞板,把各个模块按电路图进行连接,然后用焊接固定。在连接过程中需要注意的是,一定按照电路图中的端口连接,避免错误,会增加后期调试的工作难度,根据各个模块的工作程序进行编程,运用Keil uVision4进行编程。首先建立项目工程 new uVision project,项目工程建立完成之后,接着就是创建源文件,然后把创建好的源文件加到工程中去,最后就可以采用C语言进行编程。程序写好之后,保存目标文件和库文件,选择options for target,然后,在output菜单中,确认是否勾选了创建HEX文件的选项,然后进行编译。最后一步就是使用单片机烧写软件,将编译之后形成的HEX文件烧入到单片机中就可以查看功能实现的效果了。

五、温馨提示

1.具体的相关程序代码(个别代码附有解释说明)和电路图工程文件我会放在附录里面,需要的可以下载参考学习。

2.具体的操作说明和功能讲解,我会录制一个视频,在视频中我会详细说明。

3.感谢您的阅读,希望可以对你有所帮助,如果有什么不懂得,欢迎留言咨询。谢谢支持。

关于智能激光测距就分享到这里啦,想进一步了解相关专业知识,请搜索-酷耍(http:/kooshua.com)

微信公众号:酷耍实验室

微信小程序:酷耍实验室

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/137869.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • navicat premium 15 激活【2021免费激活】

    (navicat premium 15 激活)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.cn/100143.html0VOERWDQ5R-eyJsa…

  • cogs2550. 冰桥,升起来了!

    cogs2550. 冰桥,升起来了!

  • Sublime Text 3安装及常用插件安装

    Sublime Text 3安装及常用插件安装欢迎访问我的个人博客http://xiaolongwu.cn/一、Sublime3下载1.百度搜索Sublime3download,选择进入下载页面2.我选择下载Win64位安装程序二、Sublime3安装傻瓜式安装,一直点下一步即可。三、Sublime3插件配置1.直接安装安装Sublimetext3插件很方便,可以直接下载安装…

  • OPC协议_opc通讯协议简介

    OPC协议_opc通讯协议简介一、OPC:OPC是一种利用微软的COM/DCOM技术来达成自动化控制的协定,采用典型的C/S模式,针对硬件设备的驱动程序由硬件厂商完成,提供统一OPC接口标准的Server程序,软件厂商只需按照OPC标准接口编写Client程序就访问Server程序进行读写,即可实现与硬件设备的通信。OPC协定包括:1.DA(DataAccess)规范:访问数据主要采用该规范2.A&E(Alarma…

    2022年10月22日
  • java 构造器 构造方法_Java构造器(构造方法/constructor)

    java 构造器 构造方法_Java构造器(构造方法/constructor)我们先来看一下什么是构造器:1、构造器也叫构造方法或构造函数,分为有参构造器和无参构造器;2、构造器也是一种方法,只不过是一种特殊的方法,它会在对象创建的时候被调用;3、构造器最大的作用就是在创建对象的时候进行对象的初始化,有参构造器可以实现对象传参(后面会比较着来看有参构造器方便在哪儿了);4、一个类可以有零个(如果没有自己定义编译器会帮你提供无参构造器)或多个构造器(【重载】不知道重载定义的小…

  • Laravel5.1 路由 -路由分组

    Laravel5.1 路由 -路由分组

    2021年10月23日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号