Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Trackpad USB DIY con Arduino: Convierte un Touchpad de Portátil Viejo en Dispositivo de Entrada Moderno

Componentes y suministros

Arduino Micro × 1

Aplicaciones y servicios online

Sobre este proyecto

Cada vez que sale una nueva Raspberry Pi miro las specs y pienso "realmente quiero hacer un portátil con eso", pero siempre surge un problema: nunca encuentro un trackpad USB independiente. En este proyecto, recuperaremos un trackpad de un portátil viejo roto y lo convertiremos en dispositivo USB usando un Arduino Pro Micro.

Paso 1: Componentes

Trackpad USB DIY con Arduino: Convierte un Touchpad de Portátil Viejo en Dispositivo de Entrada Moderno

Los componentes son simples: trackpad de portátil viejo, Arduino Micro y cable. Desafortunadamente, solo podemos usar ciertos Arduino: Arduino Micro, Pro Micro y Leonardo, ya que estos pueden programarse para aparecer como HID (Human Interface Devices), es decir, como ratón o teclado. El Arduino Uno no puede hacer esto. Puedes conseguir Arduino Pro Micro aquí. Para el trackpad, si prefieres comprarlo aquí.

Paso 2: ¿Por qué funciona?

Trackpad USB DIY con Arduino: Convierte un Touchpad de Portátil Viejo en Dispositivo de Entrada Moderno

La razón por la que podemos conectar un trackpad a Arduino es que la mayoría de trackpads de portátiles antiguos se comunicaban vía interfaz PS/2, es decir, el circuito del trackpad tiene salidas PS/2: datos y reloj. El Arduino lee estos datos y los convierte en datos que puede enviar al PC por USB.

Nota importante: No todos los trackpads son iguales. Casi todos los portátiles antiguos usan PS/2, pero algunos nuevos usan USB directamente. Si encuentras uno USB, solo busca su pinout y conéctalo a USB del PC y funcionará. Para este proyecto usaremos el trackpad PS/2 más común y Arduino para convertirlo a ratón USB.

Paso 3: Cableado

Trackpad USB DIY con Arduino: Convierte un Touchpad de Portátil Viejo en Dispositivo de Entrada Moderno

El cableado es fácil: busca 4 pads de soldadura en el trackpad. Están etiquetados T10 (datos), T11 (reloj), T20 y la conexión de tierra es un plano metálico grande expuesto.

Suolda un cable a cada pad con cuidado y conéctalos a pines Arduino correspondientes:

¡Crucial! Tras soldar, no ejerzas presión sobre los pads, incluso la mínima presión puede arrancarlos e inutilizar el trackpad. Lo mejor es cubrir la conexión con pegamento caliente tras soldar.

Paso 4: Instalando librerías

Necesitas instalar dos librerías en Arduino IDE:

Descárgalas, abre carpeta libraries de Arduino IDE y muévelas allí. La librería PS/2 obtiene datos del trackpad y la librería Mouse convierte esos datos en comandos de ratón que el PC lee por USB.

Paso 5: El código

Trackpad USB DIY con Arduino: Convierte un Touchpad de Portátil Viejo en Dispositivo de Entrada Moderno

Con librerías instaladas, sube el código al Arduino. El código está abajo, pero no compilará/subirá a menos que la placa seleccionada en Herramientas sea Arduino Micro o Leonardo. Tenlo en cuenta si da error compilando. Una vez subido, Arduino debe reiniciarse como dispositivo HID y aparecer en PC como ratón.

thistouchpad.ino

Código completo

#include <Mouse.h>
#include <ps2.h>

#define PS2_DATA 10
#define PS2_CLK 9

byte mstat1;
byte mstat2;
byte mxy;
byte mx;
byte my;
byte mz;
int msval[2];
int repeatCnt;

PS2 moose(PS2_CLK, PS2_DATA);

void setup() {
  Mouse.begin();
  moose.write(0xff);
  moose.read();
  moose.read();
  moose.read();
  moose.write(0xf0);
  moose.read();
  delayMicroseconds(100);
  moose.write(0xe8);
  moose.read();
  moose.write(0x03);
  moose.read();
  moose.write(0xe8);
  moose.read();
  moose.write(0x00);
  moose.read();
  moose.write(0xe8);
  moose.read();
  moose.write(0x01);
  moose.read();
  moose.write(0xe8);
  moose.read();
  moose.write(0x00);
  moose.read();
  moose.write(0xf3);
  moose.read();
  moose.write(0x14);
  moose.read();
  Serial.begin(9600);
}

void ms_read() {
  moose.write(0xeb);
  moose.read();
  mstat1 = moose.read();
  mxy = moose.read();
  mz = moose.read();
  mstat2 = moose.read();
  mx = moose.read();
  my = moose.read();
  msval[0] = (((mstat2 & 0x10) << 8) | ((mxy & 0x0F) << 8) | mx );
  msval[1] = (((mstat2 & 0x20) << 7) | ((mxy & 0xF0) << 4) | my );
  msval[2] = int(mz);
}

void loop() {
  ms_read();
  if (msval[0] > 0 and msval[2] > 10) {
    repeatCnt++;
  } else {
    repeatCnt = 0;
  }
  if (repeatCnt > 2) {
    msval[0] = map(msval[0], 580, 5164, -1023, 1023);
    msval[1] = map(msval[1], 1120, 5967, 1023, -1023);
    Mouse.move(msval[0]/200, msval[1]/200);
  }
}

Paso 6: Finalización y solución de problemas

Ahora al tocar el touchpad deberías ver movimiento en pantalla. Como Arduino actúa como dispositivo USB, puedes enchufarlo a cualquier PC y arrancará instantáneamente como ratón USB sin importar sistema operativo o tipo de ordenador.

Si no quieres programar y cablear Arduino, podrías comprar un conversor PS/2 a USB, pero no lo recomiendo: he leído que altera los datos del trackpad y puede hacerlo inutilizable. Además, con Arduino podemos personalizar todo: velocidad, acciones de doble toque, scroll, etc. Info para personalizar en página Arduino Mouse.

Si tu trackpad no envía datos, puede ser fácil: mira detrás del trackpad y busca número de pieza. Busca en Google ese número con "pinout" y te mostrará dónde están pines datos, reloj y 5V.

¡Gracias por leer! Si tienes preguntas, déjalas en comentarios e intentaré responder.

Proceso de manufactura

  1. Construya un robot Raspberry Pi controlado por Bluetooth con retroalimentación de audio
  2. Lámpara de mesa RGB controlada por gestos – Iluminación interactiva y sin manos
  3. Vehículo Controlado por Android con Raspberry Pi, Arduino y Motor Shield: Guía Completa
  4. Controla LEDs con Alexa mediante Raspberry Pi – Guía paso a paso fácil
  5. Transforma un viejo coche RC en un vehículo controlado por joystick con Arduino
  6. Brazo Robótico de 6 Grados de Libertad Controlado por Nunchuk con Arduino
  7. Construye un robot controlado por voz con Arduino Nano
  8. MobBob: Robot Arduino Impreso en 3D, Controlado por Smartphone Android
  9. Electrodomésticos activados por voz: Control Bluetooth con Google Assistant
  10. PiBot: Robot Pianista con Arduino para Interpretación Musical de Precisión
  11. Wi-Servo: Controla servomotores por Wi‑Fi desde un navegador web