Forum: Mikrocontroller und Digitale Elektronik 74HCT166 - Buttons am Arduino auslesen


von Sebastian (Gast)


Lesenswert?

Hallo,

ich stehe vor dem Problem, dass ich mit Hilfe eines 74HCT166 meine 
Eingangports erweitern möchte. Aber so ganz durchsteige ich die Sache 
noch nicht. 
[[https://www.mikrocontroller.net/articles/AVR-Tutorial:_Schieberegister#Porterweiterung_f.C3.BCr_Eing.C3.A4nge]] 
habe ich schon durchgelesen.


Zum Problem:
Ich habe 8 Taster, deren Status ich mit Hilfe des Schieberegisters an 
meinem Arduino auslesen möchte. Aber wie stelle ich das an?
Für Profis sind das vermutlich jetzt die dümmsten Fragen:
"Speichert" das Schieberegister den Wert nach einem Tastendruck (also 1 
oder 0) so lange bis es ausgelesen wird oder fragt man permanent den 
Status ab ähnlich wie man es bei einem einfachen Button an einem 
digitalen Input machen würde.

Vielleicht hat ja jemand schon damit gearbeitet und etwas für seinen 
Arduino programmiert. Ich würde mich auch über einen Beispielcode 
freuen, den ich zum Lernen analysieren kann.
Den Code auf 
[[https://www.mikrocontroller.net/articles/AVR-Tutorial:_Schieberegister#Porterweiterung_f.C3.BCr_Eing.C3.A4nge]] 
kann ich nicht lesen.

Jede Hilfe ist mir willkommen.

: Verschoben durch User
von Boris O. (bohnsorg) Benutzerseite


Lesenswert?

Der im Artikel gezeigte Code ist in Assembler. Mit ein bisschen 
Konzentration  und der Dokumentation zum Befehlssatz geht das in 
endlicher Zeit in den Kopf. Elektrisch kannst du Fortschritte machen, in 
dem du den Schaltplan deiner Tastatur zeichnest und anhängst. Dann lässt 
sich weiter spekulieren. Im Prinzip wird ein Eingang des 
Mikrocontrollers (DIN), zzgl. ein paar Steuersignale (CLK, PL) zur 
Zusammenführung mehrerer Eingangssignale verwendet.

von Suchdepp (Gast)


Lesenswert?

Sebastian schrieb:
> ich stehe vor dem Problem, dass ich mit Hilfe eines 74HCT166 meine
> Eingangports erweitern möchte.

Nein, du stehst vor dem Problem dass du keine Lust zum Suchen
hast oder du dich zu dumm zum Suchen anstellst.

z.B.:

forum.arduino.cc/index.php?topic=22117.0

von BaPi (Gast)


Lesenswert?

Hier sind zwei Seiten, auf denen das Prinzip am Beispiel des 74HC165 
ganz gut erklärt ist. Beides auf Englisch, aber sicherlich kein Problem.

https://learn.sparkfun.com/tutorials/shift-registers

https://iamzxlee.wordpress.com/2014/05/13/74hc165-8-bit-parallel-inserial-out-shift-register/

von fop (Gast)


Lesenswert?

Sebastian schrieb:
> "Speichert" das Schieberegister den Wert nach einem Tastendruck (also 1
> oder 0) so lange bis es ausgelesen wird oder fragt man permanent den
> Status ab ähnlich wie man es bei einem einfachen Button an einem
> digitalen Input machen würde.

In dem Moment wenn Du Pin 1 SH/!LD von Low nach High setzt, speichert 
das IC die aktuellen Zustände Deiner Taster. Was die danach machen ist 
dem Mumpe.
Wenn Du nicht per Mikrokontroller zyklisch liest, wirst Du es nie 
erfahren.
Du holst Dir also den Zustand zu einem Zeitpunkt in das Schieberegister 
und läst diese Info im Gänsemarsch in Deinen Mikrokontroller wandern.
Da geht's dann nach der Gänsemarsch zu nebeneinander Wandlung weiter, 
als wären die Taster direkt angeschlossen, mit der Entprellung.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.