Mehr Pins ?

[u]Hallo,[/u]

Ich habe ein größeres Projekt vor un zwar ein Fahrstuhl-Model das mit den Arduino gesteuert wird.

Leider brauche ich insgesamt für alle Bauteile 25 Pins. Meine Frage ist ob man mit solchen

Schieberegistern auch Inputs "lesen" kann oder nur Outputs ? Oder Geht auch beides ? Was verändert

sich im Programmcode bei der Benutzung von Schieberegistern ? Und gibt es einen "Befehl" womit man

den Arduino sagt das er für eine bestimmte Zeit alle Taster abfragen ignoriert und auch nach Beendigung

der Aufgabe nicht ausführt sondern erst wenn er gerade nichts zutun hat ?

Würde mich über Antworten freuen ! Danke !

Schieberegistern auch Inputs "lesen" kann oder nur Outputs ? Oder Geht auch beides ?

Es gibt unterschiedliche Schieberegister je nach Richtung

Ausgang: serial in / parallel out (SIPO) Eingang: parallel in / serial out (PISO)

Andere Option: I2C Port Expander wie der oder PCF8574 oder MCP23017

Serenifly: Es gibt unterschiedliche Schieberegister je nach Richtung

Ausgang: serial in / parallel out (SIPO) Eingang: parallel in / serial out (PISO)

Andere Option: I2C Port Expander wie der oder PCF8574 oder MCP23017

Danke!

D.h.

Um mehrere Led´s anzusteuern bräuchte ich einen SIPO und für Taster (mein Fall ) einen PISO ?

Könnt ihr mir villeicht ein PISO Schieberegister, dass sich leicht mit den Arduino Uno "verbinden" lässt empfehlen ? ( Habe 11 Taster )

2 x 74HC165

http://www.gammon.com.au/forum/?id=11979
Der Code da ist erst mal SPI, aber kann es auch mit bit-banging auf anderen Pins machen. Am Ende wird da eine Library verlinkt, aber die Arduino Software hat da auch mit shiftIn() eine fertige Funktion dafür.

Und am einfachsten ist es du verwendest unterschiedliche Pins für Eingangs- und Ausgangs-Register. Die 6 Pins wirst du haben.

Oder eben I2C Expander. Da kannst du die gleichen ICs ein einem Bus betreiben und entweder als Eingang oder Ausgang verwenden. Bei einfachen Typen ist es ganz simpel: Lesen = Eingang, Schreiben = Ausgang. Und braucht nur 2 Pins.

Sehe ich es richtig, dass ich bei einem MCP23017 16 Ausgänge/Eingänge habe ? Und nur 2 Kabel

benötige ?

Ja. Wie bei I2C üblich. Hat auch 3 Adress Pins, d.h. man kann 8 Stück an einem Bus betreiben

Der Baustein ist intern relativ kompliziert, aber es gibt fertige Libraries dafür. Und auch nicht teuer: http://www.ebay.de/itm/MCP23017-E-SP-Microchip-16-Bit-Expander-I-O-I2C-DIP28-/151109544416?pt=LH_DefaultDomain_77&hash=item232ed4a9e0

Du könntest ein I2C Port Expander versuchen.

MCP23017 in DIP kann man sich ja noch leisten, in SOIP siehts anders aus. Ansonsten ist es der richtige Chip für dich.