Suche lib für 74HC165

Hey leute,

ich suche für mein Project (XXL MIDI controller) ein lib für den 74HC165 die mit mehr als einem IC arbeiten kann. Ich habe einige gefunden aber diese unterstüzen nur einen IC.

z.b.

insgesamt müsste ich 12 stück einsetzten werde diese aber in grüppen zerlagen es wären maximal 5 auf eine Line.

Fürs erste müsste ich 20 Encoder und 20 Button einlesen.

Ich habe diesen sketch gefunden aber ich kann damit nur eine line auslesen
http://playground.arduino.cc/Code/ShiftRegSN74HC165N

Im moment lese ich 3 encoder und 5 buttons über die DIGITAL I/O ein. Ich verwände den MEGA 2560
Hier ist mein aktueller Code (Soweit geht es)

Hast Du schon mal versucht, mehrere Objekte zu erzeugen? Also

ShiftRegister74HC595 shifter1 ();
ShiftRegister74HC595 shifter2 ();

Wobei mir gerade auffällt, geht es um HC595 oder HC165?

ich suche für mein Project (XXL MIDI controller) ein lib für den 74HC165 die mit mehr als einem IC arbeiten kann. Ich habe einige gefunden aber diese unterstüzen nur einen IC.

Mit shiftin() kannst du beliebig viele verkettete 74HC165 einlesen.
Eine Lib braucht es dazu nicht.

agmue:
Hast Du schon mal versucht, mehrere Objekte zu erzeugen? Also

ShiftRegister74HC595 shifter1 ();
ShiftRegister74HC595 shifter2 ();

Wobei mir gerade auffällt, geht es um HC595 oder HC165?

mit dem 74HC595 geht es

aber ich brauche mehr inputs dafür den 74HC165

hi,

wird hier mit mehreren gemacht.

gruß stefan

Eisebaer:
hi,

Gammon Forum : Electronics : Microprocessors : Using a 74HC165 input shift register

wird hier mit mehreren gemacht.

gruß stefan

das hatte ich auch schon gesehn aber ich würde gerne nich alle 23 shifter hintereinander hängen sondern in mehren gruppen trennen.

ich habe das hier gefunden zum shiftin()
komme damit aber nicht wirklich zurecht könnt ihr mir ein kleines beispiel schreiben?
https://www.arduino.cc/en/Reference/ShiftIn

aber ich würde gerne nich alle 23 shifter hintereinander hängen sondern in mehren gruppen trennen.

Gibts da einen Grund für?

weil ich nicht weiß wie viele ich maximal hintereinander schalten kann ohne das das arduino gebremst wird. Denn ich möchte den controller für meine Licht anlage benutzen und es sollen noch weitere 48 buttons dazu kommen mit activ LED

Wenn du sagen würdest: Ich möchte gerne 8 Stränge parallel einlesen.
Aber so...

Du kannst jederzeit beim Einlesen Pause machen.
Und gelesen werden müssen sie doch sowieso...

Bei so vielen Buttons könntest du doch mit Matrixen arbeiten.

owei mir raucht jetzt schon der kopf
mit Matrixen habe ich mich noch garnicht beschäftigt

Bei Viele Schieberegiestern in serie müssen die ANsteuersignale, die an alle Register gehen Verstärkt werden. Ein Arduino-Pin kann keine 20 Cmos Eingänge treiben.
Grüße Uwe

Wie kann ich das Signal verstärken?

saibot852:
Wie kann ich das Signal verstärken?

Mit einem Transistor oder einem IC z. B. ULN2003A.

Hast Du MCP23017 (I2C; 8x16=128 IOs) oder MCP23S17 (SPI) in Erwägung gezogen, für die es auch eine Bibliothek gibt?

Besser gleich ein Push-Pull Treiber, damit der Strom auch bei Low hoch ist:
http://www.elcojacobs.com/wp-content/uploads/2012/08/shiftpwm_74hc595_RGB.png
(unten rechts)

Bei der Datenleitung braucht man das nicht, da die nur auf das erste IC geht. Aber für Clock und Latch

Da gabs doch mal so ein Teil, Centipede oder wie das hiess. Hatte über 100 GPIO

Das läuft mit MCP23017 Port Expandern

Ich weiss. Habs grad gegoogelt, fand es aber auf die Schnelle nur als Shield mit 64 GPIO
Centipede

da kann man aber 2 davon dran stricken, dann hat man 128

würde es auch über Matrizen lösen und nicht jeden Button einzeln dran hängen. Wenn Du aber ein fertiges Board mit vielen IOs brauchst, kann ich das hier empfehlen: http://shop.cboden.de/Digistump/DigiX/DigiX.html ist kompatibel zum Arduino DUE, hat aber gleich 99 nutzbare Pins. Durch den ARM Prozessor ist die Auswahl an Libs zwar nicht so groß wie für einen "normalen" Arduino, dafür bietet er halt auch einige Vorteile wie WiFi gleich mit an Bord.

so ich habe es geschafft die ersten 3 Encoder und 5 Buttons über die shifter einzulesen.

es Herrscht zwar noch etwas Unordnung aber für 3 Encoder, 10 Buttons und 34 LED`s funktioniert es einwandfrei.

Code:

zu den vielen IC´s kann ich da nicht auch einen OPV einsetzen ?