Naja, überlegen wir doch erstmal was benötigt wird...
(dabei gehe ich davon aus daß die erste beschriebene Messmethode zum Einsatz kommen soll)
das wären nämlich wenn ich mich nicht sehr irre:
64 digitale Ausgänge und 64 digitale Ein-/Ausgänge
Nun ist es aber so, daß jeweils 7 der 8 Spalten einfach nur gleichmäßig leuchten müssen (denn die Matrix soll ja nicht als Display sondern als Touchpad verwendet werden). Das reduziert den Hardwareaufwand schonmal erheblich, denn damit brauchen wir nurnoch 8 Ausgänge und 64 Ein/Ausgänge. 8 Ausgänge sind mir aber immernoch zuviel, also benutzen wir einen geeigneten Decoder, wodurch wir am Controller selbst nurnoch 3 Pins benötigen.
Jetzt müssen wir versuchen die 64 Ein-/Ausgänge etwas zu reduzieren...
Auch hier gilt wieder: 7 der 8 Spalten leuchten einfach in der Gegend rum, nur an einer Spalte wird gemessen. Aber wie wird denn nun gemessen? Wenn ich das nicht völlig falsch interpretiert habe laden wir die Diode auf, und messen dann wie lange es dauert bis sie sich soweit entladen hat, daß der Eingang das als "Low" interpretiert.
Also weiter im Text...
wir wollen jeweils nur 8 LEDs gleichzeitig messen, da sollte es doch möglich sein das auch mit nur 8 Ports zu erledigen, oder?
Die Anoden werden ja allein schon durch die erste "Sparmaßnahme" korrekt angesteuert, bleiben noch die 64 Kathoden, von denen 56 einfach nur an "Low" hängen müssen.
Wir müssen also nurnoch in der Lage sein die 8 Kathoden einer Spalte wahlweise an GND oder an 8 digitale Ein/Ausgänge am µC zu hängen.
Gruß,
Felix
Lesezeichen