118 Taster auswerten

OP #6947778
Lesenswert?

Hallo Zusammen,

Ich möchte 118 einzelne Taster auswerten. Da diese leider nicht alle auf 
einer Platine verbaut werden können, da die Gesamtfläche nicht 
produzierbar ist, wird es einzelne Module geben welche zwischen 10 und 
40 Tasten beinhalten werde können.

Nun ist meine Frage, wie das am besten gelöst werden kann. Ich habe mir 
bereits einige Schaltpläne angeschauft, dort wird oft die 
Matrix-Variante verwendet, dies würde in meinem Fall aber bedeuten, das 
man die Matrix über alle Platinen verbindet. Das wären bei 118 Tastern 
aber mindestens 11x11, also 22 Datenleitungen.

Dazu kommt das jeder Taster zwei korrespondierende WS2812 besitzt, somit 
müssen bereits 3 Leitungen auf jedes Modul gebracht werden (5V, GND, 
Signal)

Daher wäre mir eine Lösung welche z.b. mit I2C arbeiten würde lieber. 
Auch wäre wäre gut wenn die Lösung so wäre, das einzelne Schalter sich 
nicht "aussperren", also mehrer Taster gedrückt/nicht gedrückt sein 
dürfen.

Am Ende möchte ich das Tastenergebniss auf einem Rpi auswerten, es kann 
aber auch ein Microcontroller das Endresultat bereitstellen, das wäre 
kein Problem.

Hat jemand eine gute Idee wie das lösbar ist?
Gast #6947800
Lesenswert?

Johnny S. schrieb:
> da die Gesamtfläche nicht
> produzierbar ist

Ach, wieviel Quadratkilometer werden es denn dass du alle Platinen der 
Welt nicht reichen werden...

Johnny S. schrieb:
> zwischen 10 und
> 40 Tasten beinhalten werde können.

Und die Anzahl wird dann aus der Glaskugel entnommen, oder wirfst die 
Taster dann in die Luft um das konkret fest zu legen?

Johnny S. schrieb:
> Ich habe mir
> bereits einige Schaltpläne angeschauft,

Als nächstes kannst du dann ja noch die Zeitung lesen...

Johnny S. schrieb:
> das
> man die Matrix über alle Platinen verbindet

Stimmt, das wäre ja nicht in jedem Fall der Fall, wenn du jedes Modul 
mit einem Akku austsattest und sie per Funk verbindest würde das 
vermieden werden, dass also als Denkansatz von mir als Vorschlag...

Johnny S. schrieb:
> Daher wäre mir eine Lösung welche z.b. mit I2C arbeiten würde lieber.

Am besten I2C Taster mit Funk und intregiertem Akku.

Johnny S. schrieb:
> die Lösung so wäre, das einzelne Schalter

Schalter werden auch noch verbaut?

Johnny S. schrieb:
> also mehrer Taster gedrückt/nicht gedrückt sein
> dürfen.

Dann musst du erstmal festlegen welche im Normalzustand nicht gedrükt 
sind, damit sie nicht nicht gedrückt werden können...

Johnny S. schrieb:
> Microcontroller das Endresultat bereitstellen

Bevorzugt auf einem Tablett? Oder einem Teller?

Johnny S. schrieb:
> Hat jemand eine gute Idee wie das lösbar ist?

Du möchtest demnach einen Taster mit integriertem I2C, Akku und 
Funkschnittstelle welcher sich zwischen 10 und 40 mal auf einer etwas 
weniger als Erdumfassend großen Platine anordnen lässt.

SO ETWAS GIBT ES NICHT :-)
Gast #6947802
Lesenswert?

Mein Klavier hat 88 Tasten mit jeweils 2 Kontakten, verteilt auf 3 
Platinen. Die sind als ganz normale Matrix verschaltet.

Wenn du nicht so viele Leitungen verlegen willst, könnten 
Schieberegister (74LS595) eine sehr preisgünstige Alternative sein. Die 
kannst du beliebig verketten. Die Taster kannst du direkt (ohne 
Widerstände) an die IC's anschließen, weil bei der 74LS Serie offene 
Eingänge von alleine auf HIGH liegen.
#6947812
Lesenswert?

