Ich arbeite mit einem Freund (er hat die Vision, baut die Struktur, ich arbeite an der Elektronik) an einem großen Projekt, bei dem ein Raster von Bildern auf Knopfdruck von einer LED beleuchtet wird. Er plant, 1000 Bilder mit jeweils eigenen Schaltflächen zu haben. Ich plane, das gesamte Projekt auf einem Raspberry Pi auszuführen. Die LEDs gehen durch SPI. Ich habe Probleme herauszufinden, wie ich eine so große Anzahl von Tasten anschließen und überwachen kann (ich habe viel mit LEDs gearbeitet, aber wenig Erfahrung mit der Überwachung mehrerer Eingänge). Ich habe mir ein paar Optionen ausgedacht und frage mich, welche die beste ist, wenn dies überhaupt machbar ist:
Kann eine dieser Optionen auf einem einzelnen RaspberryPi mit guten Reaktionszeiten ausgeführt werden? In diesem Szenario ist es weniger wichtig, mehrere Druckvorgänge zu registrieren, als etwas zu haben, das schnell auf jeden einzelnen Druckvorgang reagiert.
Es könnte sicherlich funktionieren, I2C kann ziemlich schnell laufen. Stellen Sie einfach sicher, dass die von Ihnen verwendeten ICs einen Adressraum unterstützen, der breit genug ist, um auf demselben Bus zu sitzen. Das Schöne an I2C ist, dass es Multimaster ist, wenn Sie einen IC finden, der Ihren Hauptcontroller wissen lassen kann, wenn eine Taste gedrückt wurde, sollte das gut funktionieren. Selbst wenn Sie auf Abfragen zurückgreifen müssen, sollte der Himbeer-Pi in der Lage sein, diese Last problemlos zu bewältigen.
Die Reaktionszeiten können Sie grob berechnen, indem Sie die Zeitdiagramme im Datenblatt durchgehen und ein wenig experimentieren. Beginnen Sie damit, wie lange Sie brauchen, um die Daten überhaupt zu erfassen. Sofern es nicht irgendwo einen schrecklichen Engpass gibt, sollte es schnell genug für Ihre beabsichtigte Funktion laufen.
Es hängt zu einem großen Teil davon ab, wie weit Ihre Tasten voneinander entfernt sind, es hängt auch von der potenziellen Notwendigkeit ab, mehrere gleichzeitig aktivierte Tasten zu unterstützen.
Ich würde vorschlagen, dass Sie einen einfachen PC-Tastatur-Controller verwenden könnten (Tastaturen sind wirklich billig), er unterstützt etwa 104 Tasten (Tasten) und bietet N-Key-Rollover, sodass Sie viele Tasten gleichzeitig sehen können. Wenn Sie einen Tastatur-Controller verwenden, können Sie ihn über USB anschließen, mehrere über einen Hub verbinden (ein 8-Port-Hub würde Ihnen etwa 800 Tasten geben) und die Software für ein Tastaturgerät ist einfach zu schreiben.
Wenn Sie Tastaturen mit USB-Buchsen erhalten, haben sie bereits einen internen Hub, sodass Sie sie auch auf diese Weise serialisieren können.
Bei vielen Tastaturen befindet sich der Controller auf einem kleinen separaten Motherboard, das von der Tastenmatrix getrennt ist, was die Dinge schön und einfach macht. Ich habe viele Tastaturen zerschnitten, nur um die Funktionstasten für verschiedene Projekte zu bekommen, und es funktioniert gut.
Elly Eastman