Hallo, ich möchte 8 Tasten abfragen. Gleichzeitiges Drücken mehrere Tasten muß möglich sein. Es stehen nur 3 Ports eines uC zur Verfügung. Ansatz: Die Taster an eine 8 Bit Schiebregister anschließen. Irgendwie dann nacheinander die Taster ansteuern und zeitgleich einlesen, ob der asugegeben Pegel durch einen gedrückten taster überschreiben wird. Da gibt es doch bestimmt eine "Standardlösung" dafür? Wird allerdings eng mit nur 3 Pins, oder? Über Anregungen und Tips freue ich mich Marco
@Marco Schramm >ich möchte 8 Tasten abfragen. Gleichzeitiges Drücken mehrere Tasten muß >möglich sein. Es stehen nur 3 Ports eines uC zur Verfügung. >Da gibt es doch bestimmt eine "Standardlösung" dafür? Wird allerdings >eng mit nur 3 Pins, oder? Nein. http://www.mikrocontroller.net/articles/Porterweiterung_mit_SPI MFG Falk
Marco Schramm wrote: > Da gibt es doch bestimmt eine "Standardlösung" dafür? Ja, 74HC165. > Wird allerdings > eng mit nur 3 Pins, oder? Nein, 3 reichen. Peter
mal auf die Schnelle aufgemalt: 1. SRG mit 0x00 initialisieren. 2. Bei Tastendruck wird Interrupt ausgelöst. 3. SRG mit 0x3F initialisieren und 8 mal schieben (jeweils den Interrupt-Pin abfragen.)
Frank Huber wrote: > mal auf die Schnelle aufgemalt: Warum der Aufwand mit den Dioden ? Einfach nen 74HC165 nehmen und gut is. Zum Entprellen braucht man eh den Timerinterrupt. Man hat also durch den externen Interrupt keinerlei Nutzen. Auch will er ja Tasten gleichzeitig erkennen, der externe Interrupt triggert aber nur auf die erste. Peter
Ich würd mal sagen, es kommt darauf an, welche 3 Ports frei sind. Wenn zumindest 2 von denen ADC Ports sind, dann kann man die Taster als R2R DAC verschalten und mit dem ADC dann das ganze wieder Retour wandeln. Mit mehr als 4 bis 6 Taster würde ich das aber wegen dem Störabstand nicht machen. Natürlich kann man dann auch mehrere gleichzeitig gedrückte Tasten auswerten. Wiesi
@Christoph Kessler "Gleichzeitiges Drücken mehrere Tasten muß möglich sein." Wiesi
...oder 'nen I2C Porterweiterungschip (PCA95xx) an 2 Pins mit 'ner Soft-I2C anknoten. Vorteil: erweiterbar (falls Dir neben den Tasten noch was fehlt z.B. LCD - die sind eh' so lahm, dass man die ohne Performance-Verlust so anknoten kann).
Ich habe sowas auch mal mit einem Spannungsteiler am AD-Wandler-Pin gemacht. Einer der Widerstände besteht aus mehreren Teilwiderständen, die jeweils von einem Taster kurzgeschlossen werden. Anhand einer Wertetabelle kann man dann dem Spannungswert die gedrückten Taster zuordnen. Eine Entprellung ist danach genauso wie beim herkömmlichen Anschluss der Taster möglich. Gruß, Roland
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.