你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【我为STM32站台】+ 基于L432改造机械键盘(usb+蓝牙+灯控)  

[复制链接]
踏平幼稚园 发布时间:2016-11-19 03:30
本帖最后由 踏平幼稚园 于 2016-11-21 22:07 编辑
5 g* V' h6 G. l+ L5 ?/ d6 @' K& I' l- A! W
忙了2、3个月了,终于有点小成果了,下面跟大家分享一下。
/ z) C8 U5 x) c0 j% d" n
* Q& x. e" e3 R0 o1 o0 I' ]9 d- Q11月20更新:7 v7 r" |. G, u5 h4 d
    1、灯控代码更新,解决灯效显示bug;/ t: W, _0 v; w. r; p0 s
    2、stm32l432引脚布局更改,解决灯控中有一路pwm的io脚与usb引脚冲突的bug;( n+ H, f1 z  f$ E8 e. |( I
    3、灯终于到了,视频演示出增加灯控视频(目前实现了三种:全亮<亮度可调>、全呼吸<频率可调>、按键行点亮<亮度可调>);
/ R+ O0 n: j# s0 |) M" C# O

$ T' T9 ~& D% s% k1 [7 D2 L1 Z' ?+ v' E/ n

1 Q6 P$ P7 j% Y+ g9 i6 a/ q# D首先:说一下项目发起理由,主要是因为手上现有机械键盘为usb键盘,不支持蓝牙,灯效过少且定制性差。
; O4 I5 R! \5 o0 ^: n4 ?
7 Z& o4 ~+ r( _: S' F  F% w
项目目标:     改造键盘,增加蓝牙、usb、扩展灯效。
0 r* b; a% G/ U9 g# t* ^
% L4 d1 J  Y7 j. s2 j, I方案:蓝牙da14583(就是那个功耗低到没朋友的货)主要实现按键检测,蓝牙键盘;stm32L432(这个功耗也非常低,性能也很强)实现主要usb键盘及灯控。补充:因为有吧友问到,这里说一下键盘型号:ikbc c87。
8 G5 |) p$ G& Y; c5 h& I" m' G/ Y; K" V- Z2 |
  j1 ?1 P6 [) v8 F3 z  w5 b5 f7 Q
接下来分别介绍软、硬件部分具体实现:
5 U' l* {9 f: {% Y5 G6 p一、软件(蓝牙、stm32):
4 ^$ F- D( Q6 e0 i5 U    1、整体框架8 t, ?! b4 t0 H: q
         概览.jpg 1 R! n& |% g: o7 }7 ^' N
    2、主程序流程
: s1 N7 ^7 J. N% |7 S2 M      
  a、蓝牙部分:按键扫描,键码映射( 通过硬件部分可得到映射表),蓝牙按键发送,发送协议数据。流程如下:
: _" y' S# l+ G( l2 |- _0 }               ble.jpg ( O' M7 ^. S- @4 c$ {" @5 \
; ]/ N0 v8 ]. s- y+ a
& @- |6 A+ N2 n2 X5 [
       b、stm32L432:主程序结构,协议处理,usb键盘枚举,usb按键发送,灯控。流程如下:! m0 ]6 @0 \. P2 T( X
               l432.jpg
5 k: p$ c5 F2 D5 [1 _" U   
. _5 E/ a* m# Y; t+ R    3、通信协议介绍:' `0 v6 Y4 _6 {
        目前使用的串口通信,为减少协议开销,提高按键实时性,协议由两个字节:
& J9 Q2 C! V* Q0 Q             protocol.jpg
1 Z0 |3 u' O8 V      f! M% e1 ~% A1 a
    4、灯效
# w% S6 S7 N) k4 g  W8 f
        目前实现的灯控包括:
4 e8 m* f- e/ ~+ v, c            a、全灭;% ?" g' Y. I8 y7 i. r& K
            b、全亮(可调亮度);2 I: Y! v! F. G1 G. v9 `5 b
            c、全呼吸灯(可调呼吸速度);
( c9 U' C  ]( d/ b/ R  W            d、按键对应行亮(可调亮度);

: Q& w# e# ^1 N& j* s9 Z: J
' Y  {+ ~5 ]4 s% b; i0 {
+ S. Y; ?# f; a& d' s二、硬件:

4 [- \; Y' i) z6 E    1、检测键盘引脚与主控引脚对应关系(主要包括按键行列引脚,led控制引脚,电源引脚),检测方法:万用表测导通
. O- g' z6 z- K; @3 j' _% d/ `             主控.jpg
5 L2 E7 V) Y" S
: l. |  J5 }; G8 i   2、准备usb按键对应码表一份,如下图:https://pan.baidu.com/s/1gfwnVSR
" [! F9 N4 r) B    hid.jpg : [5 l5 q; n2 ]/ ^
        
