标准版
#第七届立创电赛#最丐68+4机械键盘PRO

创建时间:2年前

描述

<div>如果比赛截止了请跳转到开源平台查看最新版本,比赛结束的话会进行评分锁定工程。<br></div><div><br></div><div>届时这个排版就无法编辑了。<br></div><div><br></div><div><a href="https://oshwhub.com/yangzen/zui-gai68-" target="_blank">最丐68+4机械键盘PRO</a><br></div><div><br></div><div>还有一个为了和外国朋友交流的英文版本<br></div><div><br></div><div><a href="https://oshwlab.com/yangdsada/GaiZhongGai-Keyboard-68-4PRO" target="_blank">GaiZhongGai-Keyboard-68+4PRO - EasyEDA open source hardware lab (oshwlab.com)</a><br></div><div><br></div><div>关于内容,下面的描述并不是这个键盘的全部,还有个姐妹工程《<a href="https://oshwhub.com/yangzen/xing-huo-ji-hua-zui-gai-17-4-chu-mo-ji-xie-jian-pan-pro" target="_blank">最丐17+4+触摸机械键盘PRO</a>》,两者配合食用更佳。<br></div><div><br></div><div>巧合的是现在两个比赛是同时进行的,所以两个项目就各投到不同赛道。为了内容不重复,侧重点各有不同。<br></div><h3><div>前言<br></div></h3><hr><div>很多读者不是电脑装机圈的可能理解不到这个丐中丐的含义,这个词用在电脑主板显卡上比较多。<br></div><div><br></div><div>代指丐版中的丐版,低配中的低配,缩水中的缩水,谐音曾经的央视广告。<br></div><div><br></div><div>而且我这里又不是销售宣传用最来做项目名是没问题的。<br></div><div><br></div><div>配置低带来的好处显而易见,就是成本低嘛,学生党最爱。<br></div><div><br></div><div>电子烧钱大家都是过来人,但是作为老师,希望你们从生活费腾预算时不要缩食甚至不吃饭。<br></div><div><br></div><div>可以找同学AA,或者用多出的pcb组装来挂闲鱼回血(投资有风险!!!),但是记得符合开源协议。<br></div><div><br></div><div>来个和QMK方案的常用单片机配置对照表<br></div><table><tr><th>型号</th><th>STM32F103C8T6</th><th>GD32F103C8T6</th><th>ATMEGA32U4-AU</th><th>CH551G</th></tr><tr><td>立创编号</td><td>C8734</td><td>C77994</td><td>C44854</td><td>C108958</td></tr><tr><td>单个价格(2022年6月24日)</td><td>¥42.58</td><td>¥14.35</td><td>¥129.92</td><td>¥2.69</td></tr><tr><td>封装</td><td>LQFP-48</td><td>LQFP-48</td><td>QFP-44</td><td>SOP-16</td></tr><tr><td>I/O 数</td><td>37</td><td>37</td><td>26</td><td>12.5(RST脚仅能读,当半个)</td></tr><tr><td>位数</td><td>32-Bit</td><td>32-Bit</td><td>8-Bit</td><td>8-Bit</td></tr><tr><td>内核</td><td>ARM® Cortex®-M3</td><td>ARM® Cortex®-M3</td><td>AVR</td><td>C51</td></tr><tr><td>ROM</td><td>64kB</td><td>64kB</td><td>32kB</td><td>10kB</td></tr><tr><td>RAM</td><td>20kB</td><td>20kB</td><td>2.5kB</td><td>0.75kB</td></tr><tr><td>EEPROM</td><td>无(但能用FLASH模拟)</td><td>无(但能用FLASH模拟)</td><td>1kB</td><td>128B</td></tr></table><div>对比得出配置差的不大,主要还是没生态。<br></div><div><br></div><div>刚出键盘开源的时候有打算开源代码,但是感觉热度不够,怕有人拿去牟利还把原作者信息消去。<br></div><div><br></div><div>但是“芯荒”导致上面单片机的价格水涨船高,我的项目热度也上去了。<br></div><div><br></div><div>而且现在还有忠实拥趸的精神物质双重支持,<br></div><div><br></div><div>帮忙去和闲鱼卖家沟通补上开源标签,售卖获得收益后以固定金额打赏作者,这样支持下更新能不勤快?<br></div><div><br></div><div>一路走来谢谢大家支持~<br></div><h3><div>1、项目功能介绍<br></div></h3><hr><div>基于我的旧项目《最丐61+3机械键盘》上升级。<br></div><div><br></div><div>满足我一开始想键盘带hub的需求,由于没地方放第三个USB座了,于是在空格下面放置了一个SD读卡器。<br></div><div><br></div><div>修改了配列,键盘背光改为RGB,接入了<a href="https://openrgb.org/" target="_blank">OpenRGB</a>。并且为该项目添加了中文支持。<br></div><div><br></div><div>在CH551G贫穷的外设下,为了WS2812严格的时序要求作了大量优化。<br></div><div><br></div><div>通常状态<br></div><div><br></div><div><img src="//image.lceda.cn/pullimage/eCdoyeMlbno4vDTlEPh23wmuxmCtwUZNd0OByd9L.png" alt="keyboard-layout.png"><br></div><div><br></div><div>摁住FN<br></div><div><br></div><div><img src="//image.lceda.cn/pullimage/p6PVKQcMT0OApI63pnYUbVIFLUxkjGBvCZ6iW6fu.png" alt="keyboard-layout (FN).png"><br></div><h3><div>2、项目属性<br></div></h3><hr><div>项目为首次公开,而且这次会公开源码,方便大家修改配列。<br></div><div><br></div><div>帮助大家用2元的单片机代替现在待价而沽的32U4。<br></div><h3><div>3、开源协议<br></div></h3><hr><div>注意GPL 3.0开源协议,商业用途需要作者授权,我做人是很均真的。<br></div><div><br></div><div>如果你从这个项目中挣钱了,请以每套2元进行打赏。我会匀出部分来打赏OpenRGB的作者。<br></div><div><br></div><div>以供他接入更多设备,实现RGB设备All in one的远大理想。<br></div><h3><div>4、硬件部分<br></div></h3><hr><div>该项目后续会同步到英文版的开源平台,所以硬件原理会重新讲解。<br></div><div><br></div><div>已经吃透我以前的项目的读者可以跳过,按键扫描原理是一样的,只是排版和举例素材重新绘制。<br></div><div><br></div><div>这里我就不做各种方案的对比了,直接进入正题。<br></div><div><br></div><div>这是市场上机械键盘的电路(QMK的方案就是这种),典型的矩阵键盘加防键冲二极管。<br></div><div><br></div><div><img src="//image.lceda.cn/pullimage/DkggCWg3sCmXaCVh1rwdSVneRRszlZowjFOwXeAg.png" alt="image.png"><br></div><div><br></div><div>这是我设计的新型矩阵键盘扫描电路<br></div><div><br></div><div><img src="//image.lceda.cn/pullimage/aSYTxtRKmLEkxX4Lke7dyWnoLgXDHdXaURCWVrKF.png" alt="image.png"><br></div><div><br></div><div>这时如果你用理想二极管来分析电路就会困惑,如果同时摁住S1,S3的画,当扫描到IO1位低时,<br></div><div><br></div><div>则Uio2=Uio3=0V?这样不就读取到S1,S2同时摁下???<br></div><div><br></div><div>但是,实际的二极管不是理想的。<br></div><div><br></div><div><img src="//image.lceda.cn/pullimage/Cuk2UNa4OHsIa6rsVcaHXwTtJnbOtxml9eT4Cc9k.png" alt="image.png"><br></div><div><br></div><div>这是安森美的1N4148的伏安特性图,注意横坐标是指数分布的。<br></div><div><br></div><div>可以看到即使最低电流0.1mA下都有500mV的正向导通压降。<br></div><div><br></div><div>结合上面的问题可以推断出Uio2=0.5V,Uio3=1V。<br></div><div><br></div><div>这时就可以查看单片机技术文档了<br></div><div><br></div><div><img src="//image.lceda.cn/pullimage/B0vAmSGEFqBTY0vl5JWK57MSx0zJi6kbgqNAyhV9.png" alt="image.png"><br></div><div><br></div><div><img src="//image.lceda.cn/pullimage/CDMzwTCnxaZnq2hPN3FOpoM54ZLll7Xd0PfGdxOD.png" alt="image.png"><br></div><div><br></div><div><img src="//image.lceda.cn/pullimage/ccPA9TZzXZNOE9lSzCz7lLilNCtR2FQZ8bFCecFW.png" alt="image.png"><br></div><div><br></div><div><img src="//image.lceda.cn/pullimage/YM1UrkYOOwfVevZ0hjpTohO8bfV0zeFBnlM2hCbU.png" alt="image.png"><br></div><div><br></div><div>这是沁恒CH552G的技术文档。选择哪个供电电压一目了然。<br></div><div><br></div><div>然后经过实机测试,需要加入上拉电阻使二极管加大导通电流,增加压降以获取更稳定的扫描检测效果。<br></div><h3><div>5、软件部分<br></div></h3><hr><div>代码为首次开源,这里会举例一部分比较特殊的代码。<br></div><div><br></div><h3><div>WS2812发送时序<br></div></h3><div><br></div><div>众所周知,WS2812的时序要求非常苛刻,单总线带宽1Mbps,如果遇到没有DMA的单片机还有其他中断的情况下着实要费点脑子。<br></div><div><br></div><div>但是我这里克服了这个问题,通过把WS2812的数据发送放置到INT0中断里面,<br></div><div><br></div><div>这样的话避免了优先度更低的USB中断打断2812时序导致错误地识别成了RET码或者0码变成1码,错位导致键盘闪烁。<br></div><div><br></div><div>而且T0中断又可以打断USB中断,进行更高一级的中断,保证数据发送稳定可靠。<br></div><div><br></div><div>T0是配置成50us中断8位自动重新加载,而看下图可知灯和灯之间的时差只要不到50us就不会触发RES码。<br></div><div><br></div><div>利用这个特性,可以实现发送2812同时,中断占用率保持在50左右(算上现场保护可能更多60,70吧)。<br></div><div><br></div><div>这样就不会完全阻塞1.6ms。计算过程:1us * 24 * 68=1632us<br></div><div><br></div><div>但是发送时间则为:50us * 68=3.4ms<br></div><div><br></div><div>虽然发送慢了,但是最大刷新率还是非常可观,关键是不再会小概率闪灯。<br></div><div><br></div><div><img src="//image.lceda.cn/pullimage/THJEryNLDDmm2evEbpFuXpFja9WJZGb3BdREjKEa.png" alt="image.png"><br></div><pre><div>//nop经过调教,优化等级为7,勿动<br></div><div>void ws2812_maintain()//T0中断中调用,若没有发送队列则退出<br></div><div>{<br></div><div> const uchar idata decode[4]={0x88,0x8e,0xe8,0xee};<br></div><div> uchar idata p[4];<br></div><div> uchar dat;<br></div><div> uchar temp;<br></div><div> uchar i=0;<br></div><div> if(LED_num>=LED_LEN)<br></div><div> return;<br></div><div> //提前从XDATA取出数据<br></div><div> dat=dot_temp[LED_num][0];<br></div><div> p[1]=dot_temp[LED_num][1];<br></div><div> p[2]=dot_temp[LED_num][2];<br></div><div> <br></div><div> SPI0_DATA=0;<br></div><div> SPI0_CTRL=bS0_MOSI_OE;//只使能MOSI<br></div><div> _nop_();_nop_();_nop_();<br></div><div> <br></div><div> do{<br></div><div> temp=decode[(dat>>6)&0x03];<br></div><div> _nop_();_nop_();_nop_();<br></div><div> _nop_();_nop_();_nop_();_nop_();<br></div><div> SPI0_DATA=temp;<br></div><div> <br></div><div> temp=decode[(dat>>4)&0x03];<br></div><div> _nop_();_nop_();<br></div><div> _nop_();_nop_();_nop_();_nop_();<br></div><div> _nop_();_nop_();_nop_();_nop_();<br></div><div> _nop_();_nop_();_nop_();_nop_();<br></div><div> SPI0_DATA=temp;<br></div><div> <br></div><div> temp=decode[(dat>>2)&0x03];<br></div><div> i++;<br></div><div> _nop_();_nop_();_nop_();_nop_();<br></div><div> _nop_();_nop_();_nop_();_nop_();<br></div><div> _nop_();_nop_();_nop_();_nop_();<br></div><div> SPI0_DATA=temp;<br></div><div> <br></div><div> temp=decode[dat&0x03];<br></div><div> dat=p[i]; <br></div><div> _nop_();_nop_();<br></div><div> _nop_();_nop_();_nop_();_nop_();<br></div><div> _nop_();_nop_();_nop_();_nop_();<br></div><div> SPI0_DATA=temp;<br></div><div> <br></div><div> if(i==3)<br></div><div> break;<br></div><div> }while(1);<br></div><div> LED_num++;<br></div><div> _nop_();_nop_();<br></div><div> _nop_();_nop_();_nop_();_nop_();<br></div><div> _nop_();_nop_();_nop_();_nop_();<br></div><div> SPI0_CTRL=0;//关闭MOSI<br></div><div>}<br></div></pre><div><br></div><h3><div>C51位寻址<br></div></h3><div>大家定义io时都是sbit 然后P1.0为什么名字,大家有没有想过为什么P1.0=0和P1&=0xFE能实现一样功能?<br></div><div>如果是平时教学就会说C51比起STM32还有位类型的变量,在性能较差的情况下更容易实现简单操作。就这样一笔带过了。<br></div><div>大家看过HAL库的底层操作io就会发现STM32都是ODR寄存器进行与和或操作。<br></div><div>在C51中有个比较少见的功能,就是位寻址,参考STC89C51的文档:(手推车的51实在太经典了)<br></div><div><img src="//image.lceda.cn/pullimage/GqTAZMpvodnOctnJNCCerjbF0hvFiQWlVBLWiPBW.png" alt="image.png"><br></div><div><br></div><div>因为内存是重叠的,所以可以相当于共用体来操作,相比于与和或逻辑操作节省了不少汇编指令,具体使用如下<br></div><div><br></div><pre class="te-content-codeblock-0"><div><br></div><div>sbit K1=P3^2;<br></div><div>sbit K2=P1^4;<br></div><div>sbit K3=P1^6;<br></div><div>sbit K4=P1^7;<br></div><div>sbit K5=P3^1;<br></div><div>sbit K6=P3^0;<br></div><div>sbit K7=P1^1;<br></div><div>sbit K8=P3^3;<br></div><div>sbit K9=P3^4;<br></div><div><br></div><div>uchar bdata TEMP_Byte;//定义位寻址内存<br></div><div><br></div><div>sbit Bit0=TEMP_Byte^0;<br></div><div>sbit Bit1=TEMP_Byte^1;<br></div><div>sbit Bit2=TEMP_Byte^2;<br></div><div>sbit Bit3=TEMP_Byte^3;<br></div><div>sbit Bit4=TEMP_Byte^4;<br></div><div>sbit Bit5=TEMP_Byte^5;<br></div><div>sbit Bit6=TEMP_Byte^6;<br></div><div>sbit Bit7=TEMP_Byte^7;<br></div><div><br></div><div>uchar idata key_temp[9]={0};//按键映射,作消抖使用<br></div><div><br></div><div>void key_delay()//等待电平稳定再读取<br></div><div><br></div><div>{<br></div><div><br></div><div>nop();<br></div><div><br></div><div>nop();<br></div><div><br></div><div>}<br></div><div><br></div><div><br></div><div>void keybord_scanning()<br></div><div>{<br></div><div> K1=0;//S1~<br></div><div> key_delay();<br></div><div> Bit0=K2; Bit1=K3; Bit2=K4; Bit3=K5;<br></div><div> Bit4=K6; Bit5=K7; Bit6=K8; Bit7=K9;<br></div><div> key_temp[0]=~TEMP_Byte;//电平逻辑取反 <br></div><div> K1=1;<br></div><div> key_delay();<br></div><div> <br></div><div> K2=0;//S9~<br></div><div> key_delay();<br></div><div> Bit0=K1; Bit1=K3; Bit2=K4; Bit3=K5;<br></div><div> Bit4=K6; Bit5=K7; Bit6=K8; Bit7=K9;<br></div><div> key_temp[1]=~TEMP_Byte; <br></div><div> K2=1;<br></div><div> key_delay();<br></div><div> <br></div><div> K3=0;//S17~<br></div><div> key_delay();<br></div><div> Bit0=K1; Bit1=K2; Bit2=K4; Bit3=K5;<br></div><div> Bit4=K6; Bit5=K7; Bit6=K8; Bit7=K9;<br></div><div> key_temp[2]=~TEMP_Byte; <br></div><div> K3=1;<br></div><div> key_delay();<br></div><div> <br></div><div> K4=0;//S25~<br></div><div> key_delay();<br></div><div> Bit0=K1; Bit1=K2; Bit2=K3; Bit3=K5;<br></div><div> Bit4=K6; Bit5=K7; Bit6=K8; Bit7=K9;<br></div><div> key_temp[3]=~TEMP_Byte; <br></div><div> K4=1;<br></div><div> key_delay();<br></div><div> <br></div><div> K5=0;//S33~<br></div><div> key_delay();<br></div><div> Bit0=K1; Bit1=K2; Bit2=K3; Bit3=K4;<br></div><div> Bit4=K6; Bit5=K7; Bit6=K8; Bit7=K9;<br></div><div> key_temp[4]=~TEMP_Byte; <br></div><div> K5=1;<br></div><div> key_delay();<br></div><div> <br></div><div> K6=0;//S41~<br></div><div> key_delay();<br></div><div> Bit0=K1; Bit1=K2; Bit2=K3; Bit3=K4;<br></div><div> Bit4=K5; Bit5=K7; Bit6=K8; Bit7=K9;<br></div><div> key_temp[5]=~TEMP_Byte; <br></div><div> K6=1;<br></div><div> key_delay();<br></div><div> <br></div><div> K7=0;//S49~<br></div><div> key_delay();<br></div><div> Bit0=K1; Bit1=K2; Bit2=K3; Bit3=K4;<br></div><div> Bit4=K5; Bit5=K6; Bit6=K8; Bit7=K9;<br></div><div> key_temp[6]=~TEMP_Byte; <br></div><div> K7=1;<br></div><div> key_delay();<br></div><div> <br></div><div> K8=0;//S57~<br></div><div> key_delay();<br></div><div> Bit0=K1; Bit1=K2; Bit2=K3; Bit3=K4;<br></div><div> Bit4=K5; Bit5=K6; Bit6=K7; Bit7=K9;<br></div><div> key_temp[7]=~TEMP_Byte; <br></div><div> K8=1;<br></div><div> key_delay();<br></div><div><br></div><div> K9=0;//S65~<br></div><div> key_delay();<br></div><div> Bit0=K1; Bit1=K2; Bit2=K3; Bit3=K4;<br></div><div> Bit4=K5; Bit5=K6; Bit6=K7; Bit7=K8;<br></div><div> key_temp[8]=~TEMP_Byte; <br></div><div> K9=1;<br></div><div>}<br></div></pre><div><br></div><div><br></div><div><br></div><div>上位机部分的代码可以在<a href="https://openrgb.org/" target="_blank">OpenRGB</a>里跳转到GitLab,然后GaiZhongGaiKeyboard里面找到。<br></div><div><br></div><div>开源代码已经提交合并申请,等待作者的同意。我的代码就在其中。审核通过才有路径<br></div><div><br></div><div>而且为了大家更加容易使用,还与热心群员共同汉化了这个软件。<br></div><div><br></div><div><img src="//image.lceda.cn/pullimage/8y6B4kP2ryv6U4yUQDCA1yGxGzSI7YwZoTzJVtGi.png" alt="image.png"><br></div><h3><div>6、BOM清单<br></div></h3><hr><div>没什么特殊元件,LCSC都能一键配单,就是CH551G/CH552G需要订货。<br></div><div><br></div><div>两种都能用,但是CH551G据说是停产了,也许会下架,如果你搜索CH551G看到对应的DEMO板链接,那么我很荣幸,那个项目也是我做的。<br></div><div><br></div><div>还有需要注意的是这里给出的上下灯位两个版本。两个的USBHUB芯片是不同的,元件清单请从PCB中导出。<br></div><h3><div>7、大赛LOGO验证<br></div></h3><hr><div><img src="//image.lceda.cn/pullimage/3z2rYcHGhRxtrVTz0ZqIT8ETc5Ikg82Zxo18UVE4.jpeg" alt="IMG_20220629_074839.jpg"><br></div><div><br></div><div><img src="//image.lceda.cn/pullimage/EagoO8HvZWCFfR1PEvOoRUXtJmHWoZOfsyXk6RW4.jpeg" alt="IMG_20220711_075954.jpg"><br></div><h3><div>8、演示您的项目并录制成视频上传<br></div></h3><div>TypeC采用45度出线,不容易干涉笔记本屏幕<br></div><div><br></div><div><img src="//image.lceda.cn/pullimage/XTNCpfLyiugenLO0S1wTVZTrBFDXDQa1Wq2kGUXn.jpeg" alt="IMG_20220630_221237.jpg"><br></div><div><br></div><div>其中一个侧面USB母座做了内凹设计,插入无线鼠标接收器时不会突出,而且位置距离鼠标近,信号更稳定<br></div><div><br></div><div><img src="//image.lceda.cn/pullimage/YpfOUySZ87GWt5JLFjcUr68Y4uwG0SMZi7fi8DYK.jpeg" alt="IMG_20220701_201334.jpg"><br></div><div><br></div><div>为了用尽每一丝资源,空格下还藏了一个SD读卡器<br></div><div><br></div><div>测试过能正常用,只是后面用不上就没焊接读卡ic<br></div><div><br></div><div><img src="//image.lceda.cn/pullimage/aTfhSN3cQ7R2AmCsMhIPooQBytxle4o1JeJ7K3fI.jpeg" alt="IMG_20220710_171406.jpg"><br></div><div><br></div><div><br></div><div><br></div>
  • studio_video_1659892762090 [720p].mp4

  • VID_20220607_210912~1.mp4

