×

shiyongzhuSTM32L053开发板 超声波测距系统资料下载

消耗积分:2 | 格式:pdf | 大小:256.32KB | 2021-04-22

分享资料个

本次使用STM32L053开发板,本计划利用多个超声波模块HC-SR04完成一个空间目标空间定位系统,但是由于无线通信芯片nRF24L01迟迟没有调试成功,所以此处先使用超声波模块HC-SR04制作一个超声波测距系统,后面等待nRF24L01调试通过再完成原计划。一、硬件组成整个系统简图如下:STM32L053通过HC-SR04测量出距离,然后再由LCD1602显示。HC-SR04的引脚主要有VCC(电源)、trig(控制端)、 echo(接收端)、 GND(地)。VCC接+5V电源,GND接地,trig接PB1,echo接PB0。LCD1602的引脚有VSS(电源地)、VDD(电源正极)、VL(液晶显示偏压信号)、RS(数据/命令选择端)、R/W(读/写选择端)、E(使能信号)、D0~D7(数据口)、BLA(背光源正极)、BLK(背光源负极)。VDD接+5V电源,VSS接电源地,RS接PB2,RW接PB10,E接PB15,D0~D7接PC0~PC7,其他信号按照下图连接。本人采用一块实验板作为基本,将整个系统在板子上进行了搭建,搭建效果图如下:二、软件编写1、超声波测距基本工作原理:(1)采用IO口TRIG触发测距,给至少10us的高电平信号; (2)模块自动发送8个40khz的方波,自动检测是否有信号返回; (3)有信号返回,通过IO口ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。测试距离=(高电平时间*声速(340M/S))/2;2、LCD显示LCD1602的基本操作分为四种:1. 读状态:输入RS=0,RW=1,E=高脉冲。输出:D0—D7为状态字。2. 读数据:输入RS=1,RW=1,E=高脉冲。输出:D0—D7为数据。3. 写命令:输入RS=0,RW=0,E=高脉冲。输出:无。4. 写数据:输入RS=1,RW=0,E=高脉冲。输出:无。进行如下的宏定义#define LCD_DB(data) (GPIOC->ODR = ((GPIOC->ODR)&(0xFF00))|(data)) //完成写数据#define LCD_RS_H (GPIOB->BSRR = 0x0004)#define LCD_RS_L (GPIOB->BSRR = 0x0004<<16)#define LCD_RW_H (GPIOB->BSRR = 0x0400)#define LCD_RW_L (GPIOB->BSRR = 0x0400<<16)#define LCD_E_H (GPIOB->BSRR = 0x8000)#define LCD_E_L (GPIOB->BSRR = 0x8000<<16)通过以上的宏,可以控制LCD控制口状态,写入命令和数据,具体就不详述了,详情可以参考附件中的程序(LCD1602.c)。3、主程序主程序比较简单,具体如下:三、运行效果展示最后制作整体的效果如下,能够使用,就是前端的超声波的指向有时不准,而且测量时周边最好不要有其他障碍物。(mbbeetchina)

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !