0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何使用Arduino制作ThinkPad键盘USB适配器

454398 来源:wv 2019-10-25 09:53 次阅读

步骤1:获取插座

如何使用Arduino制作ThinkPad键盘USB适配器

部分,即。对适配器板进行编程和设计,您需要找到一种将键盘连接到PCB的方法。

大多数经典的ThinkPad键盘都使用板对板连接器。根据eBay的说法,如果您搜索T60键盘,则会发现ThinkPad T60,T60p,Z61p,Z61t,Z60,T61,R400,R500,T400,T500,X41 。..共享相同的键盘,并且它们的键盘矩阵也可能

从互联网上浮动的ThinkPad T60的示意图中(参见图片),我发现T60使用JAE AA01B-S040VA1-R3000。由于这些产品是专有产品,因此没有多少供应商出售它们。多数确实出售这些产品的人,其最低订购量为100。每件产品的价格约为4.90美元,加上运费,价格非常昂贵。因此,如果您有兴趣获得这些信息,请给我发消息。

有关ThinkPad T60插座的更多信息,请查看Felix的照片和尺寸:http://electronics.stackexchange.com/questions/64112/how找到用于键盘连接器的插座

步骤2:使用键盘示意图

从上一步的示意图中可以看出,T60键盘矩阵使用8行16列,其中1个用于热键(FN),TrackPoint使用时钟线,数据线和复位线。总共需要28个数字引脚,而Arduino Micro/Leonardo只有20个数字引脚。

使用CD4017这样的十进制计数器在行中循环,并使用MCP23S17等SPI 16位输入IC进行读取。输入为16列,Arduino端的引脚总数减少到10行。

通常,键盘矩阵是被动的-它们不指定行或列必须是输入还是输出。但是,对于该项目,16列输出将需要更多的外部IC,无源元件,并使设计复杂化。因此,我选择了8个输出和16个输入。

到目前为止,零件清单已经到了:

Arduino Micro:官方模块〜32美元,13美元用于克隆(在eBay上克隆)

CD4017

MCP23S17

16 x 10k电阻作为MCP23S17

的上拉电阻Arduino安装板和插座板(接下来的几个步骤)

AA01B-S040VA1插座

在https://www.tindie.com/products/rampadc/arduino-thinkpad获取该套件-usb-keyboard-adapter/

步骤3:设计原理图和PCB

由于T60的插座是间距为0.5mm的表面安装组件,因此我决定将SMD用于其他组件。

在此项目中,我决定将该板分成两块板:

Arduino Micro安装板

带有电阻和支持IC的插座板。

这可以使将来的主板修订版更具模块化,并且从长远来看可能会更便宜。例如,如果我决定添加蓝牙连接,则不再需要使用Arduino Micro的USB功能。我可以改用Arduino Nano,而只需要在Arduino一侧设计PCB,就可以清楚地知道我的插座板将以相同的方式工作,无论我决定使用哪种微控制器

我提供了以下示例我的Elecrow的PCB布局,原理图和预制板。板子是双面的,适合50x50mm。

第4步:编写代码!

该项目非常简单,足以与Arduino庞大的社区进行编码。我写了一个简短的草图。该代码可在GitHub上找到:https://github.com/rampadc/arduino-thinkpadkb-usb。

该代码可以使用一些优化来加速矩阵扫描。从代码中删除了FN + NumLock功能,键盘键和自定义键盘组合功能,因为它显着降低了扫描速度。

步骤5:结果和结论

Arduino平台使构建USB适配器非常容易。但是,它有一些严重的缺点:

•有限的键码支持:没有键盘键,打印屏幕,滚动锁定,暂停,中断等的定义。•Keyboard.press()和Keyboard.release()的笨拙实现。 )。 Arduino API不会接受和发送未经修改的键码,而是强制用户发送可打印的字符。

•无远程唤醒:如果计算机进入待机状态,则按键盘上的某个键或移动鼠标都不会将其唤醒。

•引脚数少

•慢。可以进行代码优化和改进,但是使用Arduino从直接端口操纵中提取的东西会大大增加延迟,增加低引脚数,迫使用户使用扩展IC进一步降低了速度。

出于测试目的,我使用跨接电缆将两块板连接在一起。对于最终产品,我将使用一些细得多的电线直接焊接到板上并在键盘下方运行。

这是操作键盘的视频:http://youtu.be/gDHS0D_EtOc

设计建议改进和代码优化!

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 适配器
    +关注

    关注

    8

    文章

    1951

    浏览量

    67996
  • 键盘
    +关注

    关注

    4

    文章

    859

    浏览量

    39645
  • Arduino
    +关注

    关注

    188

    文章

    6468

    浏览量

    186939