Stefan ⛄ F. schrieb:
> Harald A. schrieb:
>> Ich glaube, Du hast dich versehen. Er braucht ja
>> Schieberegister-Eingänge.
>
> Oh die habe ich verwechselt. Richtig sind 74LS165.

Sag mal lieber HC, die LS sind ja aus dem Pleistozän der Elektronik. Und 
die Schieberegister ließen sich zusammen mit APA102 dann über eine 
einzige SPI bedienen, braucht man nichts außerhalb des RPI 
programmieren.
Gast #6947813
Lesenswert?

Harald A. schrieb:
> Ich glaube, Du hast dich versehen. Er braucht ja
> Schieberegister-Eingänge.

nope, warum das. Er braucht nur einen Eingang am Controller.

Dann lässt wer eine einzelne 1 durch die Register sausen, an jedem 
Regitser Ausgang ist ein Taster, alle Tasten sind mit dem einen Eingang 
verbunden...

Man zählt intern die Takte mit und merkt sich wann der Eingang high 
geworden ist. Daraus resultiert ein Array aus 118 Bits in denen ständig 
der aktuelle Zustand der einzelnen Tasten abgelegt ist....
OP #6947816
Lesenswert?

Thomas S. schrieb:
> Johnny S. schrieb:
>> Ich möchte 118 einzelne Taster auswerten.
>
> Sind diese irgendwie gruppiert?

Ja auf ihrem Modul sind diese grundsätzlich schon "gruppiert" aber jedes 
Tastenevent ist eine einzelne Aktion


Harald A. schrieb:
> Oder 8 StücK MCP23017. Ich persönlich würde ja die APA102 dem
> bescheuerten WS2812 Timing vorziehen, gerade wenn man z.B. mit RPI
> arbeiten will. Dann kann man ganz normales SPI nutzen ohne irgendwelche
> Timing-Probleme.

APA102 (2020 Bauform) habe ich mir angesehen, leider kann ich die aber 
nicht direkt bestücken lassen bei JLCPCB. Für die Led habe ich mir 
überlegt auch allenfalls einen kleinen MCU zu setzen der das betreibt.



Jürgen schrieb:
> Johnny S. schrieb:
>> da die Gesamtfläche nicht
>> produzierbar ist
>
> Ach, wieviel Quadratkilometer werden es denn dass du alle Platinen der
> Welt nicht reichen werden...

Alles auf einer Platine wären ca. 780x490mm, mit extrem viel 
Leerfläche..




> Johnny S. schrieb:
>> zwischen 10 und
>> 40 Tasten beinhalten werde können.
>
> Und die Anzahl wird dann aus der Glaskugel entnommen, oder wirfst die
> Taster dann in die Luft um das konkret fest zu legen?

> Johnny S. schrieb:
>> das
>> man die Matrix über alle Platinen verbindet
>
> Stimmt, das wäre ja nicht in jedem Fall der Fall, wenn du jedes Modul
> mit einem Akku austsattest und sie per Funk verbindest würde das
> vermieden werden, dass also als Denkansatz von mir als Vorschlag...

K




> Johnny S. schrieb:
>> Daher wäre mir eine Lösung welche z.b. mit I2C arbeiten würde lieber.
>
> Am besten I2C Taster mit Funk und intregiertem Akku.

Keine Option, Akkus in einem Gehäuse das so oder so schon an 
Spannungsversorgung angeschlossen ist, ist nicht sinnvoll.


> Johnny S. schrieb:
>> Microcontroller das Endresultat bereitstellen
>
> Bevorzugt auf einem Tablett? Oder einem Teller?

Nein, damit war gemeint, das es kein Problem ist, vor dem Raspberry 
nochmals einen MCU zu setzen, welcher dann z.b. über USB als 
HID-Tastatur die Tastenevents übergibt, oder ähnlich. Es muss nicht 
zwingend eine Lösung sein die direkt an den RPi angeschlossen werden 
kann
#6947838
Lesenswert?

Noch etwas: wenn Du pro Platine eine CPU bevorzugst, prüfe vorher, was 
Du derzeit überhaupt noch bekommen kannst. Ein paar Schieberegister 
könnten einfacher zu bekommen sein. Und bei einer CPU kommt auch noch 
hinzu, dass die eigentliche Programmierung bis zu einer wirklich 
stabilen Software am Ende des Tages doch mehr Aufwand war als geplant. 
Ein paar Schieberegister I2C oder SPI per RPI auslesen ist dagegen recht 
banal.
#6947843
Lesenswert?

Thomas S. schrieb:
> Harald A. schrieb:
>>> Dann brauchst du für jeden Taster noch einen extra Widerstand. An dieser
>>> Stelle sind die LS Typen vorteilhafter.
>
> Es sind in einem Tasten-Array keine Widerstände nötig. Außer zum
> Beleuchten der Tasten

Der erste Text kam von Stefan, nicht von mir. Außerdem braucht er bei 
einer APA102 oder WS2812 einen Kondensator, keinen Widerstand.
(Firma: S-C-I DATA GbR) #6947844
Lesenswert?

Ohne jetzt den ganzen Thread durcgelesen zu haben,

Johnny S. schrieb:
> Nun ist meine Frage, wie das am besten gelöst werden kann. Ich habe mir
> bereits einige Schaltpläne angeschauft, dort wird oft die
> Matrix-Variante verwendet, dies würde in meinem Fall aber bedeuten, das
> man die Matrix über alle Platinen verbindet. Das wären bei 118 Tastern
> aber mindestens 11x11, also 22 Datenleitungen.

Das würde ich tatsächlich mit PCF8574 Lösen,

Dan hast du nur 4 Leitungen die du zu allen Platienen leiten musst.

Das schöne ist nämlich wenn du diese PCF8574 richtig Betreibst, kannst 
du bsw. eine 4x4 Matrix(16 Tasten)auch auf 2 Platinen Aufteilen und bsw. 
2 2x4 Matrix mit der selben i²C Adresse ansteuern und Trotzdem die 
Tasten aus dieser Matrix beliebig auf den Print verteilen und als 4x4 
Matrix auswerten.

Mit ein paar Dioden kannst du die Matrix aus einem PCF8674 aber auch 
vergrößern auf bsw 8x4 Tasten usw.

Oder auch 2 Tastenfelder mit den Selben Funktionen belegen (Etwa wenn 
eine Notstop Taste auf jedem Tastenfeld sein sollte,

So kann man ohne großen Aufwand eine Matrix von 16x4(64 Tasten) mit nur 
einem PCF8574 pro Print realisieren..

In verschiedenen Anwendungen habe ich das so Realisiert.
#6949308
Lesenswert?

Johnny S. schrieb:
> Dazu kommt das jeder Taster zwei korrespondierende WS2812 besitzt, somit
> müssen bereits 3 Leitungen auf jedes Modul gebracht werden (5V, GND,
> Signal)

Das sind dann schonmal 7A auf den 5V.
Typisch nimmt man dafür eine 24V Hauptversorgung und alle paar (8..12) 
WS2812 einen TSR 1-2450 als Step-Down.

Für die Tasten würde ich 15 Stück 74HC165 kaskadieren. Und als Pullups 
dann 8-fach Widerstandsnetzwerke.
Gast #6949316
Lesenswert?

Peter D. schrieb:
> Das sind dann schonmal 7A auf den 5V.

> Für die Tasten würde ich 15 Stück 74HC165 kaskadieren. Und als Pullups
> dann 8-fach Widerstandsnetzwerke.

Wenn man den 74LS165 verwendet, braucht man keine Widerstände. Die Chips 
nehmen zwar mehr Strom auf als die HC Typen, aber im Vergleich zu den 7A 
kann man das hinnehmen, denke ich.
#6949331
Lesenswert?

Stefan ⛄ F. schrieb:
> Wenn man den 74LS165 verwendet, braucht man keine Widerstände. Die Chips
> nehmen zwar mehr Strom auf als die HC Typen, aber im Vergleich zu den 7A
> kann man das hinnehmen, denke ich.

Bei LS sind die Eingänge Multi-Emitter und werden nur bis zur 
Schwellspannung aufgeladen, d.h. man hat keinerlei Störabstand.
Es war mir schon bei Standard-TTL aufgefallen, daß man offene Eingänge 
prima mit einem Schraubendreher triggern konnte. Da LS deutlich weniger 
Strom ziehen, dürften offene Pins nochmal wesentlich störempfindlicher 
sein.
Ich würde daher bei LS die Pullups besser nicht einsparen, ist ja nur 
ein Bauteil je 8 Eingänge.
(Firma: S-C-I DATA GbR) #6949420
Lesenswert?

Falk B. schrieb:
> Schmarrn. Wenn man schon die "teueren" Pull-Up Widerstände einsparen
> will, nimmt man 8xPCF8574 + 8xPCF8574A, (=128 IOs). Die haben interne
> Pull-Ups.

Habe ich ja schon Vorgeschlagen, weil ich das selber oft so Umsetze,
Und dank der Bidirektionalität dieser Bauteile ist auch das Unterbringen 
von LED sehr einfach zu realisieren.
Als Beispiel (Siehe Bild)
Wenn weniger LED gebraucht werden kann man sich sogar die Transistoren 
sparen.
Angehängte Dateien:
(Firma: S-C-I DATA GbR) #6949444
Lesenswert?

Falk B. schrieb:
> Patrick L. schrieb:
>> Habe ich ja schon Vorgeschlagen, weil ich das selber oft so Umsetze,
>
> Ein "sehr übersichtlicher Schaltplan", besonders durch das eingeblendete
> Raster. Ich würde die Leitungsbündel noch enger legen, so wie im Layout!
> 0,2mm Strichbreite und Abstand!

Falls jemand Interesse hätte könnte ich ja das Schema selber Verlinken, 
aber da ich unterwegs bin habe ich halt nur die Photos auf dem Handy zur 
Verfügung.

PS: ...Man glaubt gar nicht was man so alles zeitlich machen kann, wenn 
man vor einer geschlossenen Bahnschranke wartet...

Und abgesehen davon ist es ja nur als "Gedankenstütze" gedacht und nicht 
als "Copy & Paste"
Gast #6949507
Lesenswert?

Hi.
Ich hatte beruflich mal fast die gleiche Aufgabenstellung: 96 Taster auf 
4 Modulen verteilt und jeder Taster mit RGB LED. Sollte allerdings alles 
von einem Linux gesteuert werden.
Gelöst habe ich das mit 74xx165 und SPI und die Verbindungen über 10 
polige Flachbankabel, alle Module in Reihe.

Von hier bin ich damals gestartet:
ucapps.de -> din

Viel Erfolg
(Firma: S-C-I DATA GbR) #6949624
Lesenswert?

Stefan ⛄ F. schrieb:
> Der I²C Port Expander MCP23017 hat 16 I/O Pins.

Ja wenn du alle Tasten auf ein PCB willst, gebe ich dir 100% Recht.
Da kannst du nämlich eine Matrix mit nur passiven Bauteilen(Dioden & Co) 
von 256x8 Tasten machen ;-) oder wie in Midikeyboards 88Tasten mit 
Anschlagdynamic und Aftertouch, und brauchst nur 1 IC... plus für I²C to 
Midi in 8 oder 6 Pin µC ;-)

Wen aber nicht mehr als 64 Tasten auf einem Print sind, reicht der 
PCF8574 plus ein paar Passive ;-)
oder bis 16 Tasten ohne "n-Ker-Rollover" sogar nur der PCF8574x.
(Firma: S-C-I DATA GbR) #6949819
Lesenswert?

Guido K. schrieb:
> KeyWarrior100 zu nehmen,

Hmmm, wen schon darüber diskutiert wird ob jetzt billiger eine Diode 
oder ein Widerstand,
oder Aufwand der Software für ein µC in frage gestellt wird?

Dan denke ich ist der (KeyWarrior100 zweifelsohne sinnvolles Teil) ein 
bisschen, "...mit Kanonen auf Spatzen.." den der braucht doch einiges an 
R's und C's drum herum. und ich meinte sogar fas auch noch ein Quarz, 
kann mich aber auch irren. ist ne weile her wo ich mich mit dem Befasst 
habe, bevor ich dann eine andere Lösung gesucht hatte.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren