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

Arduino bestuurd USB-trackpad

Componenten en benodigdheden

Arduino Micro
× 1

Apps en online services

Arduino IDE

Over dit project

Elke keer als er een nieuwe Raspberry Pi uitkomt, kijk ik naar de specificaties en denk ik bij mezelf:"Daar wil ik echt een laptop van maken", maar er doet zich altijd een probleem voor en dat is dat ik nooit een stand-alone USB-trackpad kan vinden voor de laptop. Dus in dit project zullen we een trackpad redden van een oude kapotte laptop en deze converteren naar een USB-apparaat met behulp van een Arduino Pro Micro.

Stap 1:Onderdelen

De onderdelen die nodig zijn voor dit project zijn heel eenvoudig, we hebben een trackpad nodig van een oude laptop, een Arduino-micro en wat draad. Helaas zijn er maar een paar smaken van Arduino die we kunnen gebruiken, dit zijn de Arduino micro, pro micro en Leonardo, omdat deze kunnen worden geprogrammeerd om te verschijnen als HID's (human interface devices), wat betekent dat ze op de computer kunnen verschijnen als een muis of toetsenbord. Dit is iets wat de Arduino Uno niet kan. Je kunt de Arduino pro micro hier krijgen:hier Wat betreft het trackpad, als je er liever een koopt, kun je deze hier vinden:hier

Stap 2:Waarom werkt dit

Dus de reden dat we een trackpad met een Arduino kunnen koppelen, is omdat de trackpads van de meeste oudere laptops met de computer communiceren via een PS/2-interface, wat betekent dat het trackpadcircuit PS/2-uitgangen heeft die gegevens en klok zijn, deze gegevens worden vervolgens gelezen door de Arduino en omgezet in gegevens die via de USB-interface naar de computer kunnen worden verzonden. Nu moet ik opmerken dat niet alle laptop-trackpads hetzelfde zijn, vrijwel alle oudere laptops gebruiken een PS/2-interface, maar sommige nieuwere gebruiken een USB-interface in plaats van de PS/2-interface. Als het je lukt om een ​​van deze USB-trackpads te vinden in plaats van de PS/2-trackpad, kun je gewoon de naam van het trackpad googlen en de USB-pinout vinden en deze op een USB-computer aansluiten en het zal werken. Voor dit project zullen we echter het meer gebruikelijke PS/2-trackpad gebruiken en een Arduino gebruiken om er een USB-muis van te maken.

Stap 3:Bedrading

De bedrading voor dit project is vrij eenvoudig, we hoeven alleen maar 4 soldeerpads op ons trackpad te vinden. Deze zijn vrij gemakkelijk te vinden omdat ze zijn gelabeld T10 (data), T11 (klok) en T20 en de aardverbinding is slechts een groot zichtbaar metalen vlak. We moeten zorgvuldig een draad aan elk van deze pads solderen en ze vervolgens verbinden met hun overeenkomstige Arduino-pinnen.

  • T10 maakt verbinding met pin 10 op de Arduino-micro
  • T11 maakt verbinding met pin 9 op de Arduino-micro
  • T20 maakt verbinding met 5v op de Arduino-micro
  • Het grondvlak maakt verbinding met aarde op de Arduino-micro

Nadat je draden aan de pads op het trackpad hebt gesoldeerd, is het van cruciaal belang dat je geen druk uitoefent op deze pads, zelfs de geringste druk op de pads kan ze volledig losmaken en je trackpad onbruikbaar maken. Het is het beste om je verbinding te bedekken met hete lijm nadat je hem hebt gesoldeerd.

Stap 4:Sommige bibliotheken installeren

Voor dit project moeten we twee bibliotheken in de Arduino IDE installeren, deze bibliotheken zijn:

  • Muisbibliotheek:hier
  • PS/2-bibliotheek:hier

Download ze, open het bibliotheekbestand van je Arduino IDE en zet ze erin. De PS/2-bibliotheek wordt gebruikt om de gegevens van het trackpad te krijgen en de muisbibliotheek stelt ons in staat om die gegevens te gebruiken en om te zetten in muisopdrachten die de computer kan lezen de USB-poort.

Stap 5:De code

Nu we de bibliotheken hebben geïnstalleerd, kunnen we onze code uploaden naar de Arduino, de code kan hieronder worden gevonden, maar ik moet er rekening mee houden dat de code niet kan worden geüpload of gecompileerd, tenzij het bord dat is geselecteerd onder tools de Arduino micro of Leonardo is, dus bewaar die in Let op als u een foutmelding krijgt tijdens het compileren van de code. Zodra de code is geüpload, moet de Arduino opnieuw opstarten als een HID-apparaat en op de computer verschijnen als een muis.

