Coder Social home page Coder Social logo

programable-keyboard's Introduction

自定义宏键盘 Programable-keyboard

这是一个4x4的全键自定义宏键盘

This is a 4x4 full-key custom macro keyboard

Engish vision in part 2


可实现功能

如上文所述 这是一个16键的自定义宏键盘
每个按键最大实现42行宏定义
以及带有一个滚轮 两个方向模拟了两个不同按键 同样支持最大42行宏定义

使用材料

主控板 x1
本来想用arduino实现的 但是我发现了这个好东西
https://item.taobao.com/item.htm?spm=a1z10.1-c.w4004-15650377400.5.524dda783n9xmD&id=548316293212
这是使用的键盘主控 带有上位机 不需要改代码就能编辑宏
MX键轴 x16
键帽 x16
定制pcb x1 设计文件和Gerber文件在files里

可选部分

这是提供滚轮功能的材料
不影响键盘部分工作 因此作为可选材料
机械式编码器 x1
光电式当然更好 不过我提供的源码是针对机械式编码器的
arduino promini x1
任何arduino都能工作 这里由于体积限制使用了promini
1kΩ 贴片电阻 封装0603 x6
9013 贴片三极管 封装sot-23 x3
这两个部分是为了配合arduino实现短接主控板C/R控制脚 具体原理图在files/encoder/encoder.pdf
代码在flies/encoder/encoder.ino

外观&安装

外壳采用3d打印方式加工
键帽我使用的是无刻键帽 再用pet贴纸打印图标黏贴在上面
经过最近的使用 牢固度挺好 不易掉色 是可选的键帽标识方案
由于主控板原因 没有再更换usb接口 因此使用了miniusb接口2019年了
外壳的usb开口根据miniusb尺寸设计 更换typec接口请确认尺寸是否正确

关于文件的重要解释

电路原理图在files里 展示为pdf文件
原理图通过lceda绘制 .json文件是lceda源码
提供altiumdesigner文件 但不保证完整性与正确性

pcb源码展示为files/pcb/keyboard.json
可导入lceda编辑
pcb制造Gerber文件展示在files/pcb/Gerber_keyboard.zip
使用lceda绘制 生产前请使用Gerber浏览器检查要求
提供alitumdesigner文件 由lceda导出 展示为files/pcb/keyboard.pcbdoc
由于是导出文件 不确保准确性与可用性 具体参考lceda对于导出文件的解释
https://docs.lceda.cn/cn/Export/Export-Altium/index.html

打印件使用Sketchup绘制并输出stl
由于Sketchup特殊的实体密封 不保证所有切片软件&上位机不出错
打印前请检查切片结果

English vision

Functions

as its described, this is a 16-key custom macro keyboard
with maximum 42-line macro definition per key
and a wheel which can simulate two different keys, also support 42-line macro per key

Materials used

controllerboard x1 I supposed to use an arduino,but later I found some excellent stuff for this project
This is the link of the controller which is used in this project
https://item.taobao.com/item.htm?spm=a1z10.1-c.w4004-15650377400.5.524dda783n9xmD&id=548316293212
Unfortunately,I didn't find anything similiar to this on aliexpress/ebay
MX switches x16
keycap x16
custom pcb x1 the design files and Gerber files are shown in the flies/pcb floder

Optional part

this is the part which provides the wheel
it doesn't affect the normal function of the keyboard

mechanical encoder x1
photoelectric encoders are clearly better,but the sourcecode I provided is designed for a mechanical encoder
arduino pro mini x1
any arduino should work,I used promini here due to voulme limitation
1kΩ surface-mount resistor package 0603 x6
9013 surface-mount triode package sot-23 x3
this two components are usde to short the C/R pins on the controller with arduino
specific diagram are shown in the files/encoder/encoder.pdf
code is shown as files/encoder/encoder.ino

Appearance & installation

The case is 3d printed
I used none-marking keycap and then paste the icon with PET stickers
it seems to work well,and not faded during the recent use
due to the controller board,the usb interface is still a mini-usb
and the case was designed to fit the mini-usb controller
please check the size if you swap the interface to a typec connector

Important explainations of the files

the circuit diagrams are shown as .pdf files in the\files folder
diagrams are drew using LCEDA also known as easyeda worldwide
the .json files are LCEDA source codes which allows import and reedit

the PCB is created via lceda
sourcecodes are shown as files/pcb/keyboard.json
also allows import and reedit
PCB Gerber files are shown as files/pcb/Gerber_keyboard.zip
its created via lceda, please check with Gerber broswer before production
Alitumdesigner files are provided, shown as files/pcb/keyboard.pcbdoc
but they are exported by lceda,so the accuracy is unknown
for more information,see the link below about lceda's exported files
https://docs.lceda.cn/en/Export/Export-Altium/index.html

the 3d print .stl files are created via Sketchup
due to the special solid sealing of Sketchup
there might be small problems while using different slicing softwares (it works fine with cura)
double check your slicing software before print

programable-keyboard's People

Contributors

asderv22 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.