文档

单片机+HUB+读卡器

行列键盘+WS2812

68+4+HUB+SD上灯位

68+4底板(下灯位走线图案)

68+4定位板

68+4+HUB+SD 下灯位

BOM

ID Name Designator Footprint Quantity Manufacturer Part Manufacturer Supplier Supplier Part
1 TSA356G00-250 BOOT SW-SMD_TSA356G00-250 1
2 104 C1,C2,C3,C5,C8,C9,C10,C13,C24 C0603 9
3 106 C4,C6,C7,C11,C12 C0603 5
4 HS8836A IC1 HS8836A 1
5 5.1K R1,R2 R0603 2
6 75R R3 R0603 1
7 100K R4 R0603 1
8 0R R5,R6 R0603 2
9 1K RN1,RN2,RN3 RES-ARRAY-SMD_0603-8P-L3.2-W1.6-BL 3
10 GL823K-HCY04 U1 SSOP-16_L4.9-W3.9-P0.64-LS6.0-BL 1
11 HT7333-A U2 SOT-89-3_L4.5-W2.5-P1.50-LS4.2-BR 1
12 CH551G U3 SOP-16_L10.0-W3.9-P1.27-LS6.0-BL 1
13 U262-16XN-4BVC11 USB1 USB-C-SMD_TYPE-C16PIN 1
14 USB-A USB2,USB3 USB-A-TH_USB-302-T 2
15 TF-01A XKTF-N02-G TF-SMD_TF-01A 1
16 106 C14,C15,C16,C17,C18,C19,C20,C21,C22,C23 C0603 10
17 4148 D1,D2,D3,D4,D5,D6,D7,D8,D9,D10,D11,D12,D13,D14,D15,D16,D17,D18,D19,D20,D21,D22,D23,D24,D25,D26,D27,D28,D29,D30,D31,D32,D33,D34,D35,D36,D37,D38,D39,D40,D41,D42,D43,D44,D45,D46,D47,D48,D49,D50,D51,D52,D53,D54,D55,D56,D57,D58,D59,D60,D61,D62,D63,D64,D65,D66,D67,D68,D69,D70,D71,D72 LL-34_L3.5-W1.5-RD 72
18 高特插拔轴(3535旋转版) S1,S2,S3,S4,S5,S6,S7,S8,S9,S10,S11,S12,S13,S14,S15,S16,S17,S18,S19,S20,S21,S22,S23,S24,S25,S26,S27,S28,S29,S30,S31,S32,S33,S34,S35,S36,S37,S38,S39,S40,S41,S42,S43,S44,S45,S50,S51,S52,S53,S54,S55,S56,S57,S58,S59,S60,S61,S62,S63,S64,S65,S66,S67,S68,S69,S70,S71,S72 高特插拔轴(3535RGB旋转版) 68
19 TSA356G00-250 S46,S47,S48,S49 SW-SMD_TSA356G00-250 4

