站内搜索
发作品签到
标准版

【RA】瑞萨MCU开发

工程标签

2.7k
0
0
0

简介

使用瑞萨R7FA2E1A72DFL芯片,驱动 RGB灯带(WS2812B)、12864OLED模块、光线传感模块、DHT11温湿度模块、HC-SR04超声波测距模块,开发一款多功能智能感应氛围灯

简介:使用瑞萨R7FA2E1A72DFL芯片,驱动 RGB灯带(WS2812B)、12864OLED模块、光线传感模块、DHT11温湿度模块、HC-SR04超声波测距模块,开发一款多功能智能感应氛围灯

开源协议

Public Domain

创建时间:2022-04-11 20:07:05更新时间:2022-05-04 17:27:07

描述

前情提要❤

 

  • 本人是训练营老学员,算上这次的RA MCU开发,一共3届了,每次都能让自己进步一点点。从一开始学习分析电路原理,到绘制PCB,再到后来的代码编写、测试与烧录验证,一步一个脚印。个人一直对从硬件到软件的电子设计全流程开发很感兴趣,在此感谢立创和RA共同举办的本届训练营活动,让我懂得了能让你熬夜的不只有追剧和游戏,还有设计电路和代码调试 ( ̄▽ ̄)~*
  • 闲话少说,这次使用RA系列的芯片,我打算做一款精巧简约、模块化的智能感应灯。虽然它支持触摸按键,但是我认为触摸按键太过占用空间,所以选用了小体积的常规按键。通过搭配RGB灯带(WS2812B)、12864OLED模块、光线传感模块、DHT11温湿度模块、HC-SR04超声波测距模块,实现了RGB灯带的模式切换、测距、测温湿度、测光照强度,并使用OLED屏幕实时显示这些信息。

 

正文~~

 

概述

 

  • MCU:选用 R7FA2E1A72DFL芯片,提供 SW & TTL 两种烧录方式;
  • 供电:Micro-USB接口(5PIN),仅使用 5V供电引脚 & GND引脚;LDO降压至3.3V,给光线传感模块和OLED屏幕供电;
  • 按键:BOOT 烧录按键;RESET 重置按键;LIGHT_ONOFF 灯带开关按键;LIGHT_MODE 灯带模式切换按键;
  • 模块RGB灯带(WS2812B)、12864OLED模块、光线传感模块、DHT11温湿度模块、HC-SR04超声波测距模块;
  • 外壳:定制亚克力板(其实是上次训练营没用完的,不能浪费嘛,要节约~(<ゝω・)☆),使用M3铜柱螺丝固定,保护电路。
  • 代码:代码已公开,在附件的压缩包里,如果觉得贴心请点赞、收藏~

 

功能介绍

 

已开发

 

  1. LIGHT_ONOFF键 控制 灯带开关;LIGHT_MODE键 切换 灯带模式(4种:“高亮白光”、“高亮红光”、“高亮绿光”、“高亮蓝光”)。
  2. 使用 DHT11 测量温湿度;使用 光敏电阻 测量光照强度;使用HC-SR04测量距离。
  3. OLED屏显示:灯带 开关状态 & 当前模式;当前 温度-℃ & 湿度-%;距离-cm;光照强度(量化电平值,越低表示光照强度越大)。

 

待开发

 

  1. 记录关灯前的灯带模式,下次开灯后不必再将灯带模式重置为“高亮白光”;通过长按 LIGHT_ONOFF键,调节灯带亮度。
  2. 计算光照强度,显示实际值。
  3. 完善灯带开关机制:(可选)光照强度高/低,自动关/开灯;(可选)距离远/近,自动关/开灯;(注意与按键开关进行合理搭配!)。
  4. 绘制3D打印外壳。

 

成品拍摄图

 

(提示:有一颗灯珠坏掉了,不听使唤,不过不影响展示~)

   

 

 

RGB灯带(WS2812B)

 

  • 引脚:P213 - 模式 TXD;P014 - 模式 Input;P015 - 模式 Input;配置 - SPI(r_sci_spi)。
  • 描述:灯带含30颗灯珠,3引脚(5V、DATA、GND);使用SPI,设置波特率为6000000,输出码元信号,控制灯带状态;按键配置GPIO输入,检测输入电平值。

 

