完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
步骤一 准备材料
1,stm32开发板 2,us-100超声波测距模块 3,oled屏幕(用于显示) 4,杜邦线若干(连接用) /电脑啥的就不说了/ 步骤二 硬件连接 一,看图(原理图)连线 注意:我在这使用的是串口测距模式,所以此跳线帽必须插上 注意:TX与单片机串口TX连,RX与串口RX连 测距模块连好之后我们再来连OLED(只是为了显示用,也可以用串口发送到上位机在电脑上看) 这是端口定义,采用SPI,为了方便用了PD2-6六个连续的引脚,把屏幕对应连接就好了 注意:此工程用的是cube配置生成的代码,开发板使用的是正点原子F4的开发板,(如果相同可以直接把程序拿过去用)关于cube配置和代码讲解在第三四部分 现在我们假装已经连好了,效果如下(有点乱哈哈) 步骤三 cube配置部分(不用cube用库函数也一样) 1-配置串口 在这里用的是串口2(串口1我自己调试的时候用的,不用管) 1-mode选择Asynchronous(异步模式) 2-parameter Settings,只需要把波特率改成9600就行,其余默认。 (改成9600的原因是需要以9600波特率向测距模块发送0x55,其才会工作) 2配置GPIO(给oled用) 配置结果如下(根据自己情况配置和连线) 配置完这两个就可以生成代码了,(注意路径不要包含中文字符),然后开始快乐的程序环节。 步骤四 程序讲解部分 oled部分和cube自己生成的就不讲了,主要说一下关于测距模块的部分。 定义部分 都有注释,就不说了。 主函数部分 110行处为开启接收中断,在接收到数据时,会进入接收中断,第一个参数是串口号,第二个参数是存放数的地址,第三个参数是接收数据的个数。注意此函数要在中断回调函数中调用,否则只会执行一次,就是只能接受到两个数据后面就不再进入中断了。 回调函数部分 上面用到的几个关于串口的函数都可以在hal库里面uart.h里面找到。关于发送和开启接收中断直接用就行,回调函数需要自己写。(不理解回调函数的可以去百度一下,简单看来就是进入中断这个函数会被执行) 步骤五 原理及整体思路讲解 原理部分(应该放在最开始?懒得改了哈哈) 在串口模式下只需要在 Trig/TX 管脚输入 0X55 (波特率 9600), 系统便可发出 8 个 40KHZ 的超声波脉冲,然后检测回波信号。 当检测到回波信号后,模块还要进行温度值的测量,然后根据当前温度对测距结果进行校正,将校正后的结果通过 Echo/RX管脚输出。 输出的距离值共两个字节,第一个字节是距离的高 8 位 (HDate),第二个字节为距离的低 8 位(LData),单位为毫 米。即距离值为 (HData*256 +LData)mm。 程序思路 在while(1)里面一直发送0x55给测距模块,模块就会返回两个八位的数据,分别是距离的高八位和低八位,单位mm,每次接收到返回的数据时都会进入中断把返回的数据保存下来,然后在while(1)里面对数据进行处理和显示。(思路很简单,我却弄了好长时间,好想哭) 步骤六 成果验收 emm一个人不太方便拍,几十厘米(多的没验证,据说可以测四米)内还是挺准的,误差大概几mm吧。 工程链接https://download.csdn.net/download/qq_45010210/12232502 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1916 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1680 浏览 1 评论
1172 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
771 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1732 浏览 2 评论
1973浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
808浏览 4评论
stm32f4下spi+dma读取数据不对是什么原因导致的?
257浏览 3评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
625浏览 3评论
634浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-24 21:10 , Processed in 0.833520 second(s), Total 76, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号