收藏 人收藏

    评论

    相关推荐

    使用UCC28704EVM-724 10W USB适配器

    电子发烧友网站提供《使用UCC28704EVM-724 10W USB适配器.pdf》资料免费下载
    发表于 12-07 13:57 0次下载
    使用UCC28704EVM-724 10W <b class='flag-5'>USB</b><b class='flag-5'>适配器</b>

    USB接口适配器评估模块用户指南

    电子发烧友网站提供《USB接口适配器评估模块用户指南.pdf》资料免费下载
    发表于 11-20 11:49 0次下载
    <b class='flag-5'>USB</b>接口<b class='flag-5'>适配器</b>评估模块用户指南

    电脑红外适配器有哪些

    红外适配器,又称红外线收发器或红外通信模块,是利用红外线技术进行数据传输的硬件设备。它通常被设计为外置型产品,通过特定的接口(如USB)与电脑连接。当电脑需要与其他支持红外通信的设备(如手机、打印机、遥控器等)
    的头像 发表于 10-14 10:56 247次阅读

    红外适配器驱动怎么安装

    红外适配器驱动安装指南 1. 了解红外适配器 红外适配器是一种硬件设备,它允许计算机或其他设备通过红外信号与遥控器、打印机、手机等进行通信。在安装驱动之前,确保您的计算机支持红外通信,并且您拥有正确
    的头像 发表于 10-14 10:47 265次阅读

    适配器和光纤跳线怎么接

    适配器和光纤跳线的连接方式主要取决于具体的设备和应用场景。以下是一些常见的连接步骤和注意事项: 一、直接连接 识别接口:首先,确认光纤跳线和适配器上的接口类型是否匹配。常见的光纤接口有FC、SC
    的头像 发表于 10-14 10:17 241次阅读

    电源适配器电流大小对电器影响

    电源适配器电流大小对电器的影响是一个复杂而重要的问题。 一、电源适配器的工作原理 电源适配器是一种将交流电源转换为直流电源的设备,广泛应用于各种电子设备中。电源适配器的主要功能是将输入
    的头像 发表于 08-02 09:40 3053次阅读

    适配器的电流大于原适配器可以吗

    适配器的电流大于原适配器是否可行,这是一个涉及到电子设备电源适配器使用和安全性的问题。 一、适配器的基本原理 适配器,也称为电源
    的头像 发表于 08-02 09:38 1535次阅读

    usb-c多口适配器

    面临的一大问题。在这样的背景下,Type-C多口适配器应运而生,以其高效、便捷的特点,成为了现代充电与连接的新选择 概述 Type-C多口适配器,顾名思义,是指具有多个Type-C充电接口的适配器。与传统的单一充电口相比,多口
    的头像 发表于 07-01 09:13 369次阅读
    <b class='flag-5'>usb</b>-c多口<b class='flag-5'>适配器</b>

    电源适配器坏了怎么修

    电源适配器坏了怎么修 电源适配器是电子设备中非常重要的组成部分,它负责将电源转换为设备所需的电压和电流。当电源适配器出现故障时,可能会导致设备无法正常工作。本文将详细介绍电源适配器的维
    的头像 发表于 06-10 17:13 1718次阅读

    用于NCL31010REFGEVB的Arduino适配器扩展板数据手册

    电子发烧友网站提供《用于NCL31010REFGEVB的Arduino适配器扩展板数据手册.rar》资料免费下载
    发表于 04-15 17:40 0次下载
    用于NCL31010REFGEVB的<b class='flag-5'>Arduino</b><b class='flag-5'>适配器</b>扩展板数据手册

    请问1-Wire网线如何连接USB适配器

    ADI/Maxim的 DS1402 系列1-Wire网络电缆提供与任何USB、串行或并行端口1-Wire适配器的连接。经常有客户询问DS1402如何连接USB适配器。许多客户对规格书上
    的头像 发表于 03-28 11:39 784次阅读
    请问1-Wire网线如何连接<b class='flag-5'>USB</b><b class='flag-5'>适配器</b>?

    什么是蓝牙适配器?它有哪些性能特点?

    什么是蓝牙适配器?它有哪些性能特点? 蓝牙适配器是一种用于连接电脑、手机、平板电脑等设备的蓝牙设备。它的主要功能是将没有蓝牙功能的设备与支持蓝牙功能的设备进行连接和通信。蓝牙适配器可以通过US
    的头像 发表于 02-02 14:56 3006次阅读

    什么是电源适配器的转换效率?转换效率对电源适配器有何影响?

    什么是电源适配器的转换效率?转换效率对电源适配器有何影响?如何提高电源适配器的转换效率? 电源适配器的转换效率是指它所能输出的电能与输入的电能之间的转换效率。换句话说,转换效率越高,
    的头像 发表于 01-30 16:46 1404次阅读

    什么是电源适配器的浪涌电流?浪涌电流对电源适配器有何影响?

    什么是电源适配器的浪涌电流?浪涌电流对电源适配器有何影响? 电源适配器的浪涌电流是指在电源启动或断开时,由于电源电压的突变引起的瞬态电流。这种瞬态电流瞬间达到峰值,然后逐渐衰减到稳定状态。 浪涌电流
    的头像 发表于 01-30 16:38 1591次阅读

    什么是电源适配器?是干什么用的?电源适配器可以通用吗?

    什么是电源适配器?是干什么用的?电源适配器可以通用吗? 电源适配器是一种电子设备,用于将电源电压转换为适合其他设备使用的电压。它通常由一个输入接口、一个输出接口和一个电路板组成,它可以连接到墙上
    的头像 发表于 12-29 11:28 3658次阅读