1、简单易用,可快速上手
2、流畅支持300个器件或1000个焊盘以下的设计规模
3、支持简单的电路仿真
4、面向学生、老师、创客
1、全新的交互和界面
2、流畅支持超3w器件或10w焊盘的设计规模
3、更严谨的设计约束,更规范的流程
4、面向企业、更专业的用户
标准版 【RA】基于瑞萨R7FA2E1A72DFL的万年历
简介:基于瑞萨R7FA2E1A72DFL的万年历,时钟使用单片机内部rtc,支持农历显示,温湿度检测,亮度检测,外挂蓝牙芯片进行授时,广播温湿度等操作。
开源协议: MIT
基于瑞萨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
瑞萨x立创eda联合举办的活动,白嫖器件,白嫖pcb,白嫖3d打印
https://maker.lceda.cn/LCEDA_RAMCU
这个制作几乎没什么成本,全让立创报销了。
感谢立创以及瑞萨举办本次活动活动,特别感谢群内官方技术支持和活动运营人员。
感谢群友互助。
描述 | 型号 |
---|---|
MCU | R7FA2E1A72DFL |
温度传感器 | GXHT30(同SHT30) |
蓝牙 | CH571k |
LED | WS2812B |
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开窗,作为显示面板。
pcb的底版是玻璃纤维增强树脂基复合材料,他其实是半透明的。然而,铜作为一种金属,却能很好的隔光。
黄色部分是开窗的,半透明,直接露出pcb基板。黑色部分是阻焊+铺铜,良好隔光。
在eda中按汉字的轮廓精准开窗,这样就能让字符清晰显示。
中框是用立创eda专业版画的。真的。不要看里面的电路,可能是旧的,只看外壳设计。链接在此: 外壳工程链接
ws2812发光是向所有方向的,这样除了正上方的字会被照亮,周围一圈也会被隐隐照亮,所以加上这个中框,内部栅格阻止光的横向传播。
但是即使这样,在led亮度升高时,还是会有部分漏光,尤其是红光。
可以加大led间距,并且在文字周围添加过孔,阻碍光线传播,但是影响观感,表面就不丝滑了。
电路部分,预留安装孔。
这侧装配设计是比较满意的。在顶层的背面预留焊盘,将铜柱焊接在焊盘上,中框预留铜柱的缺口,螺丝穿过底层拧在铜柱上。
这样在正面和侧面就看不到固定的装置,只有背面有四个螺丝。
总的来说,Illustrator进行排版,导出dxf轮廓,导入eda中,通过轮廓建立开窗区域。
但是,实际情况有点复杂。
立创eda目前不能正确识别嵌套的轮廓,例如导入一个环,eda会认为这是大圆套小圆,而不是一个环。
幸运的是,有些字体(包括但不限于楷体_GB2312
),是以笔画位单位的,每一笔都是简单封闭图形。用这个导入创建轮廓没事。
具体可参考附件的ai工程。
对于图标,我的做法是把图标拆开成多个简单封闭图像,然后导入。把几个图形按相对位置拼在一起。例如蓝牙图标就是拆成两部分后导入的,这样两部分的每一笔都是一个封闭图形。
从电源触发,先进自恢复保险F1,然后5v直通所有ws2812。另有一路通过ldo降压成3.3v给其他设备供电。电路集成蜂鸣器,光敏电阻(adc测量),温湿度传感器(i2c通讯),蓝牙芯片(串口通讯),以及两组WS2812通过spi模拟操作他的信号进行控制。
RA系列专用版e2 studio,内部集成fsp。下载链接
github为主,gitee更新可能不及时。目前仍在开发中,部分功能不可用。
功能 | 状态 |
---|---|
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
软件设计的参考资料基本有四种来源
可能是我比较菜鸟,官方的printf重定向我跑不通。
参口https://www.ibm.com/docs/en/zos/2.1.0?topic=functions-vsprintf-format-print-data-buffer
最printf进行包装。
详见debug文件夹
通过spi发送特定数据包,模拟ws2812所需时序,相关代码在ws2812下。
https://www.elecfans.com/d/comp-4843843-136335947323087548416.html
http://bbs.mydigit.cn/read.php?tid=2622343
这是一个天坑
瑞萨的 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代表亮度。下面的参考链接提供一种快速的色域转换算法。
参考: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下发送蓝牙广播调整rtc时间。基本原理是发送一个蓝牙广播,厂商信息里填充时间戳。ch571k接收到广播后通过串口发给瑞萨单片机,进而调整时间。
基于主从一体的例程就行修改,接收特定厂商的广播,并提取有效数据通过串口发出去。收到数据把数据放到广播里。暂不支持连接,只支持通过广播通讯。
见附件ch571k.zip
通过winrt调用电脑上的蓝牙,获取当前时间戳,组装特定的数据包发出去。蓝牙芯片会接受这个广播,发给瑞萨,进而完成授时。
SuperClockWindows.7z
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 |
展开
加载中...
是否需要添加此工程到专辑?