+ [- i  P/ N3 Q1 v    3,再根据引脚关系和键码表,可得出下表
0 }7 x) ~" I9 z4 B( E' H) {         映射.jpg " m" ~/ \- Y) j( h' {6 q  t
( i6 G1 n- Z# o9 c8 f0 E8 k! i
6 E. t* u7 i3 J, u
    4、拆键盘主控,用飞线大法连接蓝牙,nucleoL432等. S" G. ~0 h5 _3 Y& b
          a、键盘主控引脚飞线,40多跟。。。。。累死了/ ]/ l% e/ [8 e2 v
                  P61119-015909.jpg : j4 w! l2 \, n; l# s( E1 I
3 t' R, o: ?' M! e( Z
              b、蓝牙模块跳线部分* G, N9 Q6 M, u) e: Q% t
                   P61119-015726.jpg 2 o, o! m( ?. j& I0 _- ]$ d

, s0 [. k5 l4 [8 H( v7 L! R& U            c、nucleoL432主控板,灯控线没有连接,所以看起来线不多,图中至连接了串口和usb
. |: L) k# Y( C! O( H9 g/ t9 a                   P61119-015802.jpg
% e" h% T8 v# l& D  I1 C1 J8 f3 h9 j. h' `+ ^
     5、上电调试+ I* t- y6 |/ f' {7 U
         debug.jpg
" J: A1 O: T: ^9 j2 o6 \6 [' |* `$ X. v  f
! h: Z6 V, F$ P% Y/ X: Y  E4 e& l, S* ?/ z5 G0 p! ?5 v  D: |
至此:
7 W; k. ?5 s  ], N; y8 {- D6 R    基本功能完成,其中灯控是以行为单位。代码实现了部分灯效(nucleol432自带的灯上测试通过),没能在键盘上测试不是我不想...只因为买的灯,至今还没送到,以后再也不用申通了!!!0 }3 {5 J* @, O+ @' C6 D0 m' ^

! j  ]8 k5 S+ j4 B以下是视频演示:2 f; i) X' r( y" l3 I
    1、基于蓝牙的键盘部分
# t2 z: y4 k9 S0 Q5 m. _" F. }1 h      
& \, \& @4 i4 z5 g' h
8 e+ f7 W8 r6 s& F% h
    2、基于nucleoL432的usb键盘部分
0 W( |  l/ B: j1 q9 |        
; h9 |+ _8 P$ s, ^! Q6 c- o( ~+ F& I1 i2 d8 Q* E' f7 W
    3、基于nucleoL432的灯控部分(灯控部分更新上传)
  ?0 T! f5 L/ q$ }( J        
5 l) F* O/ b2 }- b( ~6 b0 f7 \
1 K* v; |% Y1 l3 b" d最后、不足及待完善的部分:
3 e3 k* v' N- u) Z5 d7 l4 y% x7 r    1、键盘硬件支持全键无冲,现在软件只是实现了标准usb键盘设备,最多同时发送6个按键,全键无冲部分待实现;$ w% Y, i0 k+ S
    2、灯控现在是行控制,灯效扩展空间及其有限,以后会改为行列控制模式(飞线),甚至改成rgb行列模式(重画pcb),以实现更多效果;; w5 a. V% }) e7 M
    3、当前通信方式为串口,速率过慢,虽然感觉不到按键延迟,但是按键响应越及时越好,以后接下来会将改为spi;7 l' K. b) \. C" t' D8 I
    4、电池电源管理和睡眠还没有实现,低功耗也是本次改造机械键盘的主要目的之一,待增加;% ~" U, e& N3 v9 F
    5、按键映射只做了基本按键功能,fn加按键的映射键位暂未实现;
