【RA】基于瑞萨R7FA2E1A72DFL的万年历 - 嘉立创EDA开源硬件平台

编辑器版本 ×
标准版 Standard

1、简单易用,可快速上手

2、流畅支持300个器件或1000个焊盘以下的设计规模

3、支持简单的电路仿真

4、面向学生、老师、创客

专业版 professional

1、全新的交互和界面

2、流畅支持超过3w器件或10w焊盘的设计规模,支持面板和外壳设计

3、更严谨的设计约束,更规范的流程

4、面向企业、更专业的用户

标准版 【RA】基于瑞萨R7FA2E1A72DFL的万年历

  • 8.8k
  • 22
  • 75

简介:基于瑞萨R7FA2E1A72DFL的万年历,时钟使用单片机内部rtc,支持农历显示,温湿度检测,亮度检测,外挂蓝牙芯片进行授时,广播温湿度等操作。

开源协议: Public Domain

(未经作者授权,禁止转载)

创建时间: 2022-04-12 21:39:34
更新时间: 2024-01-31 14:27:28
描述
# 基于瑞萨R7FA2E1A72DFL的万年历 基于瑞萨R7FA2E1A72DFL的万年历,时钟使用单片机内部rtc,支持农历显示,温湿度检测,亮度检测,外挂蓝牙芯片进行授时,广播温湿度等操作。单片机驱动64个ws2812,点亮特定位置的led,展示时钟日期信息。 ## 灵感来源 https://hackaday.io/project/57535-dulles-clock https://hackaday.io/project/169194-8x8-rgb-ledmatrix-desktop-word-clock https://hackaday.io/project/163848-japanese-word-clock https://hackaday.io/project/3305-word-clock https://www\.youtube\.com/watch?v=fYtS\_n\_GhCY&t=856s ## 电脑通过蓝牙对其设定时间 ![VID_20220510_135753.gif](//image.lceda.cn/pullimage/DvMhonDLgvkajlZwBWQNDgoLqXzPe31StIXGzTSx.gif) ![VID_20220509_233541.gif](//image.lceda.cn/pullimage/zLEjQd7r3SfZ4BtwGsBMkHvwvDmVorNgdp6xARRp.gif) ## 外观 ![VID_20220510_152636.gif](//image.lceda.cn/pullimage/PzistB5l17oq1flRyPLC5zQgwbZtsTTGwpKI1wwd.gif) ![image.png](//image.lceda.cn/pullimage/PJtyI8BVfrEjXRU2irjdrxOgaDidxAcj1h2Da4Zk.png) # 缘起 ![image.png](//image.lceda.cn/pullimage/foV9gkwoRjFcViwIBCldZM1zOODsEdTAZ26RyJOD.png) 瑞萨x立创eda联合举办的活动,白嫖器件,白嫖pcb,白嫖3d打印 https://maker.lceda.cn/LCEDA_RAMCU 这个制作几乎没什么成本,全让立创报销了。 感谢立创以及瑞萨举办本次活动活动,特别感谢群内官方技术支持和活动运营人员。 ![image.png](//image.lceda.cn/pullimage/8diOfOHKJM8cNQr7tsRM32RRhhGjQjAfyWgQbfs8.png) 感谢群友互助。 # 元件 | 描述 | 型号 | | MCU | R7FA2E1A72DFL | | 温度传感器 | GXHT30(同SHT30) | | 蓝牙 | CH571k | | LED | WS2812B | # 主控:R7FA2E1A72DFL 48M Arm Cortex M23内核 16k ram,64k rom 1个32位定时器(GPT0),6个16位定时器(GPT4-9),2个低功耗定时器 1个专用spi,1个专用i2c 4个sci,可配置为uart、spi、i2c 12位adc RTC 触摸 真随机数生成器,硬件AES,ECC加速。 # 外观设计 三明治结构,底层控制电路和led,中层3d打印格栅,顶层薄pcb开窗,作为显示面板。 ## 顶层 ![image.png](//image.lceda.cn/pullimage/PqWIdF4xvz0Y7mpLo9fsCZNMZ0avuCtOG9SbuG8Z.png) pcb的底版是玻璃纤维增强树脂基复合材料,他其实是半透明的。然而,铜作为一种金属,却能很好的隔光。 黄色部分是开窗的,半透明,直接露出pcb基板。黑色部分是阻焊+铺铜,良好隔光。 在eda中按汉字的轮廓精准开窗,这样就能让字符清晰显示。 ## 中框 ![image.png](//image.lceda.cn/pullimage/QAuqwISCd426Tz1TcEizH8EZQvSUjf3k799seHM1.png) 中框是用立创eda专业版画的。真的。不要看里面的电路,可能是旧的,只看外壳设计。链接在此: [外壳工程链接](https://oshwhub.com/legend-tech/ra-ji-yu-rui-sa-r7fa2e1a72dfl-de-wan-nian-li-wai-ke) ws2812发光是向所有方向的,这样除了正上方的字会被照亮,周围一圈也会被隐隐照亮,所以加上这个中框,内部栅格阻止光的横向传播。 但是即使这样,在led亮度升高时,还是会有部分漏光,尤其是红光。 可以加大led间距,并且在文字周围添加过孔,阻碍光线传播,但是影响观感,表面就不丝滑了。 ## 底层 电路部分,预留安装孔。 ![image.png](//image.lceda.cn/pullimage/GvB8snA3TQ0XqYfMh7GdFeQxtDKuqlstSNUuoNhX.png) ## 装配 ![image.png](//image.lceda.cn/pullimage/KOcY7wJn8YBCAv7LyNto7iiG2RON3p25MNUnFEby.png) ![序列 01_1.gif](//image.lceda.cn/pullimage/4QNnVfrnrFHwNPmQFNRoHMRkSXU8NC1Ei3TR9LNL.gif)
这侧装配设计是比较满意的。在顶层的背面预留焊盘,将铜柱焊接在焊盘上,中框预留铜柱的缺口,螺丝穿过底层拧在铜柱上。 ![image.png](//image.lceda.cn/pullimage/EmWZKBc8UmV5L0vlrid0mXBZpLmpr07nSgBM3lCZ.png) 这样在正面和侧面就看不到固定的装置,只有背面有四个螺丝。 # 立创eda:顶层的字是如何写上去的 总的来说,Illustrator进行排版,导出dxf轮廓,导入eda中,通过轮廓建立开窗区域。 但是,实际情况有点复杂。 立创eda目前不能正确识别嵌套的轮廓,例如导入一个环,eda会认为这是大圆套小圆,而不是一个环。 幸运的是,有些字体(包括但不限于`楷体_GB2312`),是以笔画位单位的,每一笔都是简单封闭图形。用这个导入创建轮廓没事。 具体可参考附件的ai工程。 ![image.png](//image.lceda.cn/pullimage/5e42VszzkxYehgnc03YiAGxBPEyFR014egtllcdG.png) 对于图标,我的做法是把图标拆开成多个简单封闭图像,然后导入。把几个图形按相对位置拼在一起。例如蓝牙图标就是拆成两部分后导入的,这样两部分的每一笔都是一个封闭图形。 ![image.png](//image.lceda.cn/pullimage/CnoWrbR3Y4cmfehrlk6dhd9QHjGpYRTgXGFirFy6.png) # 电路 从电源触发,先进自恢复保险F1,然后5v直通所有ws2812。另有一路通过ldo降压成3.3v给其他设备供电。电路集成蜂鸣器,光敏电阻(adc测量),温湿度传感器(i2c通讯),蓝牙芯片(串口通讯),以及两组WS2812通过spi模拟操作他的信号进行控制。 # 开发环境 RA系列专用版e2 studio,内部集成fsp。[下载链接](https://github.com/renesas/fsp/releases) ![image.png](//image.lceda.cn/pullimage/ITiM65r9jGfKt5WjJknfDyePLzgDQVpUuTWMuAtZ.png) # 软件代码 [github](https://github.com/liux-pro/super-clock)为主,[gitee](https://gitee.com/legend-tech/super-clock)更新可能不及时。目前仍在开发中,部分功能不可用。 | 功能 | 状态 | | rtc初始化授时 | 可用 | | 时间日期农历显示 | 可用 | | 温湿度读取 | 可用 | | 亮度adc读取 | 可用 | | windows电脑通过蓝牙授时软件 | 可用 | | 安卓通过蓝牙授时app | 待开发 | | 温湿度蓝牙读取广播 | 待开发 | | 基于环境光的亮度控制 | 待开发 | | 闹钟 | 待开发 | | 动画 | 待开发 | ``` ├─adc adc读取光敏电阻 ├─ble 蓝牙通讯 ├─buzzer pwm驱动无源蜂鸣器 ├─color hsv色域转换 ├─debug 调试串口 ├─fcal 农历转换 ├─GXHT30 温湿度传感器驱动 ├─rtc 实时时钟 日期计算 ├─timer 屏幕刷新信号 └─ws2812 led驱动 main.cpp 主要逻辑 utils.h 工具类 ``` ## 第三方软件包 https://github.com/FlyingFishBird/fcal(适应单片机的fork https://github.com/liux-pro/fcal) https://github.com/NordicSemiconductor/Android-BLE-Library https://github.com/DerekGn/WinRtBle # 技术参考 软件设计的参考资料基本有四种来源 1. ide会自带fsp说明文档,内含所有函数的说明文档和示例代码。 2. 官方有大量例程,[官网下载链接](https://www2.renesas.cn/cn/zh/software-tool/flexible-software-package-fsp#document)。 3. 官方的 ra生态工作室。 4. 官方论坛搜索。 RA系列面世时间不长,生态还在建设中。国外资源相对国内丰富一下,论坛也相对活跃,有问题可以尝试用英文搜索一下试试,有奇效。 ## 调试输出函数设计 可能是我比较菜鸟,官方的printf重定向我跑不通。 参口https://www.ibm.com/docs/en/zos/2.1.0?topic=functions-vsprintf-format-print-data-buffer 最printf进行包装。 详见debug文件夹 ## spi驱动ws2812 通过spi发送特定数据包,模拟ws2812所需时序,相关代码在ws2812下。 https://www.elecfans.com/d/comp-4843843-136335947323087548416.html http://bbs.mydigit.cn/read.php?tid=2622343 ## 瑞萨spi驱动ws2812的坑 这是一个天坑 瑞萨的 sci spi channel 2 9 在mosi上发送信号时候. 每次发送前会先把mosi拉高几微秒,然后正常发送信号。 在正常spi通信时候,因为有clk信号,这没有问题。 但是如果控制ws2812,这几个微秒会破环信号,导致第一个比特翻转, 导致灯带第一个led收到的信号的最高位一直是1. 邪门的是sci channel 2 会这样,专用spi没有这个问题。 官方论坛上也有人指出这个问题,他说sci channel 9 也有这个问题 参考:https://renesasrulz\.com/embedded\-system\-platform/synergy/f/forum/19774/r\_sci\_spi\-simple\-spi\-the\-rising\-edge\-of\-the\-first\-pulse\-occurs\-much\-earlier\-than\-expected?ReplySortBy=CreatedDate&ReplySortOrder=Ascending 官方例程采用了sci0,所以“恰好”没遇到这个问题。 只能暂时发之前多发几个0xff,让这个脉冲信号远离真正的信号,希望瑞萨解解决个问题 官方如果想验证,可以直接用sci2驱动ws2812,看第一个灯,永远不能关闭。 ## 色域转换 ws2812基于rgb进行混色,然而rgb对于颜色的描述并不直观,而hsv色域对颜色描述对人类来说是十分直观的。 h代表红橙黄绿青蓝紫。s代表颜色的饱和度,v代表亮度。下面的参考链接提供一种快速的色域转换算法。 ![image.png](//image.lceda.cn/pullimage/7zqi6af3vv0LzXeXZaRPOcAohaMvip0o7caby0vb.png) 参考:https://www.vagrearg.org/content/hsvrgb ## 压电无源蜂鸣器 这种无源的蜂鸣器加个三极管,给上pwm是不能驱动的,需要并联一个电阻。感谢客户编 @19395A 的群友 参考:https://baijiahao.baidu.com/s?id=1678346404000645198&wfr=spider&for=pc ## 随机数生成的坑 瑞萨带有一个真随机数生成器,当前fsp(3.6)有bug,c++下该库编译不过。 瑞萨接受了我的修复代码,在新版fsp中这不是问题了 参考:https://github.com/renesas/fsp/pull/195 ## 时间设置 采用蓝牙广播一个时间戳来初始化rtc,目前实现了windows和Android下发送蓝牙广播调整rtc时间。基本原理是发送一个蓝牙广播,厂商信息里填充时间戳。ch571k接收到广播后通过串口发给瑞萨单片机,进而调整时间。 ## 蓝牙代码 基于主从一体的例程就行修改,接收特定厂商的广播,并提取有效数据通过串口发出去。收到数据把数据放到广播里。暂不支持连接,只支持通过广播通讯。 见附件ch571k.zip ## windows上位机 通过winrt调用电脑上的蓝牙,获取当前时间戳,组装特定的数据包发出去。蓝牙芯片会接受这个广播,发给瑞萨,进而完成授时。 SuperClockWindows.7z # 未曾设想的道路 1. 有屏幕的地方就有badapple。 2. 屏幕显示电脑cpu占用和温度等。
设计图
未生成预览图,请在编辑器重新保存一次
ID Name Designator Footprint Quantity
1 TSA365G00D-250 BOOT,RST SW-SMD_TSA365G00D-250 2
2 FST-9018 BUZZER1 BUZ-SMD_FST-9018 1
3 1uF C1,C2,C3 C0603 3
4 100nF C19,C20,C21,C24,C26,C29,C4,C5,C101,C102,C103,C104,C105,C106,C107,C109,C110,C111,C112,C113,C114,C115,C117,C118,C119,C120,C121,C122,C123,C125,C126,C127,C128,C129,C130,C131,C133,C134,C135,C136,C137,C138,C139,C141,C142,C143,C144,C145,C146,C147,C149,C150,C151,C152,C153,C154,C155,C157,C158,C159,C160,C161,C162,C163 C0603 64
5 10uf C23 C0603 1
6 4.7uF C25 C0603 1
7 27pF C27,C28 C0603 2
8 HDGC1002WR-S-4P CN1,CN2 CONN-SMD_4P-P1.00_HDGC_HDGC1002WR-S-4P 2
9 ANTENNA E1 2.4G_4.3*11.8 1
10 BSMD1206-200-16V F1 F1206 1
11 LED-0603_R LED65 LED0603_RED 1
12 SS8550 Q2 SOT-23-3_L2.9-W1.6-P1.90-LS2.8-BR 1
13 5.1kΩ R1,R12 R0603 2
14 1k R2,R4,R6,R13 R0603 4
15 10kΩ R3,R5,R7,R9 R0603 4
16 光敏电阻,亮5k-10k,暗0.5MΩ R8 RES-TH_L5.1-W4.3-P3.40-D0.5 1
17 4.7kΩ R10,R11 R0603 2
18 R7FA2E1A72DFL#AA0 U1 LQFP-48_L7.0-W7.0-P0.50-LS9.0-BL 1
19 TPRT9013-33GB U2 SOT-23-5_L3.0-W1.7-P0.95-LS2.8-BL 1
20 GXHT30 U3 DFN8_L2.5-W2.5-P0.5-BL-EP 1
21 CH571K U4 SSOP-10_L5.0-W3.9-P1.00-LS6.0-BL-EP 1
22 TYPE-C16PIN USB1 USB-TYPE-C-SMD_TYPE-C-SMT-16P 1
23 32.768kHz X1 FC-135R_L3.2-W1.5 1
24 32MHz X2 CRYSTAL-SMD_4P-L3.2-W2.5-BL 1
25 WS2812B-B LED1,LED2,LED3,LED4,LED5,LED6,LED7,LED8,LED9,LED10,LED11,LED12,LED13,LED14,LED15,LED16,LED17,LED18,LED19,LED20,LED21,LED22,LED23,LED24,LED25,LED26,LED27,LED28,LED29,LED30,LED31,LED32,LED33,LED34,LED35,LED36,LED37,LED38,LED39,LED40,LED41,LED42,LED43,LED44,LED45,LED46,LED47,LED48,LED49,LED50,LED51,LED52,LED53,LED54,LED55,LED56,LED57,LED58,LED59,LED60,LED61,LED62,LED63,LED64,LED66,LED67 WS2812B-5050RGB 66

展开

工程成员
侵权投诉
相关工程
换一批
加载中...
添加到专辑 ×

加载中...

温馨提示 ×

是否需要添加此工程到专辑?

温馨提示
动态内容涉嫌违规
内容:
  • 153 6159 2675

服务时间

周一至周五 9:00~18:00
  • 技术支持

support
  • 开源平台公众号

MP