Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

DIY Arduino USB Trackpad: Zet een Oude Laptop-Touchpad om in een Modern Invoerapparaat

Onderdelen en benodigdheden

Arduino Micro × 1

Apps en online diensten

  • Arduino IDE

Over dit project

Elke keer dat een nieuwe Raspberry Pi uitkomt, denk ik: "Ik wil er een laptop van maken" – maar een losse USB-trackpad is niet te vinden. In dit project halen we een trackpad uit een kapotte laptop en maken er een USB-apparaat van met een Arduino Pro Micro.

Stap 1: Benodigdheden

  • Trackpad uit een oude laptop
  • Arduino Micro, Pro Micro of Leonardo (alleen deze kunnen als HID – Human Interface Device – verschijnen, dus als muis/toetsenbord; een Uno kan dit niet)
  • Wat draad

Arduino Pro Micro: hier | Trackpad kopen: hier

Stap 2: Waarom werkt dit?

Meeste oudere laptop-trackpads communiceren via PS/2-interface (data- en kloklijnen). De Arduino leest deze data en zet het om naar USB-muiscommando's. Nieuwere trackpads gebruiken soms al USB – die kun je direct aansturen met de juiste pinout. Dit project richt zich op de veelvoorkomende PS/2-variant.

Stap 3: Aansluiten

Zoek 4 soldeerpads op het trackpad: T10 (data), T11 (clock), T20 (5V), en de massa-vlakte (groot metaalvlak). Soldeer voorzichtig een draadje op elk pad.

TrackpadArduino Micro
T10 (Data)Pin 10
T11 (Clock)Pin 9
T20 (5V)5V
MassaGND

Belangrijk: Zet geen druk op de soldeerpaden na het solderen – ze gaan gemakkelijk af. Dek de verbindingen af met hete lijm.

Stap 4: Libraries installeren

In Arduino IDE twee libraries toevoegen:

  • Mouse Library
  • PS/2 Library

Download, open Arduino-map → libraries → erin zetten. PS/2 leest de trackpad, Mouse zorgt voor USB-HID commando's.

Stap 5: De Code

Upload de code (onderaan). Let op: onder Tools → Board moet Arduino Micro of Leonardo staan, anders compileerfout. Na upload herstart de Arduino als HID en verschijnt als muis.

Code (thistouchpad.ino)

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

#define PS2_DATA 10
#define PS2_CLK 9

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

PS2 moose(PS2_CLK, PS2_DATA);

void setup() {
  Mouse.begin();
  // PS/2 muis initialiseren (standaard initialisatiereeks)
  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 && 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);
  }
}

Stap 6: Klaar & Probleemoplossing

Nu werkt de trackpad als USB-muis op elke computer (OS-onafhankelijk). Wil je niet solderen/programmeren? Een PS/2-naar-USB-converter bestaat, maar die kan de data verstoren. Met Arduino pas je alles aan: snelheid, dubbelklik, scrollen – zie Arduino Mouse reference.

Werkt niet? Check de achterkant van het trackpad voor een typenummer, google "typenummer pinout" voor de juiste pennen.

Vragen? Laat een reactie achter!

Productieproces

  1. Bouw een Bluetooth-gecontroleerde Raspberry Pi Robot met Audio Feedback
  2. Gebarenbestuurde RGB-tafellamp – Interactief, Handvrij Verlichten
  3. Bouw een Android-bestuurd extern voertuig met Raspberry Pi Motor Shield
  4. LED's bedienen met Alexa via Raspberry Pi – Eenvoudige stapsgewijze handleiding
  5. Een oude RC-auto ombouwen tot joystick-gestuurd voertuig met Arduino
  6. Arduino-gebaseerde 6-DoF Robotarm Gestoeerd met Wii Nunchuk
  7. Bouw een Stemgecontroleerde Robot met Arduino Nano
  8. MobBob: Bouw Je Eigen Arduino Robot, Naadloos Bestuurd via Android Smartphone
  9. Spraakgestuurde huishoudapparaten: Bluetooth-besturing met Google Assistant
  10. PiBot: De Arduino-aangedreven pianorobot voor precisiemuziek
  11. Wi-Servo: Servomotoren Besturen via Wi-Fi met een Webbrowser