8 w4 E: c! B% n/ _3 b; L6 l# G
    6、键盘目前是调试完善阶段,所以板子都是直接飞线裸露在外面,同时键盘也因此不能组装起来,待调试稳定之后,会为蓝牙增加ota功能,stm32L432增加串口升级固件功能,并集成到键盘外壳中。
; }6 D4 [; f0 L

- p& q; d/ T! e2 b! _2 |  `) \0 |. S- y6 E  x
nucleoL432代码(已更新): stm32_keyboard.zip (1.77 MB, 下载次数: 255)

评分

参与人数 1 ST金币 +40 收起 理由
zero99 + 40

查看全部评分

赞 收藏 5 评论34 发布时间:2016-11-19 03:30

举报

34个回答
踏平幼稚园 回答时间:2016-11-28 09:35:51
本帖最后由 踏平幼稚园 于 2016-11-28 09:41 编辑
. T4 @  O2 k4 {# H
紫宸 发表于 2016-11-25 21:08
: L2 A. ?- _1 c9 L1 r4 w! z! ]请问用的蓝牙模块的蓝牙部分在哪可以参考?
8 |. s' |, g$ Y* Y) ]: q
蓝牙部分 爱板网经验频道做过分享过经验【DA14580DEVKT-B评估板】http://jingyan.eeboard.com/article/75260  这是第一部分链接,一共7部分剩下的自己搜
9 n6 _" O( K! |; D. S4 |
踏平幼稚园 回答时间:2016-11-23 10:25:30
watershade 发表于 2016-11-22 21:28* H8 x$ E4 k5 H* p/ U8 G3 p6 s
我说呐,国内现在许多键盘都是看着就绚丽的要命。这一个看着挺适合办公用。我就比较喜欢。! U! B: Q! _( C

/ e/ n* I: C& L$ @# t. @ ...
1 a' ^) u2 ?% v7 U8 }
我也喜欢简约,对绚丽的灯效外观之类没太大兴趣   加灯只因为看着那么多没用的io口舍不得浪费
watershade 回答时间:2016-11-22 21:28:40
本帖最后由 watershade 于 2016-11-22 22:08 编辑
0 X5 @; W* r( _1 z4 Q
踏平幼稚园 发表于 2016-11-21 21:49
. R5 p* S' U' l0 V! c3 W4 O. i; Jikbc c87
( N8 q8 c! f8 I7 p" S1 I
我说呐,国内现在许多键盘都是看着就绚丽的要命。这一个看着挺适合办公用。我就比较喜欢。6 t) u' J5 h" x) p% Z% z" ~
0 |; \" Q* k+ @* g
zero99 回答时间:2016-11-19 07:21:33
感谢楼主的分享
天外流星_0 回答时间:2016-11-19 11:51:39
厉害!感谢分享
小小超 回答时间:2016-11-19 14:08:21
+ `+ F- F( s8 G. S0 R4 ^" L+ h" U
感谢楼主的分享
suoma 回答时间:2016-11-19 19:10:02
谢谢分享学习一下
踏平幼稚园 回答时间:2016-11-20 12:57:56
感谢各位支持,昨天灯到了,灯控部分已更新,基本功能全部完成了
watershade 回答时间:2016-11-21 21:38:15
这键盘你哪儿搞的?看着不错
踏平幼稚园 回答时间:2016-11-21 21:49:37
watershade 发表于 2016-11-21 21:38
: F; _' i. C4 M+ }" `这键盘你哪儿搞的?看着不错

3 t! n$ ~* s" w9 g! f: wikbc c87   
wweeww 回答时间:2016-11-22 10:44:53
就冲着飞线,赞一下
踏平幼稚园 回答时间:2016-11-22 21:16:10
wweeww 发表于 2016-11-22 10:44
' M+ A5 ]  ], t! U1 J, T/ u就冲着飞线,赞一下
% `2 A) ?4 c# O2 R
感谢 支持   
power568 回答时间:2016-11-23 13:51:01
学习了...
andypanfan 回答时间:2016-11-25 09:06:35
谢谢  分享!!!!!
紫宸 回答时间:2016-11-25 21:08:59
请问用的蓝牙模块的蓝牙部分在哪可以参考?
123下一页

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版