Hallo alle zusammen.
Ich hab bei meinem aktuellen Projekt mehere Tasten, die in einer Matrix
angeordent sind. Es sind 4 Tasten.
Nun möchte ich die Timer gesteuerte Entprellung von Peter für meine
Matrix nutzen.
Allerdings bin relativer Anfänger und hab keinen Plan wie ich die
Routine umschreiben muss, damit es klappt.
Vielleicht kann ja jemand helfen.
Vielen Dank schon mal
Gruß Patrick
Patrick schrieb:> Allerdings bin relativer Anfänger und hab keinen Plan wie ich die> Routine umschreiben muss, damit es klappt.
Die Routine mußt Du garnicht umschreiben.
Du mußt nur eine Routine hinzufügen, die die Tasten einliest und für
jede gedrückte Taste ein Bit in dem Byte setzt.
Und diese wird statt des Eingangsports in der ersten Zeile der
Entprellroutine aufgerufen.
Ne Matrix für nur 4 Tasten lohnt sich allerdings nicht.
Peter
Hallo Peter,
Vielen Dank für deine schnelle Antwort!
Wie muss ich denn so eine Routine schreiben?
Ich hab wirklich keinen Plan, wie ich das machen muss.
Kannst du mir vielleicht eine schreiben?
Gruß Patrick
Patrick schrieb:> Hallo Peter,> Vielen Dank für deine schnelle Antwort!> Wie muss ich denn so eine Routine schreiben?> Ich hab wirklich keinen Plan, wie ich das machen muss.
Dann frage ich mich:
Warum willst du für 4 Tasten eine Matrix einsetzen?
Du sparst nichts dadurch.
Auf der anderen Seite ist es allerdings eine gute Übung im logischen
Denken.
> Kannst du mir vielleicht eine schreiben?
Na komm.
Was wird das?
du wirst doch wohl noch eine Idee haben, wie man bei 4 matrixförmig
angeordneten Tasten die Zeilen der Matrix setzen muss und was einem dann
die ausgelesenen Spaltenwerte über die gedrückten Tasten verraten!
Das ist summa summareum einfach nur ein wenig geordnetes Pin-Wackeln.
UNd wenn man sich das ganze ein wenig auf dem Papier überlegt, dann
kommt man auch ganz schnell drauf, wie eine Strategie aussehen könnte.
Wenn man so will: Es ist in erster Linie erst mal nur eine
Knobelaufgabe, sich eine Strategie zurecht zu legen. Und erst dann in
zweiter Linie wird diese Strategie in Code gegossen.
+-- Pullup -- + -- Pullup --
| |
| Taste 1 | Taste 2
Zeile 1 ------------+-------------------+-------
| |
| Taste 3 | Taste 4
Zeile 2 ------------+-------------------+------
| |
Spalte 1 Spalte 2
(Die Taster sitzen jeweils so an den SChnittpunkten in der Matrix, dass
sie die Zeile mit der Spalte verbinden, wenn man den Taster drückt. Die
Pullup Widerstände sind dazu da, dass die Spalten-Leitungen auch dann
einen definierten 1-Pegel haben, wenn in der jeweiligen Spalte keine
Taste gedrückt ist.).
Annahme: du setzt Zeile 1 auf '1', und Zeile 2 auf '0'.
Siehst du dir die Ergebnisspalten 'Spalte 1' und 'Spalte 2' an, und
stellst fest, dass 'Spalte 1' auf 0 ist und 'Spalte 2' auf 1, welche
Taste war dann gedrückt?
+-- Pullup -- + -- Pullup --
| |
| Taste 1 | Taste 2
Zeile 1 -- 1 >------+-------------------+-------
| |
| Taste 3 | Taste 4
Zeile 2 -- 0 >------+-------------------+------
| |
v v
0 1
| |
Spalte 1 Spalte 2
Welchen Taster muss man drücken, damit sich dieses 0/1 Muster an den
Spalten einstellt, wenn das Zeilenmuster wie eingezeichnet war? Wenn du
es nicht siehst, dann geh einfach jeden der 4 Taster durch und überlege,
welches Spaltenmuster sich bei gegebenem Zeilenmuster einstellt, wenn du
genau diesen Taster drücken würdest. Bei irgendeinem der 4 Taster stellt
sich genau das angegebenen Muster ein.
....bitte ausfüllen.... schrieb:> Ich drücke Taste 1 und 3: Peng!
Ich hab ja nicht gesagt, WIE er die Zeilenleitungen auf 0 oder 1 setzen
soll. Das ist das eine, das andere ist, dass man da mit ein paar Dioden
die Sache entkoppeln kann um auch mit Mehrfachbetätigungen klar zu
kommen.
Der springende Punkt ist aber, dass Patrick selber arbeiten soll anstatt
sich alles vorkauen zu lassen - und wenn geht gleich in Codeform
vorkauen, damit er nur ja nicht selber nachdenken muss und, Gott
bewahre, vielleicht sogar dabei was lernt.
Karl Heinz Buchegger,
du leitest ihn sehr gut und ich finde es immer wieder spannend, wie
feinfühlig Du auf die Möglichkeiten des Fragestellers eingehen kannst!
Danke.
Peter (PeDa) hatte auch schon mal einen Matrix-Scan-Code programmiert
und hier veröffentlicht.
Damit kann man dann die Matrix mit der Entprellroutine verbinden.
Wenn Du mir den Vorteil einer Matrix mit 4 Tasten aufzeigen kannst,
schreib ichs Dir.
Also gegenüber 4 Tasten einfach direkt an 4 Pins gegen GND.
Peter
Peter Dannegger schrieb:> Wenn Du mir den Vorteil einer Matrix mit 4 Tasten aufzeigen kannst...
Es werden nur 4 statt 5 Leitungen zum Tastenfeld benötigt.
mfg.
multi schrieb:> Wozu benötigst du für die 4 Taster eine 5. Leitung? Jeder Taster an> einen Pin. Macht 4.
Er sagte 'zum Tastenfeld'. Die 5.te Leitung ist GND
(formal richtig, aber nur ein sehr kleiner Vorteil)
multi schrieb:> Wozu benötigst du für die 4 Taster eine 5. Leitung? Jeder Taster an> einen Pin. Macht 4.
Na, dann habe ich mich wohl verzählt - oder du hast GND vergessen.
mfg.
Karl Heinz Buchegger schrieb:> (formal richtig, aber nur ein sehr kleiner Vorteil)
Wenn aber nur eine 4-adrige Leitung unter Putz vorhanden ist...
mfg.
R. Max schrieb:> Immerhin kann man 4-polig noch mit einem einfachen Telefonkabel> erschlagen. Je nach Situation kann das ein sehr großer Vorteil sein.
So ein schönes Spiralkabel vom Hörer.
mfg.
Guten Abend und Hallo,
vielen Dank für die große Beteiligung.
Meine Tasten Matrix is in einer fertig gekauften Tastutur und damit
nicht änderbar.
Ansonsten macht eine 4 Tasten Matrix natürlich keinen Sinn.
Wär echt nett, wenn du mir eine Routine dafür schreiben könntest!!!
Schönen Abend
Gruß Patrick
Patrick schrieb:> Wär echt nett, wenn du mir eine Routine dafür schreiben könntest!!!
Mir bitte auch - für DS18B20 mit DHT11 und Ausgabe auf 3x16 DOG LCD
Modul
mein perpetuum mobile und meine kristallkugel hatten eine kleine
meinungsverschiedenheit, seit der arbeiten beide nicht mehr so wie sie
sollten.
kann mir die vielleicht jemand reparieren?
irgendwann muss ich mal meinen plan in die tat umsetzen und versuchen
eine matrix mit 16 tasten und sagenhaften 3 io-pins + vcc und gnd (und
ein bisschen hühner und truthahnfutter) zu bauen und entprellen.
p.s. truthähne sind größer als hennen und bekommen daher auch größeres
futter (aber keine controller) ;-)
Patrick schrieb:> Wär echt nett, wenn du mir eine Routine dafür schreiben könntest!!!
Ich lese gerade ein nettes Buch, geht über Hirnforschung und
"verblödete" Kiddies. Da wird genau das beschrieben. Es wird nicht mehr
selber gedacht. Es ist viel schneller, woanders zu fragen. Das bringt
einen zwar eventuell schnell zu einer Lösung, man lernt aber nichts
davon. Das Gehirn geht ein, wenn es nicht mehr selber arbeiten darf. Aus
diesem Grunde muss man es fördern.
Da wir nicht wollen, dass irgendwann "verblödete" Ex-Kiddies unsere
Rente erarbeiten oder gar uns pflegen, versuchen wir, dagegen anzugehen.
Daher fördern wir das obige Verhalten nicht, sondern unterstützen die
Selbtlernfähigkeit, die jedem Menschen inne wohnt und die die Menschheit
genau dahin gebracht hat, wo sie aktuell steht (scheinbar am Abrgund).
....bitte ausfüllen.... schrieb:> Da wir nicht wollen, dass irgendwann "verblödete" Ex-Kiddies
Laßt doch endlich mal dieses ewige Herumgetrolle sein, wird Euch das
nicht langweilig?
Jemandem vorzuwerfen, er sei blöd, bringt ihn bestimmt nicht weiter.
Wenn man keine Lust hat, reicht es völlig, einfach garnicht zu
antworten.
Ein Forum sollte primär nicht dazu dienen, ständig nur Emotionen
abzulassen, weil einen die Frau nicht rangelassen hat oder der Chef
einen ärgert.
Dafür gibts ja auf dem PC das NULL-Device, da kann man allen Ärger
aufschreiben und dahin verschieben.
Peter
Also man sollte vor allem auch beachten welche Varianten und Invarianten
in dem speziellen Fall eine vier Tasten Matrix vorkommen, eventuell gilt
dann P=NP ...
Hallo,
vielen Dank für die Hilfe aber leider programiere ich immer in C.
Kann ich das irgendwie in C umschreiben?
Und bitte keine höchst unpassenden Kommentare mehr.
Ich noch Anfänger, was Mikrocontroller angeht.
Also bitte Nachsicht!
Gruß Patrick
Uwe S. schrieb:> Hallo Patrick,>> hmm, jetzt fällt mir die Gesichtsklappe herunter. :-(>> Das ist doch "C" mit den AVR Macros!>>>> Beitrag melden Bearbeiten Löschen
Was hast Du denn erwartet ?
Das ist der übliche Versuch eine Aufgabe lösen zu lassen.
Nur wenn dann der Lehrer/Prof o.ä. nachfragt gibt's was auf die Mütze
...
Würde schon gerne vom OP wissen was denn bei seiner vier Tasten Matrix
die Variante und Invariante ist :-P
Das konkludiert also zu OP=NP ...
Patrick schrieb:> Hallo,> vielen Dank für die Hilfe aber leider programiere ich immer in C.>> Kann ich das irgendwie in C umschreiben?
Jetzt reichts.
Das muss ein Troll sein.
Ich mach dann mal dicht.