Maussimulator mit PSoC
von
am 29.07.2011 um 12:02 (3606 Hits)
Heyho,
da ich im Moment sehr viel mit Arbeit beschäftigt bin komme ich leider nicht mehr soviel zum Basteln .
Naja nichts desto trotz finde ich hin und wieder doch ein bischen Zeit zum experimentieren und im moment versuche ich das CapSense Modul des PSoCs ans laufen zu kriegen......aber das klappt leider nicht so richtig, da der PSoC keinen Tastendruck erkennt. Ich hab leider keine Ahnung wo ich da mit der Fehlersuche anfangen soll, da der Bereich CapSense Neuland für mich ist.
Aber wenn mal wieder ein wenig Geld über ist werde ich mir ein CapSense - Kit zulegen um mich dann nochmal intensiver damit zu beschäftigen.
Das wird dann wahrscheinlich dieses hier sein:
-> http://de.farnell.com/cypress-semico...ons/dp/1601047
Naja da ich gestern Abend keine Lust hatte weiter einen aussichtslosen Kampf mit den Mysterien des CapSense Moduls zu bestreiten hab ich mich beschlossen was anderes auszuprobieren. Herausgekommen ist eine "PSoC-Maus".
Der Chip den ich verwende besitzt die Möglichkeit USB-Protokolle umzusetzen. Entweder USB -> UART oder ein USB-HID Protokoll (wie es für Mäuse, Tastaturen, Headsets, usw. verwendet wird).
Dieses Modul bindet man einfach in das Programm ein und über den Befehl
USBFS_LoadInEP(1, abMouseData, 3, USB_TOGGLE);
wird der Endpunktspeicher des Computers mit Daten gefüttert. So kann man den Mauszeiger bewegen. Die Geschwindigkeit und die Richtung des Mauszeigers steuert man über einen Wert von 0-255.
Mit dem Befehl "abMouseData[]" legt man fest in welche Richtung der Cursor sich bewegt oder ob Maustasten gedrückt werden. So ergibt z.B. diese Kombination:
abMouseData[1] = 247;
abMouseData[2] = 247;
eine Cursorbewegung in die oberste linke Ecke des Bildschirms und und
abMouseData[1] = 8;
abMouseData[2] = 8;
eine Cursorbewegung in die rechte unterste Ecke des Bildschirmes.
Das Programm lässt also den Mauszeiger also im 1 Sekunden Takt von oben Links nach unten Rechts flitzen
Den PGA und den ADC könnt ihr ruhig ignorieren....die sind noch von einer anderen Idee wo ich mir einen analogen Joystick bauen wollte.....
Hier sind noch zwei Links zu dem USB Modul:
USB-UART:
http://www.cypress.com/?docID=27534
USB-Device:
http://www.cypress.com/?docID=24676
In dem zweiten PDF sieht man dann auch das Mausprogramm in seiner Ursprungsform nur das war mir zu doof deswegen hab ich es leicht umgeändert
Das Ding ist auch ein guter Geck um den Lehrer in der Schule zu verwirren, weil um diesen Maussimulator am PC betreiben zu können muss man ihn nur per USB anschließen. Der PSoC installiert sich dann automatisch als HID-Interface, wodurch man das Ding auch auf Rechnern benutzen kann auch wenn man auf diesem Rechner keine Installationsrechte hat .
Mal gucken ob ich am Wochenende auch einen Tastatursimulator programmiert bekomme
So und hier nochmal ein paar Grundlagen zum Thema USB und Endpunkte:
http://www.sprut.de/electronic/interfaces/usb/usb.htm
Viel Spass beim Lesen und falls fragen sind ruhig fragen. Und wenn ihr es ausprobieren wollt schreibt mir eine PM mit eurer E-Mail Adresse dann sende ich euch das Programm, da ich es hier nicht hochladen kann, da eine Zip-Datei anscheinend nur 500kB groß sein darf und das Programm 600 groß ist -.- . Anschließend braucht ihr nur noch einen PSoC mit eingebautem USB-Interface, weil nicht alle PSoCs besitzen so eins, eine USB Buchse und einen Programmieranschluss. Versorgt wird der Chip über USB und den Rest macht der Chip. Das Mainfile als Textdatei könnt ihr euch hier anschauen.
Bis dahin
Daniel