PSP Joystick an Raspberrypi

  • Hallo Mathias,

    wenn sonst keiner antwortet, probiere ich's mal - auch wenn es wieder Prügel gibt.

    Ein Datenblatt habe ich - auf die Schnelle nicht gefunden. Die Informationen Deines Links, sind dagegen widersprüchlich.

    Zum einen ist von "Analog" die Rede, andererseits werden auch Formulierungen genutzt, die im Sinne von PullUp/PullDown nur die zwei Zustände HIGH und LOW kennen.

    Ich an Deiner Stelle würde das Teil an die vorgesehene Spannungsversorgung verbinden und die Ausänge (eine geminsame Masse vorausgesetzt) an ein Digital-Multimeter anschließen. Dann würde ich an dem Joystick alle denkbaren Bewegungen durchführen und schauen, was am Multimeter passiert.

    Wenn dieses nur zwei Zustände generiert, dann kannst Du "analog" vergessen. In dem Fall ist der Anschluss an den Raspberry Pi sehr einfach. Die Ausgänge der Joystick-Karte brauchst Du nur mit irgendwelchen freien GPIOs des RPi zu verbinden und auf Eingang schalten. Der Rest (der PRogrammierung) ist dann wie bei einem Schalter.

    Sollte das Digitalmultimeter von 0,0 V bis 3,3 V alle Werte ausgeben (was ich allerdings nicht vermute), dann musst Du den Ausgang der Joystick-Karte an einen A/D-Wandler (z.B. MCP3208 oder ähnliche) anschließen. Wie dies in Icon programmiert wird, habe ich mal im Forum gezeigt. Hier im Forum gibt es aber auch Umsetzungen in C und Python.

    Halte uns mal auf dem Laufenden - je nach Ergebnis kann es ein auch für allgemeine Steuerungszwecke geeignetes Bauteil sein.

    EDIT: Was mir gerade noch einfällt. Es gab es mal sog. XY-Joysticks, die in der einen Richtung (links-rechts) Werte von 0 bis 255 und in der anderen Richtung (vor-zurück) ebensolche Werte erzeugt hatte. Ein solches Teil stellst Du Dir vor?


    Beste Grüße!

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

    Einmal editiert, zuletzt von Andreas (15. November 2015 um 11:59)

  • Andreas: ich weiss jetzt nicht wofuer du hier Pruegel bekommst, ich zumindest mag dicht nicht hauen :)

    Aber einen Hinweis erlaube ich mir: die verlinkte Dokumentation sagt sehr klar, dass es sich um einen analogen Ausgang handelt. Die beiden Achsen verhalten sich wie ein 10K-Poti, was wohl eher heissen soll, sie liefern eine analoge Ausgangspannung zwischen GND & VCC.

    Somit ist dein Hinweis, einen A/D-Wandler einzusetzen korrekt.

  • Etwas widersprüchliches konnte ich nicht finden.

    Die Aussage in der Produktbeschreibung finde ich unmissverständlich, oder habe ich da etwas übersehen?

    Zitat

    [font="Arial, Helvetica, sans-senif, SimSun, 宋体"]der Joystick ist ein" selbst- Zentrierung' analog- Typ. das bedeutet, es im Grunde wirkt wie zwei 10k potentiometer, eine für oben/unten und ein anderes für links/rechts. schließen Sie ein die vcc pin Ihre Stromversorgung( 3 oder 5v ist am besten) und die erdungsstift zu Boden. dann lesen Sie die beiden verbleibenden pins mit einem analogen pin jedes. als Joystick bewegt, die Spannung folgen die Bewegung. wenn Sie loslassen der Joystick es werden sich selbst. wir führen i/o, können Sie ganz einfach mit dupont draht Verbindung[/font]

    Bedeutet für mich: Analogausgänge mit 2 Poti a 10K als Spannungsteiler. Also Spannungen an den Ausgängen von 0 bis 3 oder 0 bis 5 Volt, je nachdem.

    Nachtrag @ --deets--

    VCC und GND sind die Eingänge der Versorgungsspannung. Ausgänge sind X - GND und Y -GND

    Einmal editiert, zuletzt von rmjspa (15. November 2015 um 12:13)

  • Hallo Mathias,

    der MCP 3002 ist annähernd baugleich zum von mir favorisierten MCP3208. Unterschied: Nur 2 Analog-Eingänge (statt 8), 10 Bit Auflösung (statt bis zu 12).

    Beste Grüße

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

    Einmal editiert, zuletzt von Andreas (15. November 2015 um 12:53)

  • Nachtrag @ --deets--

    VCC und GND sind die Eingänge der Versorgungsspannung. Ausgänge sind X - GND und Y -GND

    Ja und? Ich schreibe doch nur, dass diese Ausgaenge eine Spannung zwischen VCC und GND liefern. Ist das nicht korrekt?

  • Wieso willst du die umprogramieren? Und Fotos sind schoen, aber konkrete Produktbezeichnungen mit Datenblatt wichtiger - sonst kann man das nicht beurteilen.

  • Ok, das ding hilft nix, da nur digital. Und ob die Eingaenge des ATMEL nun netterweise auf analog umgesetzt werden koennen - das kann man so nicht sagen, da der Schaltplan fehlt. Ist aber eher unwahrscheinlich.

  • @ __deets__

    Zitat

    [font="Source Sans Pro, Tahoma, Helvetica Neue, Arial, sans-serif"]Die beiden Achsen verhalten sich wie ein 10K-Poti, was wohl eher heissen soll, sie liefern eine analoge Ausgangspannung zwischen GND & VCC.[/font]

    Nee, eben nicht. GND & VCC liefert nichts, da kommt die Versorgungsspannung dran. Ausgänge sind x und GND sowie Y und GND, aber das habe ich ja oben schon geschrieben.

  • Hallo Mathias,

    Was hält du vom MCP3008-I/P ?

    passt auch. Wie gesagt, die ganzen MCP3x0y nehmen sich da nicht viel. x=2: 12 Bit, 0=10 Bit Auflösung, y=8,4,2 oder 1 für 8, 4 oder 2 Kanäle.

    Alles andere wie Programmierung ist identisch...

    Beste Grüße

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

    Einmal editiert, zuletzt von Andreas (14. Oktober 2017 um 21:11)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!