Ich suche nach einer Möglichkeit, mehrere Kontaktpunkte von Kraft oder Druck zu erkennen und zu unterscheiden. Ich habe eine verwandte Frage unter der unten aufgeführten URL gestellt:
So kodieren Sie eine große Anzahl digitaler Eingangssignale in ein Signalergebnis
Die darin gegebene Antwort bestand darin, ein D2A zu erstellen und die Kontaktpunkte zu bestimmen, indem es aus dem ausgegebenen Spannungspegel extrahiert wurde. Ich fand diese Lösung ein bisschen "klobig", da ich dann die Originalsingle in mein grob gemachtes D2A leiten werde, das dann zur Verarbeitung wieder in ein A2D geleitet wird.
Ich suche nach einer alternativen Lösung für dieses Problem. Alle Vorschläge sind willkommen
Ich habe die vorherige Frage beantwortet und dachte, es wäre Ihnen egal, auf welchen Punkt gedrückt wurde, und ich wollte nur wissen, ob einer von ihnen gedrückt wurde.
Jetzt möchten Sie wissen, welche Punkte gedrückt werden und wie Sie mit nur wenigen Mikrocontroller-Pins eine große Anzahl erkennen können. Mein Vorschlag ist diesmal, einige Schieberegister zu verwenden . Diese erfordern nur wenige Pins und viele können miteinander verkettet werden, um viele Zeilen zu lesen und die parallelen Daten in serielle Daten umzuwandeln, die in den Mikrocontroller getaktet werden. Sie benötigen einen SR, der PISO (Parallel In, Serial Out) macht und kaskadiert werden kann. Ein universeller SR wie der CD74HCT299 sollte in Ordnung sein. Weitere Optionen finden Sie bei Mouser, Farnell, Digikey usw. - hier sind Lose von Farnell .
Sie haben jetzt "gleichzeitig" erwähnt, aber nicht genau definiert, wie schnell Sie dies einschätzen. Ich gehe davon aus, dass es im Vergleich zur Taktrate eines Mikrocontrollers nicht so schnell sein muss, wenn menschliche Berührungen erkannt werden sollen.
Wenn Sie beispielsweise 256 Zeilen lesen und Ihr Takt bei 1 MHz liegt, dann sehen Sie ungefähr 0,25 ms, um alle Daten einzutakten - das ist leicht schnell genug, um sicherzustellen, dass Sie keine Berührung verpassen. Abhängig von den verwendeten Schieberegistern (Laufzeitverzögerung, maximale Anzahl seriell verketteter Register - z. B. könnten Sie zwei oder vier Ketten anstelle einer langen machen) könnten Sie schneller fahren - viele kleine Mikros haben ein SPI-Peripheriegerät, das mindestens bis zu leisten kann 8MHz.
Je nachdem, wie Sie die Dinge tun möchten und wie schnell es sein muss, können Sie es beispielsweise als 8x8- oder 16x16-Matrix einrichten und jeweils eine Zeile scannen.
Hier ist ein Beispiel für zwei verkettete SRs (von dieser Seite ):
Andi aka
Bock
Andi aka
Bock
Bock