Construcción de un teclado inalámbrico (preferiblemente con un kit)

Este es el proyecto que generó estas preguntas anteriores .

Me gustaría crear mi propio teclado. Funcionalmente será un teclado, pero visualmente se parecerá más a un joystick que a un teclado. (Excepto que no habrá un palo móvil; solo habrá muchos botones pequeños para que cada dedo sea responsable).

Vendría en 2 piezas (es decir, 2 cosas parecidas a un joystick). Montaría cada una de ellas en el extremo del reposabrazos de la silla de mi oficina. Me gustaría tenerlo conectado a la computadora de forma inalámbrica (ya sea por Bluetooth o cualquier otra cosa). De esa manera podría moverme libremente con mi silla y ni siquiera tener que poner mis manos en el escritorio.

Mi objetivo para esto es crear el teclado más ergonómico y eficiente del mundo. Busqué en Internet un teclado como este, pero no pude encontrar uno, solo un montón de compañías desaparecidas. (DataHand se veía bien, pero no se puede conseguir ni siquiera en eBay). Fácilmente pagaría $2,000 por un teclado como este, pero no pude encontrar uno.

También tengo la intención de usar una variedad de scripts AHK para aumentar la eficiencia; por ejemplo, permitir que las teclas acordes escriban palabras comunes, para ahorrar aún más esfuerzo.

Me gustaría señalar que soy un novato en electrónica y tengo muy poca experiencia con eso. (Soy un desarrollador de software.)


Ahora, la forma en que me he acercado a esto es comprando un teclado inalámbrico de Microsoft e intentando conectarme a sus interruptores . Pero he subestimado lo difícil que podría ser. La principal molestia con esto es que no hay un circuito separado para cerrar para cada tecla individual. Podría jugar el juego de ese teclado y crear un circuito para cada combinación de las conexiones en el teclado. Pero, si pudiera simplemente comprar un kit que solo me daría una conexión para cada tecla individual, eso haría mi vida mucho más fácil.

Alguien me indicó MaKey MaKey . Es un gran proyecto, pero (a) no tiene conexión inalámbrica incorporada, solo como un complemento que parece requerir algunos conocimientos de Arduino para usar, (b) no parece haber conexiones para todos y cada uno tecla del teclado y (c) no estoy seguro de si su enfoque de usar conmutación de alta resistencia y un promediador de ventana móvil funcionaría para un teclado con interruptores normales, en lugar de teclados operados por banana.

¿Existe algo similar a un MaKey MaKey, excepto que no tenga los problemas anteriores?

¡También agradecería cualquier otra sugerencia e idea relacionada con este proyecto! ¡Gracias!

"crear el teclado más ergonómico y eficiente del mundo" es un objetivo bastante elevado para un novato en electrónica. ¿Quieres ideas para empezar? No creo que nadie te apunte hacia un kit de "teclado"... Además, dices "Funcionalmente será un teclado, pero visualmente se parecerá más a un joystick que a un teclado" y entonces "no habrá un palo móvil; solo habrá muchos botones pequeños"... parece que tienes "funcionalmente" y "visualmente" al revés.
Entonces, ¿qué pasa si el OP puede ser un novato en electrónica? Puede ser, él no es un novato en mecánica y ergonomía.
@NickAlexeev No dijo que fuera imposible, solo que era elevado.
En lugar de hacer todo lo posible desde el principio, ¿ha considerado construir un prototipo muy básico con las herramientas, los materiales y las habilidades que tiene ahora , y luego mejorarlo iterativamente?
@TheTerribleSwiftTomato Hasta cierto punto, sí.
No es inalámbrico, pero estas cosas pueden ser útiles. Le permitirían crear prototipos de los aspectos mecánicos sin tener que preocuparse mucho por la electrónica.
@fm_andreas ¡Muy bien! Lo comprobaré.
@fm_andreas Lo comprobé. Se ve muy bien, pero la falta de conexión inalámbrica es un asesino. No quiero acostumbrarme a construir algo de una manera que no sea compatible con mi objetivo final.
@fm_andreas Sin embargo, si conoce algo que sea como una versión inalámbrica del KE-USB108... ¡Cuéntemelo!

Respuestas (2)

Primero, diría que descarte el requisito inalámbrico, al menos para los primeros prototipos. Una vez que tenga un prototipo que funcione, y haya adquirido algunos conocimientos eléctricos en el camino, puede agregar la conexión inalámbrica después del hecho. Suponiendo que haya diseñado bien el firmware, debería ser bastante fácil.

Entonces, diría que el enfoque que recomendaría sería apuntar a un microcontrolador que pueda emular fácilmente un dispositivo HID.

El enfoque barato y fácil, y el que yo tomaría, es comprar un arduino leonardo . El leonardo (y el makey makey, para el caso), ambos usan un ATmega32U4, que es un microcontrolador con una interfaz USB integrada.

Dado que la interfaz USB es parte del microcontrolador, en lugar de un dispositivo independiente con un propósito específico, se puede configurar para que actúe como un HID (dispositivo de interfaz humana) arbitrario. De hecho, ya existe una librería para usar un ATmega32U4 como teclado USB .

Ahora, por último, básicamente es casi seguro que tendrá que usar una matriz de conmutación de algún tipo. Además de diseñar su propia placa de circuito, con un IC enorme (como un TQFP de 144 pines o similar), no tendrá suficientes líneas de E/S para tener una entrada dedicada para cada tecla.
Esto esta bien. Las matrices de interruptores son una práctica bien entendida, y si está realmente preocupado por el aliasing de los botones, puede agregar un diodo para cada interruptor y hacer que la placa de circuito sea incapaz de aliasing.


Por el momento, te sugiero que compres un arduino leonardo y armes un prototipo. Creo que está subestimando significativamente la complejidad mecánica de esta construcción, y tener la electrónica que necesita al menos para que el sistema se comunique con la computadora, y actuar como un teclado le permitirá comenzar a hurgar en la mecánica.

Si acepté que necesito usar una matriz de interruptores, ¿cuál es la ventaja del enfoque que sugiere sobre mi enfoque actual, que es desmontar un teclado inalámbrico de Microsoft y conectarse a sus contactos? En mi enfoque, obtengo conexión inalámbrica, no tengo que saber nada sobre la configuración de Arduinos o hacer que Windows identifique mi hardware.
@RamRachum: en ese caso, no mucho, aparte del hecho de que tiene más control sobre cómo funciona todo, y será MUCHO más fácil de depurar. Con el teclado modificado, si no funciona, será muy difícil determinar por qué no funciona. Es una caja negra.
La otra razón es que si opta por el teclado de Microsoft, no podrá usar el diseño de matriz de interruptor de tecla que utiliza.

Probablemente debería dividir este proyecto en partes más pequeñas y hacer preguntas sobre cada uno de los componentes.

La pregunta principal que parece estar haciendo aquí es sobre el módulo Bluetooth. Aunque no puedo proporcionar una recomendación de un módulo específico, puedo sugerirle que busque un módulo Bluetooth que venga con un código de ejemplo para implementar un perfil de dispositivo de interfaz humana. Este software de ejemplo debería permitir que su programa incrustado envíe información de pulsación de teclas a una PC como si fuera un teclado Bluetooth. Este enfoque le permitiría evitar tener que escribir software de controlador para la computadora a la que está conectando su dispositivo.