你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

游名:STM32F030+FT1610FF1高精度超声波测距模块测距教程及参...  

[复制链接]
mmuuss586 发布时间:2020-3-6 15:47
基于STM32F030+FT1610FF1高精度超声波测距模块测距教程及参考程序等开源分享
资料下载见附件,电脑登入
微信公众号:游名开源
硬件说明:
    2脚、3脚:需要接4.7到10K上拉电阻到3.3V或5V电源   
特性:  
极简的设计;
极轻的重量;
极高的测量灵敏度;
极低的消耗电流;
接口ESD保护;
偏捷的安装及使用方式;
有效测量距离3cm-1.5m(其它距离范围可定制);

支持3到5V宽电压,默认采用IO通信方式(默认IO通讯),接口兼容IIC、UART通信、485通信;


微信图片_20200306155141.jpg

FT1610FF1超声波测距模块产品规格书V2.0.pdf

下载

1.09 MB, 下载次数: 28

基于STM32F030+FT1610FF1高精度超声波测距模块测距教程.pdf

下载

416.85 KB, 下载次数: 33

游名科技产品目录(2020-7-21).pdf

下载

1.05 MB, 下载次数: 0

收藏 4 评论82 发布时间:2020-3-6 15:47

举报

82个回答
mmuuss586 回答时间:2020-3-6 15:57:03
1.png
2.png
3.png
4.png
5.png

mmuuss586 回答时间:2020-3-6 15:59:37

基于STM32F030+FT1610FF1高精度超声波测距模块测距教程

      学习板卡需求:官方NUCLEO-F030R8或自制NUCLEO-DG板卡和FT1610FF1超声波,杜邦线4根;板卡连接如图:
1.png

mmuuss586 回答时间:2020-3-6 15:59:59
配置和连接方式
                NUC_LEO-DG-------------- FT1610FF1
                        PB3------------------------------T/SDA/TX
                        PB5------------------------------E/SCL/RX
                        5V/3V----------------------------VCC
                        GND-----------------------------GND
mmuuss586 回答时间:2020-3-6 16:00:42
USART2串口通信引脚PA2、PA3和LED2的指示灯引脚PA5,基本的Cube配置不做介绍,主要为我们需要通过PB5读取IO的高电平持续时间,这里用到的是定时器的输入捕获功能,具体的Cube配置如下图所示:
1.png


mmuuss586 回答时间:2020-3-6 16:02:14

然后再NVICSetings中选上TIM3 global interrupt,入下图:
1.png


mmuuss586 回答时间:2020-3-6 16:02:41
然后把串口和LED输出配置好后生成MDK代码,编译无错误后添加需要的相关代码,主要缺少的代码为TIM3输入捕获的中断服务函数和串口通信的重定向函数,这里需要添加两个对应的全局变量,代码如下:
全局变量:
uint8_t  TIM3CH2_CAPTURE_STA=0;                               
uint32_t        TIM3CH2_CAPTURE_VAL;
mmuuss586 回答时间:2020-3-6 16:03:07
中断服务函数:
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{

    if((TIM3CH2_CAPTURE_STA&0X80)==0)
    {
            if(TIM3CH2_CAPTURE_STA&0X40)
            {
                if((TIM3CH2_CAPTURE_STA&0X3F)==0X3F)
                {
                    TIM3CH2_CAPTURE_STA|=0X80;     
                    TIM3CH2_CAPTURE_VAL=0XFFFF;
                }
                else TIM3CH2_CAPTURE_STA++;
            }   
    }      
}
mmuuss586 回答时间:2020-3-6 16:03:25
//定时器输入捕获中断处理回调函数,该函数在HAL_TIM_IRQHandler中会被调用
void HAL_TIM_IC_CaptureCallback(TIM_HandleTypeDef *htim)
{
    if((TIM3CH2_CAPTURE_STA&0X80)==0)
    {
        if(TIM3CH2_CAPTURE_STA&0X40)           
            {               
                TIM3CH2_CAPTURE_STA|=0X80;     
                TIM3CH2_CAPTURE_VAL=HAL_TIM_ReadCapturedValue(&htim3,TIM_CHANNEL_2);
                long long temp=0;
                                                                float distance=0.0;
                temp=TIM3CH2_CAPTURE_STA&0X3F;
                temp*=0XFFFF;              
                temp+=TIM3CH2_CAPTURE_VAL;   
                temp=(temp*100)/58;
                                                                distance=(float)temp/100;
                printf("Goal distence:%.2lf cm\r\n",distance);
                __HAL_TIM_DISABLE(&htim3);      
            }
        else                              
            {
                TIM3CH2_CAPTURE_STA=0;         
                TIM3CH2_CAPTURE_VAL=0;
                TIM3CH2_CAPTURE_STA|=0X40;   
                __HAL_TIM_DISABLE(&htim3);      
                __HAL_TIM_SET_COUNTER(&htim3,0);
                TIM_RESET_CAPTUREPOLARITY(&htim3,TIM_CHANNEL_2);  
                TIM_SET_CAPTUREPOLARITY(&htim3,TIM_CHANNEL_2, TIM_ICPOLARITY_FALLING);         
                                                }      
                        }
}
mmuuss586 回答时间:2020-3-6 16:03:42
串口重定向函数为(需要包含对应的stdio.h头文件)
int fputc(int ch,FILE *f)
{
        while(0==(USART2->ISR&0x40));
        USART2->TDR=ch;
        return ch;
       
}

所属标签

STM32团队

意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器


最新内容

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版