-
Zweifellos - aber das ist dir ja zu teuer.
Du könntest an einen Arduino (oder Pi + vier AD-Wandler) vier selbstgebaute 4x4-Analogtastenfelder anschließen.
Die Steuerung der LEDs ginge auf verschiedenen Wegen z. B. mit Matrixansteuerung per Portwerweiterung oder mit zwei Schieberegistern (letzteres wäre eine sehr einfache Lösung, weil du eigentlich nur drei Pins - CLK, OUT, LatchCLK - brauchst).
Alternativ könnte z. B. ein Atmega128 mit seinen 53 I/O-Pins leicht ne 10x10 Matrix mit LEDs steuern - allerdings gibts den natürlich nur als SMD - das ist wohl nichts für dich.
-
die Tastatur-Keypads sind nicht beleuchtet, und die Steuerung für einzelne zusätzliche LEDs würden ja weitere Pins benötigen, wenn die Tasten nicht fest einrasten.
Und wie gesagt, selber basteln geht nicht mehr, leider.
Außerdem soll die Sache für mich lokal autonom lauffähig sein.
-
Aber wäre es nicht einfacher und billiger, so ein Tastenfeld auf einem PC/Notebook zu programmieren? Da könnte man die Felder mit der Maus bequem schalten und die Einstellungen dann seriell an Pi oder Arduino senden.
Auch mit einem kleinen Touchdisplay am Raspberry wäre das für 10-15 € machbar...
-
Angesichts der Umstände mit der Hardware ist es wohl besser, ein nodeMCU für den Code zu verwenden und das Tastenfeld per HTML-Seite zu erstellen.
MfG
-
wenn du es schaffst, das zu programmieren als Eingabe-/Anzeige Feld, dann wäre das ein Anfang!
(auch wenn ich es selber lieber lokal anschließen würde)
Die einzelnen html-Felder müssen lediglich einen "gedrückt" Status ans Arduino-Programm zurückliefern, die man genau so behandlen kann wie wenn ein Hardware-Switch gedrückt ist, und das für alle 64 virtuellen html-Buttons
for (int i=0; i<64; i++) input[i] = htmlBtn[i];
falls im gedrückt-Status, müssten die jew. html Buttons dann ihre Farbe wechseln, z.B. von schwarz nach gelb.
Ich selber wäre damit momentan noch überfordert...
-
Eventuell wäre ja auch ein Touchdisplay eine Lösung?
-
Vielleicht kann man die Zielsetzung und die Randbedingungen noch etwas weiter beschreiben und gegeneinander abwägen damit man zu einem gemeinsamen Veständnis für den Lösungsweg findet.
-
ja, gern!
Zu den Ersatz-Vorschlägen:
Touch TFT ist schwierig, weil es
a) keine stabil funktionierenden Libs für Touch TFTs für die notwendigen 64-100 Buttons gibt, mit denen man so etwas machen könnte (ich kenne keine trotz umfangreicher Suche und Testcodes in der Vergangenheit) , und
b) für das ILI9341, das billig und vergleichsweise verbreitet ist, erst recht nicht,
abgesehen von
c) der absolut chaotischen ILI9341-Verkabelung, und außerdem
d) funktionieren längst nicht alle Touch-Libs mit M0, M4 und ESPs.
e) besser ist schon das große aufsteckbare Adafruit Feather HX8357 Touch TFT, das ich selber besitze und dessen Lib für M0, M4, ESP8266 und ESP32 funktioniert, aber
f) selbst das hat keine sicheren Funktionen, um Buttons zu steuern (Button justpressed, Button justreleased).
html-Code
a) ist für mich schwierig umzusetzen (um nicht zu sagen: der blanke Horror), da gab es ja hier im Forum bereits etliche Topics, bei denen Probleme diskutiert wurden, aber
b) @moppi: gerade du hast ja deutlich mehr Ahnung und könntest am ehesten Licht ins Dunkel bringen.
Ansonsten wäre das Ziel laut TOP, ein 8x8-10x10 Hardware-Buttonpad zur Verfügung zu haben, das
a) fertig aufgebaut ist
b) das sich jeder andere auch "eben mal" bestellen kann,
c) wo man zusätzlich für das Training eines Musters im Netz auch sofort sieht, welches Muster tatsächlich gerade eingegeben ist, das gelernt und dann erkannt werden soll (daher LEDs zur Statusanzeige), und
d) bezahlbar muss es auch sein, ich denke bei 8x8 an ca. 50 EUR, 60 wären auch OK, darüber wird es schon grenzwertig.
-
Das ist nicht ganz so einfach. Das nodeMCU ist etwas langsam. Ich hatte schon mal gelesen, dass die keine sher hohe Datenübertragungsrate per WiFi haben, aber mich stellt das so nicht ganz zufrieden. Einen Anfang habe ich gemacht, bis ich jetzt gesehen habe, wie lang das mit der Übertragung der Seite dauert.
Es wäre in der Größe, per CSS, noch optimierbar, aber besser wär's mit JavaScript auf der Seite zu arbeiten und einem unsichtbaren Frame, zwecks Datenübertragung.
MfG
-
die Eingabe per Buttons ist nicht zeitkritisch, das dauert eh bis man ein Muster mit etwa 10-20 Buttons gedrückt hat.
Dann muss es per Sende-Button ("Fertig") übertragen weden,
und dann beginnt der Trainings- und Lernalgorithmus, der dann eh nicht mehr auf das Netzt per html zugreift und (je nach Netzstruktur und Musterzahl) durchaus mehrere Stunden dauern kann.
Im "Erinnerungsmodus" kann man dann dem Netz verschiedene Muster präsentieren (dauert so lange wie oben)
und dann legt es die gelernten Perzeptronwerte an (Netz-Matrix),
das dauert dann erfahrungsgemäß nur wenige Sekunden bis zur Auswertung.