WS2812B驱动IC

 

使用说明

  • 根据芯片参数,设置 SPI波特率=6000000,因此1位持续时间=1÷6000000≈155ns;
  • 使用 8位二进制 表达 单极性归零码;
  • 0码:0b 1100 0000(二进制);0x c0(十六进制);
  • 1码:0b 1111 0000(二进制);0x f0(十六进制)。

数据传输方式

 

12864OLED模块

 

  • 引脚:P400 - 模式 SCL0;P401 - 模式 SDA0;配置 - IIC Master(r_iic_master)。
  • 描述:参考官方教程,移植STM32中的12864OLED,并添加特殊字符至oledfont.h。

 

12864OLED

 

  • 4PIN 0.96寸 12864OLED屏(GND、VCC、SCL、SDA),使用3.3V供电。

 

 

光线传感模块

 

  • 引脚:P000 - 模式 AN000;配置 - ADC(r_adc)。
  • 描述:使用光敏电阻(已集成至PCB中),3.3V供电,通过读取光敏电阻的量化电平值,判断光照强度(电平值越高,光照强度越低)。

 

GL4516光敏电阻

 

 

DHT11温湿度模块

 

  • 引脚:P208 - 模式 Input;配置 - 无。
  • 描述:使用DHT11模块,编写驱动,以5V供电,读取温湿度值。

 

DHT11

 

  • 3PIN(Signal、5V、GND);
  • 采用单总线数据格式,单个数据引脚端口完成输入输出双向传输;数据分小数部分和整数部分,一次完整的数据传输为40bit,高位先出;
  • 数据格式:8bit湿度整数数据 + 8bit湿度小数数据 + 8bit温度整数数据 + 8bit温度小数数据 + 8bit校验和;
  • 发送时序:主机发送开始信号,变为输出模式低电平,保持至少18ms时间,再高电平20~40us时间,然后变为输入模式,读取DHT11的响应;DHT11接收到主机发送的开始信号,会输出低电平,保持80us时间,作为响应信号,然后输出高电平,保持80us时间后,开始输出数据,待40bit数据传输结束后,上拉电阻拉高总线。

 

HC-SR04超声波测距模块

 

  • 引脚:P101 - 模式 IRQ01;P102 - 模式 Output;配置 - IRQ(r_icu) - Timer(r_gpt)
  • 描述:使用HC-SR04模块,编写驱动,以5V供电,读取距离(单位cm);设置外部中断,使用定时器记录HC-SR04传入的高电平持续时间,进而计算出距离。
  • 说明:电路设计时,TRIG引脚和ECHO引脚设置失当,在实际使用时,需要进行调换(设备的TRIG接HC-SR04的ECHO)

 

HC-SR04

 

  • 4PIN(VCC、TRIG、ECHO、GND);
  • IO触发测距,需至少10us的高电平信号;自动发送8个40KHz方波,检测是否有信号返回;若有信号返回,通过IO输出高电平,高电平持续时间 = 超声波从发送到返回的时间;
  • 距离(单位cm)= 高电平时间 × 声速(34000cm/s) ÷ 2

 

总结

 

  • 查阅了好多资料,自己还第一次写了驱动,虽说芯片的生态不够丰富,但这也同样锻炼了自己,让自己深入了解芯片的底层逻辑。
  • 最后,再次感谢立创和瑞萨RA联合举办的训练营活动,希望以后还能继续举办,一定捧场!

 

 

设计图

未生成预览图,请在编辑器重新保存一次

BOM

暂无BOM

3D模型

序号文件名称下载次数
暂无数据

附件

序号文件名称下载次数
1
display.mp4
491
2
5.4-RA_Smart_lamp.rar
51
克隆工程
添加到专辑
0
0
分享
侵权投诉
知识产权声明&复刻说明

本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。

请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。

评论

全部评论(1
按时间排序|按热度排序
粉丝0|获赞0
相关工程
暂无相关工程

底部导航