PI mit vielen Tastern verbinden, die verschiedene Zeichen auslösen

  • Hallo zusammen,


    ich möchte ein Projekt mit meinem PI und mehreren Tastern realisieren. Leider habe ich von Elektrotechnik bislang kaum Ahnung, weshalb ich auf eure Hilfe vertraue.


    Folgendes Szenario: Ich möchte mehrere Taster an den PI anschließen, mindestens 2*9 Stück. Die Taster werden in einer bestimmten Anordnung angeordnet. Bei Drücken eines Tasters soll eine Eingabe wie von einer Tastatur erfolgen, die der PI dann z.B. in einem Texteditor oder einer anderen Software wiedergibt. Insgesamt benöte ich bei 18 Tastern 6 verschiedene Zeichen. Dabei ist es egal, welche Zeichen es sind. Beispielsweise 1,2,3,q,w,e.


    Falls das zu kompliziert beschrieben ist, stellt es euch so vor: ich habe 9 Schalter an der Wand, die ich mit einem Ball bewerfe. Die 4 äußeren Schalter geben einen Punkt, 4 mittlere Schalter geben 2 Punkte und der genau in der Mitte gibt 3 Punkte. Dabei sollen dann die Punkte durch eine Software auf dem Bildschirm ausgegeben werden. Der ganze Aufbau dann zwei Mal, damit man gleichzeitig gegeneinander spielen kann.


    Meine Fragen lauten: Lässt sich sowas realisieren? Welche Hardware brauche ich dafür und wie schwer ist es sowas zusammenzubauen?


    Ich bedanke mich im Voraus für eure Hilfe.


    Gruß
    Windhundschädel

  • Daß könnte man meiner Meinung nach relativ einfach so umsetzten:


    1. eine alte USB Tastatur ausschlachten und die Taster daran anschließen
    2. per I2C Bus mit 2-3 I/O Port Expander IC


    wobei Variante 1 sich sicher am einfachsten realisieren läßt.

  • Eine Tastatur wäre wirklich das einfachste, allerdings werden meine Taster soweit auseinander liegen, dass man die Tastatur in sehr viele Einzelteile würde zerteilen müssen. Ich denke das wird nicht klappen, oder?


    Kannst du mir zeigen wie so ein I2C Bus mit I/O Port Expander IC aussieht?


  • Eine Tastatur wäre wirklich das einfachste, allerdings werden meine Taster soweit auseinander liegen, dass man die Tastatur in sehr viele Einzelteile würde zerteilen müssen. Ich denke das wird nicht klappen, oder?


    Kannst du mir zeigen wie so ein I2C Bus mit I/O Port Expander IC aussieht?


    Nicht unbedingt, bau einfach die Elektronik aus dem Keyboard aus, dann hast Du eine kleine Platine an der Du deine Taster anlöten kannst. Das Keyboard ist als Matrix aufgebaut, die genaue Beschaltung unterscheidet sich je nach Hersteller.


    zum Thema I2C kannst Du hier mal drüber lesen.



    http://books.google.de/books?i…taster%20einlesen&f=false


    http://www.mikrocontroller.net…les/Port-Expander_PCF8574

  • Danke vorerst. Ich werde es mir die Tage durchlesen.
    Zur Tastatur: Kann man die Taster dann auch mit Kabeln an die nackte Tastatur löten oder müssen die Kontakte direkt stehen?

  • Hier ist noch mehr Infomaterial zum anschauen, oben auf dem 2. Bild siehst Du die Kontakte, wo Du deine Taster anlöten kannst und wie das Ganze eigendlich funktioniert. Normalerweise wird bei den meisten Keyboards, bloß eine Folie mit den Tasten-Kontakten an die Platine mit den Controller gepresst. Die Frage wäre nur, wie weit die Taster-Trefferflächen der beiden Spieler auseinander liegen.


    http://pcbheaven.com/wikipages/How_Key_Matrices_Works/

  • Auch dafür danke.
    Die Tastenfläche der beiden Spieler wird in der Tat zu weit auseinanderliegen, als dass man mit einer einzigen Tastatur arbeiten könnte. Eine Tastatur könnte sogar schon für das Spielfeld eines Spielers zu klein sein.
    Ich werde mir mal Gedanken über den genauen Abstand der 9 Taster pro Spielfeld machen.


    Ist es denn prinzipiell möglich 18 Taster an eine Platine zu packen, wobei die Taster verschiedene Tastendrücke an den PI weitergeben?

    • Official Post

    Wenn ich fliegenhsls seinen link richtig verstanden habe, brauch man für 19 Tasten eine 5x5 Matrix welche 10 GPIOS belegen würde, richtig?

    Der Unterschied zwischen Genie und Wahnsinn definiert sich im Erfolg.

  • Bei der normalen Tastatur klappt es doch auch, mit über 100 Tasten. Nur ob es auch mit der gewünschten Entfernung geht, muß man halt testen. Zur Not muß, oder kann man ja noch Transistoren einbauen.
    [hr]
    Ich würde keine GPIO's verwenden, einfach nur den USB Keyboardcontroller samt Kabel aus der Tastatur schälen und daran die entsprechenden Taster löten. Wenn dann die Hardware funktioniert kommt alles an den USB Anschluß des RPi, oder an einen angeschloßenen USB-Hub. Der Rest ist Software.


  • ... stellt es euch so vor:
    ich habe 9 Schalter an der Wand, die ich mit einem Ball bewerfe. Die 4 äußeren Schalter geben einen Punkt, 4 mittlere Schalter geben 2 Punkte und der genau in der Mitte gibt 3 Punkte. Dabei sollen dann die Punkte durch eine Software auf dem Bildschirm ausgegeben werden. Der ganze Aufbau dann zwei Mal, damit man gleichzeitig gegeneinander spielen kann.


    Sorry, wenn ich das alles noch etwas skeptisch betrachte:


    - wie hart kann ein Aufschlag auf die Tasten mit dem Ball werden, der Druck ist ja selbst mit einem leichten Ball schon recht heftig. Ich wüsste im Moment nicht, welche Taster sich da eignen - vielleicht gibt's was im Vandalismus-Bereich ;)


    - wieviele Tasten kann der Ball maximal gleichzeitig treffen (minimale Zeitunterschiede mal unberücksichtigt)? Wenn ich hier acht Tasten (asdfjklö) gleichzeitig drücke, kommt z.B. jdsköf, jfsald, dsjaf, oder dflskj. Also nie mehr als 6 Zeichen (liegt wohl an der Größe des Tastaturpuffers), einmal auch nur 5 und jedes Mal fehlen andere Zeichen. Auch wenn ich statt 8 nur 4 Tasten betätige ist das Ergebnis nicht zuverlässig, es mag bei einer anderen Tastatur evtl. besser ausfallen - also unbedingt erst testen.


    Jedenfalls eine prima Spielidee für den RPi!


    Gruß, mmi

  • Taster ? Gira S-Color ballwurfsicher

    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)

  • Der Ball soll ja nicht nur im 90° Winkel aufschlagend auslösen, sondern auch benachbarte Taster durch seitlich einwirkende Kraft. Dann ist eine elektronische Lösung mit Berührungssensoren wahrscheinlich besser.

  • Ich werde mir in den nächsten Tagen eine 5 Euro Tastatur kaufen und diese dann mal testweise auseinandernehmen. Falls sie kaputt geht ist der Verlust nicht so tragisch.


    Ihr braucht euch keine Sorgen um die Kraft der Bälle zu machen. Bei meinem Projekt geht es nicht darum mit einem Ball auf die Taster zu werfen. Viel mehr wird der Ball auf Löcher zugerollt unter denen sich der Taster dann befindet. Als Ball selbst kommt ein leichter Gummiball in Frage.


    Auch ein Problem mit dem Treffen mehrerer Tasten gleichzeitig, gibt es nicht. Unter jedem Loch soll sich genau ein Taster befinden und die Löcher liegen mehrere cm weit auseinander. Da jeder Spieler nur einen Ball hat, liegen zwischen zwei "Würfen" mindestens 5 Sekunden, sodass mmis "asdfjklö" gar nicht vorkommen kann.


    Ich habe auch schon überlegt, ob es nicht sinniger wäre statt mit Tastern mit Lichtschranken zu arbeiten, die das jeweilige Loch bewachen, allerdings scheint mir die Investition von 18 Lichtschranken zu teuer, oder irre ich? Lichtschranken, die ich online finden konnte, bewachten in der Regel nur wenige mm, wobei sie für meinen Zweck schon 5-8cm überwachen müssten.
    [hr]
    Ich habe mal schnell eine ungefähre Skizze erstellt.
    Sobald der Ball durch eines der Löcher fällt, kugelt er unten wieder raus. Der ganze Aufbau ist dementsprechend etwas schräg.



    [Blocked Image: http://s7.directupload.net/images/130718/6g2jjoqj.png]

  • Hast Du keinen Computerschrottplatz oder Wertstoffhof in deiner Nähe? Dort würdest Du garantiert fündig werden. Wenn Du aber dein Projekt mit Lichtschranken betreiben willst, ist vermutlich eine I2C Version, hardwaretechnisch einfacher umzusetzen.

  • Wäre hier nicht ein Ultraschallmodull möglich? Man könnte die Ziele auf ein Brett malen, auf einer Seite eine Ultraschallmodul befestigen, das die Entfernung zum Gegenstand messt und anhand der Entfernung weißt es ja wo getroffen wurde.
    Okay, in dem Fall bräuchte man für jede Reihe eins.

  • Die Ultraschall Module müsste man aber auf ein bestimmten bereich beschränken oder die empfindlichkeit herrab setzen, sonst lösen die auch aus wenn "nebenann" der Ball drüber rollt


    Un mit den Tastern sehe ich auch ein Problem, wie die kleinen Dinger eine Fläche von 5-8cm abdecken sollen, also müsste da ja schon mit einer "platte" gearbeitet werden die auf dem Taster liegt - also zB: man schneidet in Holz ein Loch und das ausgeschnittene legt man auf den Taster... Darf dann aber nicht zu schwer sein sonst wird der Taster ausgelöst, darf aber auch nicht zu leicht sein (bzw der Ball darf auch nicht zu leicht sein) sonst wird der Taster nie ausgelöst.. Und wenn der Ball abgelenkt wird können auch mehrere Löcher getroffen werden oder der Ball bleibt liegen, da es schlieslich Vertiefungen/Unebenheiten in der "Rollfläche" gibt


    Deshalb glaub ich das man entweder mit Objekten arbeiten sollte die umgeworfen werden müssten (wie beim Kegeln) - also wo zB unter der "Rollfläche" ein Sensor ist der im Objekt ein Metallstück o.ä. erkennt und sobald das Objekt umfällt is kann der Sensor nichts mehr erkennen
    Oder eben mit Lichtschranken, wobei ich nicht weiss wieso man 18 bräuchte? 6 Löcher = 6 Lichtschranken und auf der anderen Seite müsste halt etwas reflektierendes sein oder nicht? :huh: