Machbarkeitsanalyse Port-Expander

L I V E Stammtisch ab 20:30 Uhr im Chat
  • Hallo zusammen,

    ich überlege gerade wie man einfach einen Port-Expander selbst bauen kann.

    Hintergrund ist: Für einen Arcadeautomaten (z.B. Mame) werden sehr viele IOs gebraucht.

    2x Joystick
    2x 7 Buttons
    je Spieler 1 bzw 2
    1x ESC
    1x Coins
    (Hab ich was vergessen?)

    Naja und dann will man den Pi evtl noch mit einem Button runterfahren.

    Gesteuert werden soll der Acardeautomat nur mit den joystick und den buttons. Im notfall über SSH. Einen alten 19" Monitor habe ich noch mit DVI und VGA Eingang. Das sollte mit verfügbaren Adaptern funktionieren.

    So nun zu meiner Idee. Ich hätte noch ein Atmega16. Programmierung ist für mich kein Problem. Der hat so viele IOs, dass man keine OI-Matrix benötigt. Die IOs werden in einer Schleife gepollt, dann die Ergebnisse in einen String geschrieben und über den UART (rs232) verschickt. Der Pi empfängt über die RS232 das Ergebnis der Buttons.

    Bis hierhin sollte das alles kein Problem werden, wie sage ich nun allerdings dem Pi, dass er diese Empfangen Daten mit der config von Mame verbinden soll?

    Müsste man da eine Art virtuelle Tastatur anlegen?

    Oder ist das so nicht möglich?

    Ich halte das für ein cooles bastelprojekt, bei dem auf fertige usb-platinen verzichtet werden kann.
    Kostenpunkt für den IO expander wären ein paar €uronen.

    Wäre toll, wenn jemand seine Erfahrungen posten könnte.

    Grüße

    Bratensosse


  • ....
    Wäre toll, wenn jemand seine Erfahrungen posten könnte.
    Bratensosse


    viel Text, aber deswegen einen Atmel ?

    ich würde zu pcf8574(a) greifen

    http://www.ti.com/product/pcf857…ee-0000187e69b6


    8 I/O Ports am I2C, können auch mehrere verbaut werden, 3 Adresspins reichen für 8 Bausteine

    wären 64 Bit I/O

    Die Ansteuerung ist einfach, am leichtesten geht es wenn man einen oder mehr Chips nur als Ausgänge benutzt und einen oder mehrere andere nur als Eingänge. Kein Atmel nix am Atmel zu programmieren, keine Transfers zum PI, keine Syncronisationsprobleme, alles hat der PI im Griff.

    OK wenn es aber Softwareprobleme gibt das im PI einzuproggen, dann bietet sich ein Atmel ja als virtuelle Tastatur an. Ich kenn den Arcadeteil nicht gehe davon aus das der auch über Tastatur gesteuert werden kann oder bespielt ?

    Dann bräuchte wirklich ein Atmel nur Tastatur spielen und die Tasten betätigen die an den Buttons abgerufen werden, alternativ eine Tastatur schlachten und an den Tasten Leitungen anlöten die zu den Arcade Buttons gehen.

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

    Einmal editiert, zuletzt von jar (17. März 2014 um 11:37)

  • Danke für deine Antwort.

    Auf den Atmega kam ich, da ich hier noch einige rumfliegen habe und den gerne programmiere :)

    Ich glaube zuerst muss geklärt werden wie der Arcadeteil seine die Befehle verarbeiten kann. Du hast recht, am einfachsten wäre eine alte Tastatur auszuschlachten. Das müsste auf jedenfall gehen. Dämpft aber den Bastelspaß ;)

    Grüße

    Bratensosse

  • 16xBit IO Expander I2C MCP23017 bis zu 8 verwendbar (3 Bit Adresse 0x20-0x27).
    5V via I2C Repeater (PCA9515) oder 3.3 V direkt.
    Kostenpunkt ca. 1 Euro

    UART wozu? Willst CPU Leistung sparen?
    I würde mit I2C Bus von Raspberry Pi machen - ist einfach nur was das an CPU Leistung kostet ist schwer zu sagen, hab da noch keine Daten.
    7 Buttons, 2 Joystick = 15 IOs
    Buttons + Joystick + über IC1
    Zusatz IOs direkt per GPIO oder einen weiteren IC.

    Einmal editiert, zuletzt von evil (17. März 2014 um 13:15)

Jetzt mitmachen!

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