本网页已闲置超过3分钟,按键盘任意键或点击空白处,即可回到网页

DIY用于触摸屏的开源无障碍键盘

发布时间:2021-08-09
分享到:

DIY用于触摸屏的开源无障碍键盘

发布时间:2021-08-09
分享到:

该项目主要介绍K-Ability一种可适用触摸屏的无障碍键盘

K-Ability 是一种物理键盘,允许对患有导致神经肌肉疾病的病理的个人使用触摸屏设备。

有许多辅助工具可以帮助患有神经肌肉病变的人使用计算机设备,但它们很昂贵,而且大多数辅助工具不允许在移动设备上进行复杂的触摸屏手势(滑动、双击、拖放)。

K-Ability V1 旨在创造一种自行生产的廉价设备(不到 20 欧元),让患有震颤、痉挛和更普遍的控制和神经肌肉协调问题的人能够以合理的价格使用移动设备和计算机。

K-Ability 由 7 个按钮和一个小的 oled 屏幕组成。

同时引入了几项新功能,增加了舒适度和易用性:

  • 用电容按钮代替物理按钮
  • HID 蓝牙连接到主设备(智能手机、平板电脑和计算机)
  • 可以从移动电源或外部电池供电
  • 创建定制设计的可能性

第 1 步:补给清单

材料

  • Arduino Nano 
  • HC-05
  • Oled 显示器 6pin 
  • MPR121 电容式触摸传感器控制器
  • 电阻器
  • 电缆
  • 面包板

工具

  • FTDI 串行适配器

第 2 步:将 HC-05 变成 HID 蓝牙设备

L'RN-42 是一种蓝牙模块,其作用类似于无线键盘或鼠标。

由于高成本和运输时间,我选择破解常见且便宜的 HC-05,这要归功于 Brian 编写的这个简单有效的指南:

https://www.instructables.com/id/Upgrade-Your-3-Bl ...

该程序非常简单,您只需要一个 FTDI 板和一些可直接从指南下载的软件。

在程序结束时,您的 HC-05 模块将能够以与 RN-42 和任何其他 HID 蓝牙模块类似的方式运行。

第 3 步:电路

该电路在此配置中使用 9 gpio:

  • D02 > HC-05 TX
  • D03 > HC-05 RX
  • D04 > HC-05 STATE
  • D08 > 显示 RES
  • D09 > 显示 DC
  • D11 > 显示 SDA
  • D13 > 显示 SCL
  • A4 > MPR121 SDA
  • A5 > MPR121 SCL

请注意,MPR121 模块由 3.3V 和 HC-05 分压器的 2 个电阻供电。

第 4 步:框架

所描述的项目没有真正的固定框架,因为每种病理都需要专用的形状、尺寸和材料。

在本指南中,我制作了一个简单的纸板框架,以展示使用任何形状和材料的身体的可能性。

确保机身结构最简单的一个基本部分是它没有触觉按钮。

借助 MPR121 模块,电容式按键的使用确保了 7 个输入,只需将电缆或任何其他导电材料连接到模块的引脚,即可进行键盘布局并创建框架和按钮任何尺寸都非常简单。

KA_prototipo.ai

第 5 步:固件

首先我们需要一些代码:

用于 SSD1306 OLED 显示器的纯文本 Arduino 库
Adafruit MPR121 库
SPI
软件串行

移动鼠标光标的命令通过具有“写入”功能的软件串行库发送。

每个命令由一个 7 字节的缓冲区组成,结构如下:

缓冲区[0] = 0xFD;
缓冲区[1] = 0x05;
缓冲区[2] = 0x02;
缓冲区[3] = 0x00;//按钮
缓冲区[4] = 0x00; //X 移动
缓冲区[5] = 0x00; //Y 移动
缓冲区[6] = 0x00; //车轮

对于这个项目,我选择了“仅文本”,因为它仅使用 2928 字节 (9%) 的程序存储空间和全局变量使用 54 字节 (2%) 的动态内存。

每个命令由一个 7 字节的缓冲区组成,结构如下:

缓冲区[0] = 0xFD;
缓冲区[1] = 0x05;
缓冲区[2] = 0x02;
缓冲区[3] = 0x00;//按钮
缓冲区[4] = 0x00; //X 移动
缓冲区[5] = 0x00; //Y 移动
缓冲区[6] = 0x00; //车轮

对于这个项目,我选择了“仅文本”,因为它仅使用 2928 字节 (9%) 的程序存储空间和全局变量使用 54 字节 (2%) 的动态内存。

视频演示:

 

加入微信技术交流群

技术交流,职业进阶

关注与非网服务号

获取电子工程师福利

加入电路城 QQ 交流群

与技术大牛交朋友

讨论