精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于MM32F0160微控制器的機械鍵盤

靈動MM32MCU ? 來源:靈動MM32MCU ? 2023-04-21 09:11 ? 次閱讀

引言

最近,為了配合新品推廣,靈動的軟件與系統工程SE團隊,基于帶有 USB 外設模塊的 MM32F0160 微控制器,實現了一套低成本帶RGB燈效的機械鍵盤。這里將設計機械鍵盤的全過程開源出來,感興趣的開發者,可以向靈動申請 MM32F0160 微控制器的樣片,復刻一把自己專屬的機械鍵盤,也可以繼續進行二次開發,實現更加有趣的作品。

一些機械設計工作

首先需要選擇將要設計機械鍵盤的配列,也就是按鍵的布局。這里選用了對程序員最友好的87鍵配列。使用“鍵盤布局編輯器”(http://www.keyboard-layout-editor.com/)可以導入標準的配列布局。如圖1所示。

7d35fc92-df6c-11ed-bfe3-dac502259ad0.png

圖1 keyboard-layer-editor在線編輯器

這里可以選擇標準104鍵配列,再刪除右側小鍵盤的區域,得到標準87鍵配列的方案,如圖2所示。

7d49f724-df6c-11ed-bfe3-dac502259ad0.png

圖2 使用keyboard-layer-editor設計標準87鍵配列

然后,復制Raw data中的代碼,到“定位板在線編輯器”(http://builder.swillkb.com/)中,如圖3所示。

7d548fe0-df6c-11ed-bfe3-dac502259ad0.png

圖3定位板在線編輯器

此時,點擊頁面最下方的 Draw My CAD!!! 按鈕,生成定位板的圖紙。如圖4所示。

7d69cfea-df6c-11ed-bfe3-dac502259ad0.png

圖4 生成87鍵配列的定位板

此時,在頁面的右上角選擇下載 DXF 格式的文件。這個文件可以發送給工廠,用于生產機械鍵盤的定位板。板子的厚度為1.5mm,在本案中使用了PC材料。

設計PCB

機械鍵盤的按鍵部分電路,就是普通的鍵盤矩陣,但為了避免出現“鬼影按鍵”(Ghost Key)和實現“全鍵無沖”,每個按鍵開關上都需要串聯二極管。為了在每個按鍵下放置一顆RGB彩燈實現燈效,本案使用了 WS2812 級聯的電路。

本案使用KiCAD 7.0設計了整個機械鍵盤電路系統的原理圖。

按鍵矩陣部分的電路如圖5所示。

7d7d6988-df6c-11ed-bfe3-dac502259ad0.png

圖5 按鍵矩陣原理圖

RGB彩燈矩陣部分的電路,如圖6所示。

7d99d2e4-df6c-11ed-bfe3-dac502259ad0.png

圖6 RGB彩燈矩陣原理圖

使用MM32F0160微控制器作為核心的控制電路,如圖7所示。

7dbae812-df6c-11ed-bfe3-dac502259ad0.png

圖7 基于MM32F0160的控制電路原理圖

這里還引出了擴展插座,包含了 MM32F0160 微控制器的調試信號、按鍵矩陣行列信號、RGB燈控制信號,可用于擴展更大的鍵盤配列(例如增加數字小鍵盤)。

然后將原理圖配合合適的封裝(可以在KiCAD的元件庫中找到Cherry軸的封裝),導出生成PCB文件。在PCB文件中,可以導入之前用于生產定位板的 DXF 文件,參照著定位板的位置放置按鍵和RGB燈。最終完成走線的PCB板效果圖,如圖8所示。

7ddf47ca-df6c-11ed-bfe3-dac502259ad0.png7e1c882e-df6c-11ed-bfe3-dac502259ad0.png

圖8 走線完成的機械鍵盤電路板

設計軟件

本案使用的軟件來自于靈動的軟件與系統工程SE團隊開發和維護的MindSDK軟件開發平臺,可以選擇 Mini-F0160 開發板的軟件包作為模板,下載已經適配TinyUSB協議棧的 tud_hid_keyboard 樣例工程。如圖9所示。

7e584094-df6c-11ed-bfe3-dac502259ad0.png

圖9 MindSDK中的tud_hid_keyboard樣例工程

之后再進行改裝,適配使用 GPIO 掃描按鍵矩陣,并增加 DMA+SPI 的方式控制 WS2812 燈帶的功能(可參考MindSDK中的 ws2812_spi_dma 樣例工程)。

特別注意,本案使用Keil MDK編譯生成可執行文件,除了需要安裝Keil MDK集成開發環境外,還需要開發者從靈動官網下載 MM32F0160 的設備支持包(https://www.mindmotion.com.cn/support/software/keil_pack/),以及需要準備一個適配Arm核微控制器的調試器,例如JLink或者DAPLink等。

技術資料

這里開源基于MM32F0160微控制器的機械鍵盤項目的所有資料,托管在Gitee的平臺上(https://gitee.com/suyong_yq/mechanical-keyboard-diy),如圖10所示。

7e70b124-df6c-11ed-bfe3-dac502259ad0.png

圖10 托管在Gitee上的機械鍵盤開源項目

最后,放一張第一個成品樣品的照片,如圖11所示。

7e973d1c-df6c-11ed-bfe3-dac502259ad0.gif

圖11 基于MM32F0160微控制器的機械鍵盤成品

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 微控制器
    +關注

    關注

    48

    文章

    7487

    瀏覽量

    151042
  • usb
    usb
    +關注

    關注

    60

    文章

    7891

    瀏覽量

    263977
  • 鍵盤
    +關注

    關注

    4

    文章

    858

    瀏覽量

    39581
  • 編輯器
    +關注

    關注

    1

    文章

    801

    瀏覽量

    31115
  • 機械鍵盤
    +關注

    關注

    1

    文章

    113

    瀏覽量

    9045

原文標題:靈動微課堂 (第252講)|開源項目:基于MM32F0160微控制器的機械鍵盤

文章出處:【微信號:MindMotion-MMCU,微信公眾號:靈動MM32MCU】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    基于MM32F5微控制器的FSMC接口外接SRAM存儲的用法

    MM32F5微控制器基于Arm STAR-MC1微控制器,最高主頻可達120MHz,集成了FPU單元和DSP擴展指令集,有不錯的算力。
    發表于 07-17 15:08 ?1409次閱讀
    基于<b class='flag-5'>MM32F</b>5<b class='flag-5'>微控制器</b>的FSMC接口外接SRAM存儲<b class='flag-5'>器</b>的用法

    使用MM32F0160 FlexCAN-FD接口實現CAN FD通信

    MM32F0160 系列 MCU 具有一個 FlexCAN 模塊,該模塊遵循 ISO 11898-1 標準、 CAN FD 和 CAN 2.0B 協議規范,不僅兼容傳統CAN,還支持CAN FD模式
    的頭像 發表于 12-14 16:44 ?2165次閱讀
    使用<b class='flag-5'>MM32F0160</b> FlexCAN-FD接口實現CAN FD通信

    MM32系列微控制器

    MM32系列是靈動微電子于2020年推出的新一代通用MCU平臺,旨在為客戶提供更高性能、更低功耗、更高可靠性、穩定性和健壯性的微控制器。全新MM32硬件上與經典MM32全兼容,保留了2
    發表于 09-02 08:16

    基于靈動微MM32F0130微控制器的OBD診斷儀系統參考方案

    OBD(車載自動診斷系統)是一種監控車輛運行狀態及時反饋異常的系統,主要監控汽車的發動機狀態和尾氣狀況。基于靈動微MM32F0130微控制器的OBD診斷儀系統參考方案,以MM32F0133C6P為主
    發表于 11-29 06:03

    使用低功耗微控制器鍵盤控制器

    此參考設計介紹了如何實施采用 MSP430 的低成本、高靈活性、模塊化鍵盤控制器。提供 MSP430F5529 和 MSP430G2744 的示例,包含支持性 I2C 和 USB。 微控制器
    發表于 05-10 17:07 ?2次下載
    使用低功耗<b class='flag-5'>微控制器</b>的<b class='flag-5'>鍵盤</b><b class='flag-5'>控制器</b>

    基于ARM Cortex M0的微控制器MM32F013x

    基于ARM Cortex M0的微控制器MM32F013x
    發表于 08-26 09:55 ?22次下載

    M0的32位微控制器MM32F0020的多種應用場合

    靈動微MM32F0020使用高性能的Arm?Cortex?-M0為內核的32位微控制器,ARM?Cortex?-M0是一個32位RISC處理,提供最先進的代碼效率,非常適合小內存大小的微控制
    發表于 01-07 16:42 ?644次閱讀

    靈動股份全新MM32F0160系列MCU發布

    靈動股份發布全新MM32F0160 系列 MCU,其搭載 72MHz Arm Cortex-M0 處理,內置 128KB Flash,16KB RAM,配備高速 ADC、USB、CAN-FD
    的頭像 發表于 12-20 13:55 ?725次閱讀

    MM32F0160 產品手冊(中文版)

    MM32F0160 產品手冊(中文版)
    發表于 02-22 18:50 ?0次下載
    <b class='flag-5'>MM32F0160</b> 產品手冊(中文版)

    MM32F0160 產品手冊(英文版)

    MM32F0160 產品手冊(英文版)
    發表于 02-22 18:51 ?0次下載
    <b class='flag-5'>MM32F0160</b> 產品手冊(英文版)

    MM32F0160 用戶手冊(中文版)

    MM32F0160 用戶手冊(中文版)
    發表于 02-22 18:51 ?0次下載
    <b class='flag-5'>MM32F0160</b> 用戶手冊(中文版)

    MM32F0160 用戶手冊(英文版)

    MM32F0160 用戶手冊(英文版)
    發表于 02-22 18:52 ?0次下載
    <b class='flag-5'>MM32F0160</b> 用戶手冊(英文版)

    如何通過Mini-F0160開發板實現USB轉三路虛擬串口功能?

    Mini-F0160 開發板搭載 MM32F0160 ,產品內嵌 1 個 USB 控制器,內置 USB PHY,兼容 USB 2.0 全速規范,提供最高 12 Mbps 數據速率,支持設備模式,USB
    的頭像 發表于 05-06 15:45 ?771次閱讀
    如何通過Mini-<b class='flag-5'>F0160</b>開發板實現USB轉三路虛擬串口功能?

    基于ATmega328P微控制器的Ardu鍵盤

    電子發燒友網站提供《基于ATmega328P微控制器的Ardu鍵盤.zip》資料免費下載
    發表于 06-19 14:47 ?4次下載
    基于ATmega328P<b class='flag-5'>微控制器</b>的Ardu<b class='flag-5'>鍵盤</b>

    使用MSP430微控制器的USB鍵盤

    電子發燒友網站提供《使用MSP430微控制器的USB鍵盤.pdf》資料免費下載
    發表于 10-18 10:35 ?0次下載
    使用MSP430<b class='flag-5'>微控制器</b>的USB<b class='flag-5'>鍵盤</b>