my_Megu Pad_v2 - 嘉立创EDA开源硬件平台

编辑器版本 ×
标准版 Standard

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

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

3、支持简单的电路仿真

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

专业版 professional

1、全新的交互和界面

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

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

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

专业版 my_Megu Pad_v2

简介:整体外形复刻https://oshwhub.com/hirykun/megupad_v2-0-yuan-li-tu中的megupad,但是替换主控芯片为air32f103,我自己写的程序

开源协议: GPL 3.0

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

创建时间: 2022-07-27 20:22:08
更新时间: 2023-09-27 19:00:55
描述
![a5ad796d9abdb22d88982cf0f9d95f6.jpg](//image.lceda.cn/pullimage/QHqulWaJJ7dsFMoXAGIt50Q2CDLGhapo7etxpnJW.jpeg) ![4db5b7c94cde2772f8cc13f2686a3d4.jpg](//image.lceda.cn/pullimage/44cyUhsraLFDi81K6KGtZ1ywpbg7TNzuEPYsLc3r.jpeg) ![2b5d04a83093072452b072691576878.jpg](//image.lceda.cn/pullimage/MMmFEZ0glr5MKPtKnRc5wtWbzuKVXpGQGShC5mtX.jpeg) ![4de0420b81942c2e58bf82800e679d9.jpg](//image.lceda.cn/pullimage/58ivkqk0PztXoSQUd541tcrWC3YGUb5NYg7G1W8M.jpeg) 有几个按键没有键帽,见谅 打定位板的话大概率出现50元,请使用亚克力 外形来源于<https://oshwhub.com/hirykun/megupad_v2-0-yuan-li-tu>,因此螺丝可以查考他的,做了修改,最最重要的是原点对齐!强迫症好受多了 贴图基本都是原神图片,不喜欢请替换 # 1.系统说明 采用AIR32F103CBT6芯片,RGB为SPI驱动WS2812,带0.96寸OLED,AT24C128进行存储,热插拔按键,使用二极管实现全键无冲设计,旋钮目前只能调节音量。 <font color="#dd0000">注意1:oled不能直接焊接排针,需要对比上板进行焊接,否则上板不能安装</font> <font color="#dd0000">注意2:oled模块自带上拉电阻,r9,r8可以不焊接,没有oled的话需要焊接</font> # 2.软件说明 ## 2.1QMK固件说明 尝试过QMK固件,我也会在后面把配置方案发出来,qmk可以实现不用外置eeprom存储,可以使用via,但是不建议,有以下问题 1. ws2812无法使用spi或者pwm驱动,应该是air32的问题 2. oled挂载总线为PB8 PB9的i2C,编译qmk固件后下载后会卡死不能运行,不用i2c可以运行,应该也是air32的问题 ## 2.2自制固件 为了解决qmk的弊端,包括我觉得qmk的 1. 自定义程度不高,很多不可见 2. 每次编译耗时超久 3. VIA软件真不好用 等原因 我自己编写了软件,软件整体框架可以查看源码,基本思路和之前键盘一样,不过那个键盘是我的第一个复杂设计,很多问题,包括晶振,usb乱放,瞎几把放电阻和电容等问题,目前主要实现了以下功能 1. 按键输入(一次最多14个按键,实际上理论上可以支持62个键一起,但是太多没啥用) 2. 鼠标功能模拟 3. 离线设置,可以在键盘上切换键盘层、RGB、OLED休眠时间、亮度、鼠标、滚轮移动距离 4. 音量控制 5. UF2固件更新,一次下载后不用下载器 6. 采用RTX5嵌入式OS编程,可扩展性强,air32频率为144Mhz,理论上比32更加快 # 3.使用说明 ## 3.1下载说明 1. 第一次下载请使用下载器下载uf2boot.bin文件,之后按住旋钮按键插入USB即可进行uf2模式,电脑会出现U盘,将uf2格式文件拖入即可完成下载,uf2文件起始地址为0x8004000 2. 灯闪烁即为uf下载模式 ## 3.2使用说明 ### 3.2.1上位机使用 ![Snipaste_2022-10-09_16-53-02.png](//image.lceda.cn/pullimage/lkjopL6cGATwtaAHA91oTBy2I9eH9zFT2qkK4YF1.png) 刷新后会出现多个,请尝试连接如图所示的VID和PID设备,连接的上会连接成功,连接不上会提示连接失败,都不行请尝试重新拔插。连接郭一次,会记录,下次可以直接连接。 ![Snipaste_2022-10-09_16-56-46.png](//image.lceda.cn/pullimage/QilHSmwbgQNo3sOh5a14wpyeVtV07N55ezWJcB6J.png) 连接成功后,需要先读取层数,然后读取按键配置,之后点击按键就可以显示当前按键的情况,点击更改配置就可以更改 ![image.png](//image.lceda.cn/pullimage/CFB0Hr1wUIzppdwNjTopzQOcjHS6luUbRP0ANQpv.png) 建议在输入捕获框中输入按键,会自动增加按键,不过注意删除要在按键值框中删除,实际上是以“+”作为分隔符,因此也可以自己输入,按键名在右边,必须对于,否则会提示错误 ![image.png](//image.lceda.cn/pullimage/IL8ZcuQyXWMeZ5mz0EYOjpLMjc74czruH6rUismN.png) 按键确认后不用点击重新读取就可以读取,重新读取只适用点击单个按键读取这个按键 灯光控制一看就会就不多说了 <font color="#dd0000">注意:按键层的切换在下位机,如果上位机没读取,切换层是不显示的,你在上位机1层改按键,下位机如果是2层的话,修改按键也是2层的</font> ### 3.2.2下位机说明 下位机按键布局同上位机一样,这里就说按键多少对应位置和上位机相同 #### 3.2.2.1层切换 下位机一共5层,分别是按键123层,RGB和OLED设置层,鼠标层 通过按住旋钮按键,然后点击4或者6进行前后切换,切换后松开 #### 3.2.2.2 RGB和OLED设置 松开旋钮 1. 8和9控制R大小 2. 9和12控制G大小 3. 10和11控制B大小 4. 7和14控制RGB模式(其中模式8还没有) 5. 4和5控制oled亮度 6. 1和2控制OLED休眠时间 #### 3.2.2.3 鼠标设置 松开按键 1. 5 12 8 10分别为鼠标上下左右 2. 4和6位鼠标左右键 3. 9为中间 4. 7和14位滚轮 5. 11和13为鼠标移动距离秀海 6. 1和2位为滚轮距离修改 # 4.二次开发说明 <font color="#dd0000">注意:二次开发需要经验,由于程序xjb乱写的,且相比stm32有很多不同,理论上是可以通用,但是有写地方需要重新修改</font> ## 4.1替换其他32说明 1. 整体采用stm32cubemx生成,但是进行了诸多魔改,直接用ioc生成会替换很多修改过的文件,请合理备份USB库和main.c文件 2. mian.c中 ``` USB_Port_Set(0); HAL_Delay(100); USB_Port_Set(1); ``` 这个为air32专用实现usb重新枚举 3. SystemClock_Config();实现了完全修改,使系统频率为144mhz 4. 虽然用的mdk编程,但是用的vscode的eide,不能直接使用mdk,要用的话需要添加相关文件,用vscode安装eide后应该可以直接导入 ## 4.2 其他说明 1. 上位机采用vs2022 c# .net4.6编写,调用了hidsharp库 2. 查看代码建议从rtx5.c入手,因为采用rtos,这里面是创建的线程,文件尽量采用一个功能一个文件 ![image.png](//image.lceda.cn/pullimage/we7OUYGiJELydj4gO60YMT3iR1gj1Gkc5Y0X4P7P.png) 3. eide中以下设置需要注意,安装目录不同,需要添加引用 ![image.png](//image.lceda.cn/pullimage/aSDnktZxuIfcab5HFB9aK2T6Lv1SKa6lDYzPA2oX.png) 4. 起始地址如下 ![image.png](//image.lceda.cn/pullimage/jTdM4Enc6TtT0siP9yBkx82f2EpJQEGxl7wvCNju.png) main.c开头需要添加中断向量表重映射到0x8004000 5. 转换uf2格式需要配合脚本并添加生成后任务 ![image.png](//image.lceda.cn/pullimage/wj9c9NKSqkjw76hYWVC8MguPDEg4GoXckTpvAdR5.png) 6. uf2.bin固件编译环境为ubuntu 16.04 # 目前还未完成的工作 1. 上位机捡漏 2. oled没有动画 3. typec缺少cc两个5.1k电阻,c to c线可能有问题
设计图
原理图
1 /
PCB
1 /
未生成预览图,请在编辑器重新保存一次
工程视频/附件
工程成员
侵权投诉
相关工程
换一批
加载中...
添加到专辑 ×

加载中...

温馨提示 ×

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

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

服务时间

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

support
  • 开源平台公众号

MP