附件

附件名 下载
最丐68键RGB键盘程序V10开源.hex
68键盘程序Ver1.00(开源版本).zip
OpenRGB汉化.zip
studio_video_1659892762090 [720p].mp4
VID_20220607_210912~1.mp4

评论(69)

  • 表情
    emoji
    小嘉工作篇
    小嘉日常篇
  • 图片
成功
工程所有者当前已关闭评论
墨染倾城 回复
<p>第一</p>
holaholahei 回复
<p>dier</p>
xscm 回复
<p>赞</p>
prince_j 回复
<p>不错的开源键盘</p>
画板当吃生菜 回复
<p>这次代码是开源的,欢迎二次创作后再次开源</p>
hexesdesu 回复
<p>定的板子鸽了……</p>
QWERQAQ13 回复
<p>群友帮顶!</p>
容-克 回复
<p>同款键帽,还有这个灯亮吗?微星GK50Z的灯一开屏幕灯就看不清字了</p>
画板当吃生菜 回复
<p>我是没限制灯光亮度的,你甚至可以在上位机设置成白色拉到USB供电带不动,然后键盘掉电死机。理论最大电流68*60mA=4A</p>
Guest 回复
<p>大佬设计个无线版的呗</p>
aikebei 回复
<p>请教下大佬如何接入openrgb</p>
画板当吃生菜 回复
<p>可以讨教,如果是QMK固件建议用QMK自带的接口</p>
aikebei 回复
<p>我自己写得固件,并没有qmk,然后现在有端口1的report id1承担传输任务</p>
画板当吃生菜 回复
<p>我认为你的项目用户量也不多。建议自行适配,不懂再问。先试试下载源代码编译运行试试先。然后看我的底层</p>
画板当吃生菜 回复
<p>要不交易一波,你用.NET帮我搞改键上位机,我帮你适配OpenRGB😁</p>
aikebei 回复
<p>哈哈,可以啊,只要有端口处理hid还是挺容易的,不过得下周之后,现在忙着毕业,联系方式私信给你了</p>
iori1216 回复
<p>大佬,小键盘搞好了,我是来抄68+4的</p><p><img src="//image.lceda.cn/pullimage/ZrpSLjSEwuRq78mQ6eotYDdfMlu4rPNuiuZZCTqe.webp" alt="ZrpSLjSEwuRq78mQ6eotYDdfMlu4rPNuiuZZCTqe.webp"></p>
画板当吃生菜 回复
<p>不负众望,期待有个好包装</p>
iori1216 回复
<p>大佬,三维猴白嫖的壳子已经准备好啦。。。不过现在有个问题,win7系统,插着小键盘重启电脑后,键盘上除了5键能调灯光以外,其他按键都不能用,重新插拔了才好,这算bug吗?</p>
画板当吃生菜 回复
<p>建议换个电脑USB口试试,要么串联个hub,多测试下不同条件。我也要做排除法才能锁定问题,谢谢反馈</p>
iori1216 回复
<p>还是不带壳子的看着有感觉。这个高特插拔轴旋转板和普通的键轴不一样吗?</p><p><img src="//image.lceda.cn/pullimage/LCdWU40p589zaH4WWzpWnFwmigupMD9P9uW0Wq3A.webp" alt="LCdWU40p589zaH4WWzpWnFwmigupMD9P9uW0Wq3A.webp"></p>
画板当吃生菜 回复
<p>焊盘大点,可以焊高特的套筒轴</p>
立创电赛 回复
<p>恭喜您在“国民技术N32 MCU杯”第七届立创电子设计开源大赛中获得鼓励奖,更多详情见:<a href="https://diy.szlcsc.com/posts/ce62d5686424460db0a26a6b90277d78" target="_blank">https://diy.szlcsc.com/posts/ce62d5686424460db0a26a6b90277d78</a></p>
ff12345 回复
<p>交作业啦!</p><p><img src="//image.lceda.cn/pullimage/6G5ylOV7i56sgXBNI49bOOg02jBtsXRv64VFSePy.webp" alt="6G5ylOV7i56sgXBNI49bOOg02jBtsXRv64VFSePy.webp"></p>
zhangjiawei12345 回复
<p>外壳会有吗?想做一个带外壳的,比较纠结。</p>
画板当吃生菜 回复
<p>我没打算做外壳,PCB叠叠乐我能满足,只能等外壳大佬技术入股了。<br/>优点:最便宜的兼容OpenRGB的大键盘(不算二手)</p>
ff12345 回复
<p>咸鱼出多余的PCB样板</p>
画板当吃生菜 回复
<p>建议送朋友吧,要出也是我先出😁</p>
Lucas0099 回复
<p>打开设置文件夹没反应,直接装插件也没反应</p>
画板当吃生菜 回复
<p>openRGB?可能用户名是中文导致,换电脑试试?</p>
Lucas0099 回复
<p>找到软件放插件的文件夹复制进去重启软件,软件界面还是没有显示插件</p>
画板当吃生菜 回复
<p>实在无解的话去gitlab反馈下,这里可以发图片。我也就可以帮你看看插入的路径对不对。<br/>是官网下载的吗?我的自编译版本比较旧</p>
Lucas0099 回复
<p>问题解决了是运行环境。板子到手是先1、烧录固 2、上位机改建 3、openRGB改灯是这样的顺序吗。我是先做了一个最丐17PRO的要烧录哪个固件VER多少</p>
画板当吃生菜 回复
<p>最新的就对了</p>
Lucas0099 回复
<p>交作业,大佬怎么修改在改建层下的快捷键功能,或者在非LOCK下的快捷键功能</p><br/><p><img src="//image.lceda.cn/pullimage/DjNyRvV3tCW8S9bbDAVV4Kqw1pdjuD6cpmWcOevx.webp" alt="DjNyRvV3tCW8S9bbDAVV4Kqw1pdjuD6cpmWcOevx.webp"></p>
画板当吃生菜 回复
<p>预留了接口,但是没放开,即使放开也会由于单片机配置过低的缘故不能全部同时修改。等待后续更新吧。现阶段我认为这是最合适的解决方法</p>
画板当吃生菜 回复
<p>打开软件就会用了,具体操作有视频</p>
Lucas0099 回复
<p>感谢大佬,年后再做个68,有可以交流的群吗,加了个群里面是开团的我能直接群里加你拉我进交流群吗</p>
打翻前世柜 回复
<p>小白表示完全不知道hub芯片底下的电阻是不用焊的,焊上插电有反应就是识别不到设备。跑去问大佬,在大佬的钛合金透视眼下,一眼就透到了hub芯片下焊了电阻(doge),拆了立马成功烧录</p><p><img src="//image.lceda.cn/pullimage/CNfYZcBgcZr9jREsCCw6f9KbXKyzBrFB03YeIwps.webp" alt="CNfYZcBgcZr9jREsCCw6f9KbXKyzBrFB03YeIwps.webp"></p>
woti 回复
<p>有考虑出一个数字键在左边的80键配列的 画图 专用键盘吗?<br/>CH552T会多4个引脚,可以安排caps和Num的指示灯 单列出来</p>
画板当吃生菜 回复
<p>需求小众,你出资兼画板的话我可以出技术适配代码</p>
vetvetv 回复
<p>请问大佬为啥会出现这种情况,是ht7333的问题吗</p><p><img title="点击查看大图" src="//image.lceda.cn/pullimage/sRkrejrz6oDtXROjnoxzMwEI1Dwgfa0ZNClKW1VW.webp" alt="sRkrejrz6oDtXROjnoxzMwEI1Dwgfa0ZNClKW1VW.webp"></p>
画板当吃生菜 回复
<p>检查C口是不是短路</p>
zhangjiawei12345 回复
<p>哈哈,用zuoer68改了一套外壳,怪好看的。目前使用下来有几点小问题:1、开机后不能自动识别键盘,需要重新插拔一下才行,系统win10,另外win7可以开机自动识别。2、键盘连上丐17+4后,键盘会识别到按住win键,需要重新按一下win键才能正常使用。3、尽量不要使用带RGB的数据线,会供电不足,使用双USB供电的延长线也无法解决。这些问题也有可能是我电脑太渣了,哈哈。</p><p><img title="点击查看大图" src="//image.lceda.cn/pullimage/g7j7xSCr2kH9JET1AwwQlGZ4Jx3EbY03hP3Hp0f8.webp" alt="g7j7xSCr2kH9JET1AwwQlGZ4Jx3EbY03hP3Hp0f8.webp"><img title="点击查看大图" src="//image.lceda.cn/pullimage/qxK6dOk6jkcYgTI9f1aiyuYMKeZh3THXfORuDm4e.webp" alt="qxK6dOk6jkcYgTI9f1aiyuYMKeZh3THXfORuDm4e.webp"><img title="点击查看大图" src="//image.lceda.cn/pullimage/jG3Dd7zU4x0IyALpkmbANJ68WnaeEK2fVP7kzZyv.webp" alt="jG3Dd7zU4x0IyALpkmbANJ68WnaeEK2fVP7kzZyv.webp"></p>
画板当吃生菜 回复
<p>总算有人做衣服了,尽量过年前更新,把底层更新到小键盘同步</p>
画板当吃生菜 回复
<p>建议还是usb后面开口,不然单手插u盘把键盘顶着跑</p>
zhangjiawei12345 回复
<p>就是看上了侧面插U盘,蛮独特的</p>
画板当吃生菜 回复
<p>更新了,这里现在不可编辑,附件我上传到另一个工程了:<br/><a href="https://oshwhub.com/ken6/CH552Gshuo-zi-jian-pan" target="_blank">https://oshwhub.com/ken6/CH552Gshuo-zi-jian-pan</a></p><br/><p>Ver1.10</p><br/><ol><br/><li>USB底层与丐PAD的Ver1.9同步</li><br/><li>初始化时序也与丐PAD的Ver1.9同步</li><br/><li>按键译码底层与丐PAD的Ver1.9同步,为上位机改键做准备</li><br/><li>修改灯效存储位置,留出改键数据的存储空间</li><br/><li>关灯时CapsLock会随着状态亮白灯</li><br/></ol>
vetvetv 回复
<p>谢谢大佬,另外有交流群吗</p>
dq_y 回复
<p>交个作业,感谢大佬的开源项目</p><p><img title="点击查看大图" src="//image.lceda.cn/pullimage/nw06U7QL1bMVugvUMkPlTUliG6fYRgQFYhgdl372.webp" alt="nw06U7QL1bMVugvUMkPlTUliG6fYRgQFYhgdl372.webp"></p>
Shadowlord 回复
<p>原理说明那里是同时按下S1和S4吗,有点难理解为什么按下S1和S3会使U2=U3=0。</p>
画板当吃生菜 回复
<p>是的,笔误。所以引出两个二极管就不算低</p>
zou-zou 回复
<p>请问大佬这个怎么烧录 需要连接那些点位</p>
画板当吃生菜 回复
<p>去掉RST上拉进行第一次烧录,后续就能摁boost烧录了</p>
zou-zou 回复
<p>我去掉RN3位置1K排阻 用USB烧录出现了设备名称 也成功烧录了 后来我再把RN3重新焊接上 键盘插上电脑机没有任何反应 电脑没有读出到键盘 去掉RN3就能读出到了 还有之后又重新想烧录 按住BOOT按键USB烧录 就显示不了设备名称了 大佬呢个烧录成功后就能使用了吗 我的轴体还没到 就试着用镊子短接 按键的两点只有JHG 这个几种字符能出来 其他的就不行</p>
画板当吃生菜 回复
<p>在烧录界面把使能RST复位的勾去掉,我把RST脚当作IO使用了</p>
yunfei001 回复
<p>好独特的外壳</p>
六子666 回复
<p>为什么ch551/552芯片第一次下载完程序后插上电脑后都会显示无法识别设备呢?</p>
myst729 回复
<p>类似Charlieplex的扫描,QMK也可以通过自定义矩阵的方式实现。省IO但是比较麻烦,想换二极管要先计算压降 [emojis:骷髅]</p>
GaN 回复
<p>你好 ,请教一下这个贴片LED的封装是1210吗</p>
画板当吃生菜 回复
<p>@ambiition ws2812 3528反贴</p>
GaN 回复
<p>好的谢谢</p>
GaN 回复
<p>请问一下,键盘没安装底板时候一切正常,底板一拧两颗螺丝就不正常了,键盘按键乱跳[emojis:流泪]</p>
画板当吃生菜 回复
<p>@GaN 哪两颗螺丝,是不是短接某条数据线?</p>
GaN 回复
<p>最下面左右两颗螺丝,好像是轴的引脚戳破了底板的铜皮,现在做了绝缘不敢拧太紧</p>
yuebanwan 回复
<p>很炫、很酷哦,资料很清晰,加油!!!</p>
ambitiondai 回复
<p>你好,我的键盘做好用了一段时间后,放了半年没用,现在键盘打字没问题,但是 led只有红圈的几个灯能亮,我检查了线路补焊了焊点,还是没发现问题,能否请教一下。<img title="点击查看大图" src="//image.lceda.cn/oshwhub/60e89a8c2b574ace8a088e5c913adc9e.png" alt=""></p>
画板当吃生菜 回复
<p>检查下V或者B下面的灯,建议直接更换</p>
ambitiondai 回复
<p>好的谢谢我试试</p>
goToTop
svg-battery svg-battery-wifi svg-books svg-more svg-paste svg-pencil svg-plant svg-ruler svg-share svg-user svg-logo-cn svg-double-arrow