Inhoudsopgave:

Een coole laptop-touchpad-hack voor Arduino-projecten! - Ajarnpa
Een coole laptop-touchpad-hack voor Arduino-projecten! - Ajarnpa

Video: Een coole laptop-touchpad-hack voor Arduino-projecten! - Ajarnpa

Video: Een coole laptop-touchpad-hack voor Arduino-projecten! - Ajarnpa
Video: A Cool Laptop Touchpad Hack! | Arduino PS/2 Touchpad 2024, November
Anonim
Een coole laptop-touchpad-hack voor Arduino-projecten!
Een coole laptop-touchpad-hack voor Arduino-projecten!

Een tijdje terug, toen ik aan het sleutelen was aan een PS/2-touchpad met een Arduino-microcontroller, ontdekte ik dat twee van de ingebouwde aansluitingen als digitale ingangen kunnen worden gebruikt. Laten we in deze Instructable leren hoe we de extra digitale ingangen van een PS/2-touchpad kunnen gebruiken voor gebruik in onze Arduino-projecten. Laten we beginnen!

Stap 1: Bekijk de video

Image
Image

Bekijk de video om het project beter te begrijpen, de moeilijkheden te kennen en tips te krijgen.

Stap 2: Verkrijg alle onderdelen en componenten

Krijg alle onderdelen en componenten
Krijg alle onderdelen en componenten
Krijg alle onderdelen en componenten
Krijg alle onderdelen en componenten

Voor dit project heb je nodig:

  • Een PS/2-touchpad (een Synaptics-touchpad wordt aanbevolen omdat het bekend en getest is.)
  • Een Arduino-microcontroller om te communiceren met het touchpad (UNO, Leonardo, Nano, Micro, enz.).
  • Een 5 volt gelijkstroombron.
  • Sommige mannelijke naar mannelijke jumperdraden.
  • Minstens 6 draden (voor het solderen op het touchpad of de lintkabel.)
  • Soldeerdraad.
  • Soldeerbout.
  • Soldeerflux (je kunt zonder wegkomen, maar het maakt soldeerwerk beter.)
  • Twee drukknoppen (Voor knop LED demo code.)

Een roterende encoder. (Optioneel, voor democode van roterende encoder.)

Stap 3: Download de PS2-bibliotheek voor Arduino

Download hier de ps2-bibliotheek. Verplaats de gedownloade map naar het bureaublad, omdat deze gemakkelijker te vinden is. Open de Arduino IDE en klik op Sketch>Include Library>Add. ZIP Library… en selecteer vervolgens de ps2-map op het bureaublad. De bibliotheek wordt opgenomen en u kunt nu de ps2-bibliotheek gebruiken.

Stap 4: Identificeer de soldeerpads op het touchpad

Identificeer de soldeerpads op het touchpad
Identificeer de soldeerpads op het touchpad

Controleer eerst online voor de datasheet van het touchpad met behulp van het onderdeelnummer. U moet de verbindingspads 'Clock', 'Data', 'Vcc' en 'Gnd' vinden.

Over het algemeen komen de volgende pads overeen met de respectieve pinnen:

  • 22 ~> +5 volt (Vcc)
  • 23 ~> Grond (Gnd)
  • 10 ~> Klok
  • 11 ~> Gegevens

Stap 5: Sluit de draden aan op de geïdentificeerde soldeerpads

Sluit de draden aan op de geïdentificeerde soldeerpads
Sluit de draden aan op de geïdentificeerde soldeerpads
Sluit de draden aan op de geïdentificeerde soldeerpads
Sluit de draden aan op de geïdentificeerde soldeerpads
Sluit de draden aan op de geïdentificeerde soldeerpads
Sluit de draden aan op de geïdentificeerde soldeerpads

Klik op de foto's om meer te weten.

U kunt de draden rechtstreeks op de soldeerpads solderen of een beetje verder gaan en een geschikte lintkabel aanpassen zoals op de afbeelding wordt getoond om de bedrading schoner te maken. Ik heb zojuist mannelijke jumperdraden aan het touchpad bevestigd, omdat de ingebouwde lintkabelconnector groot genoeg was.

Stap 6: Programmeer de Arduino Microcontroller

Programmeer de Arduino-microcontroller met de bijgevoegde code.

Stap 7: Sluit het touchpad aan op het Arduino-bord

Sluit het touchpad aan op het Arduino-bord
Sluit het touchpad aan op het Arduino-bord
Sluit het touchpad aan op het Arduino-bord
Sluit het touchpad aan op het Arduino-bord

Neem elke draad die is aangesloten op de respectieve soldeerpads op het touchpad en maak de volgende verbindingen met het Arduino-bord:

  • 22 ~> 5V
  • 23 ~> GND
  • 10 ~> A0
  • 11 ~> A1

Stap 8: Sluit het Arduino-bord aan op de computer en open de seriële monitor

Bepaal eerst welke soldeerpads op het touchpad zijn aangesloten op de ingebouwde lintkabelconnector (zoek naar koperen sporen die de pads en de pinnen van de lintkabelconnector verbinden).