thistouchpad.ino

Stap 6:Voltooien en problemen oplossen

Dus als je nu het touchpad aanraakt, zou je wat beweging op je scherm moeten krijgen en aangezien de Arduino fungeert als een USB-apparaat, kun je hem op elke computer aansluiten en hij zal onmiddellijk opstarten als een USB-muis, ongeacht het besturingssysteem of computertype . Als je het proces van het programmeren en bedraden van de Arduino niet wilt doorlopen, kun je gewoon een PS / 2 naar USB-converter kopen, maar ik zou dit niet aanbevelen, omdat ik heb gelezen dat dit rotzooit met de gegevens die van het trackpad en kan het onbruikbaar maken plus door een Arduino te gebruiken kunnen we alles over de muis volledig naar onze voorkeur aanpassen, zoals de snelheid van de muis en wat acties zoals dubbel tikken en scrollen doen, informatie over hoe je de jouwe volledig kunt aanpassen is te vinden op de Arduino-muispagina Hier.

Als uw trackpad geen gegevens terugstuurt, kan dit een gemakkelijke oplossing zijn, kijk eens op de achterkant van het trackpad en probeer een onderdeelnummer te vinden. U kunt dit onderdeelnummer vervolgens googlen met het woord pinout en het zou u moeten laten zien waar de gegevens , klok en 5-volt pinnen zijn.

Heel erg bedankt voor het lezen zoals altijd. Als je vragen hebt, laat ze dan achter in de reacties en ik zal mijn best doen om contact met je op te nemen.

Code

  • Code
CodeArduino
plak in arduino ide
#include #include #define PS2_DATA 10#define PS2_CLK 9byte mstat1;byte mstat2;byte mxy;byte mx; byte mijn; byte mz; int msval[2];int repeatCnt;PS2 eland(PS2_CLK, PS2_DATA); void setup() { Mouse.begin(); eland.schrijven(0xff); eland.lezen(); eland.lezen(); eland.lezen(); eland.schrijven(0xf0); eland.lezen(); vertraging Microseconden (100); eland.schrijven(0xe8); eland.lezen(); eland.schrijven(0x03); eland.lezen(); eland.schrijven(0xe8); eland.lezen(); eland.schrijven(0x00); eland.lezen(); eland.schrijven(0xe8); eland.lezen(); eland.schrijven(0x01); eland.lezen(); eland.schrijven(0xe8); eland.lezen(); eland.schrijven(0x00); eland.lezen(); eland.schrijven(0xf3); eland.lezen(); eland.schrijven (0x14); eland.lezen(); Serial.begin(9600);}void ms_read(){moose.write(0xeb); eland.lezen(); mstat1 =eland.lezen(); mxy =eland.lezen(); mz =eland.lezen(); mstat2 =eland.lezen(); mx =eland.lezen(); mijn =eland.lezen(); msval[0] =(((mstat2 &0x10) <<8) | ((mxy &0x0F) <<8) | mx ); msval[1] =(((mstat2 &0x20) <<7) | ((mxy &0xF0) <<4) | mijn); msval[2] =int(mz);}void loop() {ms_read(); if (msval[0]> 0 en msval[2]> 10) { repeatCnt++; } anders { herhaalCnt =0; } if (repeatCnt> 2) { msval[0] =map(msval[0], 580, 5164, -1023, 1023); msval[1] =kaart(msval[1], 1120, 5967, 1023, -1023); Mouse.move(msval[0]/200,msval[1]/200); }}

Productieproces

  1. Raspberry Pi-robot bestuurd via Bluetooth
  2. Gebaargestuurde interactieve tafellamp
  3. Android bestuurd speelgoed met Raspberry Motor Shield
  4. Alexa gestuurde LED's via Raspberry Pi
  5. Met joystick bestuurde RC-auto
  6. Nunchuk-gestuurde robotarm (met Arduino)
  7. Spraakgestuurde robot
  8. MobBob:doe-het-zelf Arduino-robot bestuurd door Android-smartphone
  9. Bluetooth spraakgestuurde apparaten met OK Google
  10. Arduino-gestuurde pianorobot:PiBot
  11. Wi-Servo:Wi-Fi Browser gestuurde servomotoren