小学生
最后登录1970-1-1
在线时间 小时
注册时间2023-10-17
|
引言:很高兴能够加入“野火”这个大家庭中,且能有机会参加第二期的【瑞萨RA MCU创意氛围赛】,在此之前,我竟都没能了解瑞萨这个产品,是野火这个大家庭给予了我这个机会,让我又一次在新的领域不断探索前进,从申请到板子至今,近几个月的时间,在好奇心的不断驱使下,我对瑞萨RA系列这块认知领域上不断学习研究,终完成自己的第一个小项目 ---- “智能风扇”,展示给大家参考学习,若有含糊错误的地方,欢迎大家批评指正,具体如下:
一、产品功能介绍
本产品启动方式为“电容按键”一键启动,通过触发电容按键初始化PWM,从而驱动风扇(这里用电机模拟),通过按键调节风扇挡位,当风扇速度超过一定数值时会触发警报装置,用来提醒用户当前速度过快应适当减速。
二、硬件清单
1. 本次产品使用的是野火启明RA6M5开发板,主控芯片为R7FA6M5BH3CFC
2. 电机驱动模块,选用TB6612稳压版
3. 编码器电机
4. 电源,选用航模电池
三、软件设计
使用Keil对野火启明RA6M5这个开发板进行开发设计,本文采用FSP开发,简要步骤如下:
①在Keil上配置RASC工具,方便配置芯片和生成FSP库代码;
②打开官方提供的例程模板,在Keil中进入好的RASC工具配置芯片初始化,生成FSP代码;
③对生成后的初始化代码进行设计处理,开发自己所想产品;
④将编译生成的hex文件通过Renesas Flash Programmer烧入开发板中。
(1) PWM定时器设计,设计GPT 配置引脚,将指定通道的输出信号连接到相应引脚,再初始化GPT模块 。
(2) 电机驱动部分,在RASC里面配置引脚输出用作为电机驱动。
(3) 外部中断。配置两个按键用于调节风扇速度
void button1_callback(external_irq_callback_args_t *p_args) //当产生中断时会访问中断服务函数
{
(void) p_args;
R_IOPORT_PinWrite(&g_ioport_ctrl, LED_Red, button1_status); //点亮LED
LED_Red_ON;
button1_status=~ button1_status;
target+=10;
}
void button2_callback(external_irq_callback_args_t *p_args)
{
(void) p_args;
R_IOPORT_PinWrite(&g_ioport_ctrl, LED_Bule, button2_status); //点亮LED
LED_Red_OFF;
button2_status=~ button2_status;
target-=10;
}
(4) 蜂鸣器警报
if(target>=80)
{
BEEP_TOGGLE;
R_BSP_SoftwareDelay(100, BSP_DELAY_UNITS_MILLISECONDS);
}
else
BEEP_OFF;
四、项目演示及其源码
演示视频.zip
(8.17 MB, 下载次数: 12)
瑞萨RA6M5_FSP_智能风扇.zip
(3.91 MB, 下载次数: 21)
|
|