jinglixixi 发表于 2017-5-16 11:18:55

【NUCLEO-L496ZG评测】基于STM32L496的超声波测距仪

本帖最后由 jinglixixi 于 2017-5-16 11:20 编辑

    超声波测距模块是一种通过回波的用时来推算距离的器件,要使用它来测距其实很简单,只需为它选取一个合适的MCU并配置一个显示器即可。      由于STM32L496在内部已集成了计时器,因此用好它就是了。至于显示器的选择,可选取LCD5110来充当,因为它能用STM32L496开发板所配备的Arduino来简化连线。它与STM32L496的连线关系如下:   LCD_CLK---PD15   LCD_DIN---PD14   LCD_DC   ---PA7   LCD_CS   ---PA5   LCD_RST---PA6
   超声波检测模块与STM32L496的连线情况如下:Trig   ---PF9Echo   ---PF7
      连线后的检测效果如下图所示。
   对应的距离检测值输出是放在定时器捕捉处理中断函数中,其内容如下:void HAL_TIM_IC_CaptureCallback (TIM_HandleTypeDef *htim)
{
      int n,m;
      if (htim->Channel == HAL_TIM_ACTIVE_CHANNEL_2)
    {
                echoBack=1;
                Length=HAL_TIM_ReadCapturedValue(htim, TIM_CHANNEL_1);
                n=Length*0.17;
                LCD_prints(0,0,"Length=");
                LCD_printc(0, 1,n/1000+0x30);
                LCD_printc(1, 1,n%1000/100+0x30);
                LCD_printc(2, 1,n%100/10+0x30);
                LCD_printc(3, 1,n%10+0x30);
                LCD_printc(4, 1,'.');
                LCD_printc(5, 1,m%10+0x30);
                LCD_prints(6,1,"mm");
      }

         未来的改进方向是实现超声波测距模块的多通道检测处理,以便用于组合仪表方面。
   程序代码:

哈佛祖安智 发表于 2017-5-16 13:39:17

感谢分享:$:$:$:$

斜阳__ 发表于 2017-5-16 13:45:01

数字转换成字符使用sprintf方便一些

Paderboy 发表于 2017-5-16 14:28:55

:loveliness::loveliness:支持。。。下

jinglixixi 发表于 2017-5-16 14:50:50

斜阳__ 发表于 2017-5-16 13:45
数字转换成字符使用sprintf方便一些

回头试一试。

MrJiu 发表于 2017-5-17 09:24:00

楼上的,支持,要给分对吧!!!!:lol:lol:lol

jinglixixi 发表于 2017-5-17 16:41:53

MrJiu 发表于 2017-5-17 09:24
楼上的,支持,要给分对吧!!!!

多谢了!!!

NorthernLights 发表于 2019-6-14 14:01:10

支持楼主

yyxiaozhuyy 发表于 2019-7-6 17:58:08

感谢
:D
页: [1]
查看完整版本: 【NUCLEO-L496ZG评测】基于STM32L496的超声波测距仪