打印
[活动]

【APM32F411V Tiny Board测评】2、使用ADC采集HC-SR312数据

[复制链接]
605|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 xu@xupt 于 2024-6-6 00:35 编辑

【APM32F411V Tiny Board测评】2、使用ADC采集HC-SR312数据
简介
HC-SR312是一个用于检测人体运动的被动红外(PIR)传感器模块。其小巧的设计使其适合应用于多种场景,如安防系统、自动照明系统等。
主要特点
1. 体积小巧:模块尺寸仅为10x8mm,便于集成到各种小型设备中。
2. 低功耗:工作电流约为20µA,非常适合电池供电设备。
3. 高灵敏度:内置高性能的热释电传感器,检测距离可达3米。
4. 宽电压范围:工作电压范围为2.7V到12V,兼容性强。
5. 输出稳定:提供数字输出信号,检测到人体运动时输出高电平。
技术参数
- 工作电压:2.7V - 12V
- 工作电流:20µA(静态),15mA(动态)
- 检测距离:最大3米
- 输出形式:高电平输出(检测到运动),低电平输出(无运动)
- 延迟时间:约2秒(固定不可调)
应用场景
1. 安防系统:监测人体运动,触发报警。
2. 自动照明:检测到人进入房间时自动开启灯光。
3. 智能家居:与其他智能设备联动,提升生活便利性。
引脚定义
VCC:电源正极 VDD
OUT:输出信号 PA0
GND:电源负极 GND

程序介绍
程序详细分析:
该程序通过ADC(模数转换器)进行连续转换,采集模拟信号并通过USART串口输出结果。以下是详细分析:
文件和库包含
程序包含多个库文件,如 `main.h`, `Board.h`, `apm32f4xx_gpio.h`, `apm32f4xx_adc.h`, `apm32f4xx_misc.h`, `apm32f4xx_usart.h`,用于GPIO、ADC、USART等外设的配置和操作。
宏定义
根据芯片型号定义不同的LED和串口初始化函数。若使用APM32F411芯片,使用 `APM_TINY_LEDInit` 和 `APM_TINY_COMInit`;否则使用 `APM_MINI_LEDInit` 和 `APM_MINI_COMInit`。
延迟函数
`Delay(uint32_t count)`:通过简单的循环实现延迟。
ADC初始化函数
`ADC_Init(void)`:配置ADC1,启用GPIOA时钟,配置通道0为模拟输入模式,启用ADC时钟,设置ADC参数(分辨率、连续转换模式、数据对齐等),并启动ADC转换。
主函数
`main(void)`:初始化LED2和LED3,配置USART参数(波特率、模式、校验、停止位、字长、硬件流控),初始化串口COM1,调用ADC初始化函数并进入无限循环,每隔一定时间调用延迟函数。
ADC中断服务函数
`ADC_Isr(void)`:处理ADC转换完成中断,读取ADC数据并转换为电压值,通过USART输出电压值。
重定向printf函数
将C库的`printf`函数重定向到USART串口,支持多种编译器(如CC_ARM、ICCARM、GCC),实现字符输出到串口。
### 程序功能
该程序主要实现了通过ADC采集模拟信号并通过USART串口输出数据,具有初始化配置、数据采集和中断处理等功能,适用于嵌入式系统中对模拟信号的实时监测和输出。
效果



使用特权

评论回复
沙发
weifeng90| | 2024-6-6 23:05 | 只看该作者
有数字信号为什么不接呢?数字信号更方便。

使用特权

评论回复
板凳
gouguoccc| | 2024-6-10 22:58 | 只看该作者
这个超声波模块不是有串口型的吗?

使用特权

评论回复
地板
星辰大海不退缩| | 2024-6-22 21:36 | 只看该作者
weifeng90 发表于 2024-6-6 23:05
有数字信号为什么不接呢?数字信号更方便。

数字信号的地有的跟GND是同一个地

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

101

主题

669

帖子

2

粉丝