Neem een mannelijke jumperdraad en sluit een van de uiteinden aan op de 'GND'-header van het Arduino-bord. Sluit het Arduino-bord aan op de computer en zet de seriële monitor in de Arduino IDE aan. Als er bij het openen van de seriële monitor niets verschijnt, controleer dan of u het juiste bord hebt geselecteerd, controleer de bedradingsaansluitingen opnieuw en start het touchpad opnieuw door de +5 volt-draad van het touchpad los te koppelen en weer aan te sluiten. Als alles goed is gedaan, zou de seriële monitor een rij getallen moeten weergeven. De eerste rij met het cijfer 8 is belangrijk voor ons.

Nadat u dit allemaal hebt gedaan, sluit u de losse jumperdraad aan op elk van de soldeerpunten, waarschijnlijk tussen 2 en 9, die zijn aangesloten op de lintkabelconnector. Onder deze zullen er twee pads zijn die bij aanraking met de losse jumperdraad ervoor zorgen dat het nummer op de seriële monitor verandert van 8 in 9 of 10. Dit zijn de soldeerpads waarnaar we op zoek zijn. Label de pad die het nummer verandert in 9 als 'InA' en degene die het nummer verandert in 'InB'. Het touchpad dat ik gebruikte had de pads 6 en 7 die de verandering in het nummer op de seriële monitor veroorzaakten.

Controleer nog een ding, als u beide soldeerpads tegelijkertijd op GND aansluit, verandert het nummer op de seriële monitor in 11.

Stap 9: Sluit extra draden aan op het touchpad

Sluit extra draden aan op het touchpad
Sluit extra draden aan op het touchpad

Soldeer elk een draad op de soldeerpads die in de vorige stap zijn geïdentificeerd. Als u een aangepaste lintkabel gebruikte, zoek dan uit welke pin van de kabelconnector is aangesloten op de vereiste soldeerpads en bevestig de draden op de overeenkomstige geleiders van de lintkabel.

Stap 10: Programmeer de Arduino-microcontroller met de democode

De volgende code gebruikt de twee extra pinnen van het touchpad die we eerder hebben ontdekt als digitale ingangen, elk verbonden met een aardingspin via een drukknop.

Stap 11: Test de installatie

Image
Image

Na het programmeren van de Arduino-microcontroller, verbind de pad 'A' met GND kort met een draad of een drukknop, hierdoor zou de LED die is aangesloten op pin D13 van het Arduino-bord gaan branden. Doe vervolgens hetzelfde met de pad 'B', hierdoor zou de LED uitgaan.

Stap 12: een roterende encoder toevoegen

Een roterende encoder toevoegen
Een roterende encoder toevoegen

Als je deze hack gewoon wilde gebruiken om extra digitale ingangen aan je touchpad toe te voegen, dan is het klaar! Maar als u verder wilt gaan, kunt u zelfs een roterende encoder aan het touchpad toevoegen. Hier heb ik een stappenmotor als roterende encoder gebruikt.

Stap 13: Programmeer het Arduino-bord

Programmeer de microcontroller met de gegeven code om het touchpad te testen met de roterende encoder. Met de code kunnen we de helderheid aanpassen van een LED die is aangesloten op pin D9 van het Arduino-bord met behulp van de roterende encoder of door de vinger langs de x-as van het touchpad te schuiven.

Stap 14: Sluit de uitgangen van de roterende encoder aan op de digitale ingangen van het touchpad

Sluit de uitgangen van de roterende encoder aan op de digitale ingangen van het touchpad
Sluit de uitgangen van de roterende encoder aan op de digitale ingangen van het touchpad

Klik op elke foto om meer te weten.

Verbind de twee uitgangspinnen van de roterende encoder met 'InA' en 'InB' van het touchpad.

Stap 15: Sluit de Rotary Encoder en Touchpad aan op Power

Sluit de Rotary Encoder en Touchpad aan op Power
Sluit de Rotary Encoder en Touchpad aan op Power
Sluit de Rotary Encoder en Touchpad aan op Power
Sluit de Rotary Encoder en Touchpad aan op Power

Verbind de +ve-terminal van de encoder en het touchpad met de +5-volt-header van het Arduino-bord en de -ve-terminal met de 'GND'-header van het Arduino-bord.

Klik op de foto's om meer te weten.

Stap 16: Sluit de communicatiedraden van het touchpad aan op het Arduino-bord

Sluit de communicatiedraden van het touchpad aan op het Arduino-bord
Sluit de communicatiedraden van het touchpad aan op het Arduino-bord

Sluit de 'Clock'- en 'Data'-draden van het touchpad aan op de headers 'A0' en 'A1' van het Arduino-bord.

Stap 17: Sluit de setup aan op de voeding en test de encoder

Omdat de communicatie tussen de Arduino-microcontroller en het touchpad enige vertraging oplevert, kan de roterende encoder niet betrouwbaar worden bediend bij hoge snelheden.

Stap 18: Wat ga je doen?

Dus nu we weten hoe we twee extra digitale ingangen voor Arduino touchpad-projecten kunnen toevoegen, wat ga je doen met deze hack? Als je dit project hebt gemaakt, probeer het dan met de community te delen door op 'I Made It!' te klikken.

Aanbevolen: