Ich habe mal eine Frage zum Thema Portexpander.
Und zwar: Ist es möglich die Ausgabe des ersten Expanders mit den zweiten gleich wieder auszulesen?
Oder ist es möglich das sich ein Expander selbst ausließt?
Zwischen Aus- und Eingängen sollen sich dann Taster befinden.
Nach folgenden Muster (für einen Expander):
PortA als Ausgang festlegen.
PortB als Eingang festlegen.
PullUp für PortB setzen.
Bitmuster an PortA senden.
Bitmuster aus PortB auslesen.
Das Bitmuster aus PortB soll mit dann den Zustand aller Taster widergeben, damit ich es auswerten kann.
Ich habe bisher nur Schaltungen gesehen diemit einen Sensor oder Aktor verbunden sind und dann jeweils mit Masse oder Betriebsspannung.
Daher wollte ich mal wissen ob dies auch ein Expander allein schafft.
halten wir es wie die von Toyota: Nichts ist unmöglich.
du kannst das, was du auf den Port schreibst, auch aus dem gleichen Port mit digitalRead auslesen.
genauso gut kannst du auch auf den zweiten 23017 die Daten einlesen. Sie müssen nur auf den ersten so lange stehen bleiben, bist du sie auf den Zweiten ein gelesen hast.
allerdings solltest du bei Verwendung von zwei Bausteinen keine Taster dazwischen schalten. sonst würdest du bei betätigen des Tasters den eventuell gesetzten Ausgang des einen Bausteins auf Masse ziehen, und somit einen Kurzschluss verursachen. Das könnte seinen Tod bedeuten, ist also somit auf keinen Fall empfehlenswert. Taster nur an Eingänge. Oder mindestens eine Diode dazwischen. dann hast du ein Hardware-Oder-Gatter
Ich verstehe jetzt den Sinn Deines Aufbaus nicht.
Ok, wenn Du eine Matrix aus Tastern baust, dann brauchst Du geschaltene Ausgänge. Aber wenn Du nur einige Taster auslesen willst dann kannst Du sie direkt zwischen Eingang und Masse schalten.
Im Ausgang schalter ich immer nur 1 von 8 Spalten zu, und prüfe dann wie der Zustand der jeweiligen 8 Taster der jeweiligen Zeile.
Die Frage ist nur sollten 8 Spalten oder Zeilen aus welchen Gründen auch immer nicht mehr ausreichen, kann ich dann die Bits zum nächsten Expander übertragen?
Ich wollte jetzt nicht noch einen oder mehr Pin(s) mehr auf den zweiten 23017 als Ausgang besetzen, die belegten Pins sollen sich möglichst gering halten.
bei der adafruit lib für den 23017 gehen die pins von 0-15, da würde ich je einen für die Spalten und einen für die Zeilen nehmen. Ist einfacher zu programmieren, fals du die Tastaturabfrage in C machst.
Eigendlich möchte ich ja nur wissen ob meine Verbindung Hardwareseitig möglich ist.
Für die Software muss ich mir erst später einen Kopf machen.
Ich will noch mehr an den I2c-Bus anschließen und habe ja auch meine Platinen noch micht fertig.
Hardwareseitig sehe ich da keine Probleme, mit 2 23017 so eine Matrix zu machen.
Du weisst aber schon, dass man da normalerweise keine 2 Tasten gleichzeitig drücken kann, bzw. dieses nicht erkannt wird.
Frage aus Neugier: was gibt das wenn's fertig ist?
ElEspanol:
Hardwareseitig sehe ich da keine Probleme, mit 2 23017 so eine Matrix zu machen.
Du weisst aber schon, dass man da normalerweise keine 2 Tasten gleichzeitig drücken kann, bzw. dieses nicht erkannt wird.
Frage aus Neugier: was gibt das wenn's fertig ist?
Wenn man jedem Taster eine Diode spendiert dann kann man auch mehrere Tasten gelichzeitig auslesen.
Wenn Du soviele Tasten brauchst dann könnte der Tastaturkontroller einer alten PS2-Tastatur dienen. Der kontrolliert automatisch die Tasten und entprellt.
ElEspanol:
Hardwareseitig sehe ich da keine Probleme, mit 2 23017 so eine Matrix zu machen.
Du weisst aber schon, dass man da normalerweise keine 2 Tasten gleichzeitig drücken kann, bzw. dieses nicht erkannt wird.
Frage aus Neugier: was gibt das wenn's fertig ist?
uwefed:
Wenn man jedem Taster eine Diode spendiert dann kann man auch mehrere Tasten gelichzeitig auslesen.
Wenn Du soviele Tasten brauchst dann könnte der Tastaturkontroller einer alten PS2-Tastatur dienen. Der kontrolliert automatisch die Tasten und entprellt.
Grüße Uwe
Also es soll ein Universaleingabegerät für PC werden, sehr handlich und klein. Ich versuche möglichst viele Funktionen dort nach und nach unterzubringen und mir ein gutes Verständnis von elektronischen Schaltungen und Programmcodes zu erhalten.
Des weiteren versuche ich mich darin mit meheren Schnittstellenarten zu arbeiten.
Das mit dem PS2-Tasterturkontroller ist zwar eine gute Idee, aber ich möchte mir für dieses Projekt möglichst viel selbstständig erarbeiten. Daher versuche ich mich ja z.B auch an diversen Datenblättern.
Frage bei einer Matrix von z.B. 8x8. Wie müssen dann die 64 Dioden geschaltet sein damit ich mehrere Tasten drücken kann? Ein Schaltplan wäre dafür sehr gut.