Hilfe bei der Verschaltung von 116 Taster, 4 Thumbsticks sowie LEDs/RGB LEDs usw

Hallo liebe User

Ich bin neu in diesem Forum und möchte mich über die Möglichkeiten informieren, wie ich meine Schaltung realisieren kann.

In der nachfolgenden Auflistung sind die Module 1 bis 22 mit den einzelnen Bauteilen und deren Tastaturlayout/Schaltfunktion hinterlegt, welche sich Sternförmig von einem Arduino Due (Leitungslänge max. 3m) verteilen.

Zu meinen Fragen:

  1. Welche Lösung ist am besten geeignet: I2C, Schiftregister oder gibts noch andere Möglichkeiten?
  2. Welche Vor- und Nachteile der jeweiligen Optionen, wenn nötig (passende Schlatung)
  3. Welche Absicherung der Bauteile gegen Fehlauslösung sind sinnvoll?
  4. Welche Widerstände oder sind 10k Ohm für Taster und 220 Ohm für LEDs/RGB LEDs ausreichend?
  5. Weitere Fragen folgen im Verlauf meines Projektes…
Modul 1 

Taster 1 ESC RGB LED 1
Taster 2 F1 RGB LED 2
Taster 3 F2 RGB LED 3
Taster 4 F3 RGB LED 4
Taster 5 F4 RGB LED 5
Taster 6 F5 RGB LED 6
RGB LED 7
RGB LED 8
RGB LED 9
RGB LED 10
RGB LED 11
RGB LED 12

Modul 2 

Taster 7 F6 RGB LED 13
Taster 8 F7 RGB LED 14
Taster 9 F8 RGB LED 15
Taster 10 F9 RGB LED 16
Taster 11 F10 RGB LED 17
Taster 12 F11 RGB LED 18
RGB LED 19
RGB LED 20
RGB LED 21
RGB LED 22
RGB LED 23
RGB LED 24
Modul 3 

Taster 13 F12 RGB LED 25
Taster 14 ^ RGB LED 26
Taster 15 1 RGB LED 27
Taster 16 2 RGB LED 28
Taster 17 3 RGB LED 29
Taster 18 4 RGB LED 30
RGB LED 31
RGB LED 32
RGB LED 33
RGB LED 34
RGB LED 35
RGB LED 36

Modul 4 

Taster 19 5 RGB LED 37
Taster 20 6 RGB LED 38
Taster 21 7 RGB LED 39
Taster 22 8 RGB LED 40
Taster 23 9 RGB LED 41
Taster 24 0 RGB LED 42
RGB LED 43
RGB LED 44
RGB LED 45
RGB LED 46
RGB LED 47
RGB LED 48

Modul 5 

Taster 25 ß RGB LED 49
Taster 26 ´ RGB LED 50
Taster 27 Backspace RGB LED 51
Taster 28 Tab RGB LED 52
Taster 29 Q RGB LED 53
Taster 30 W RGB LED 54
RGB LED 55
RGB LED 56
RGB LED 57
RGB LED 58
RGB LED 59
RGB LED 60

Modul 6 

Taster 31 ESC RGB LED 61
Taster 32 R RGB LED 62
Taster 33 Tab RGB LED 63
Taster 34 Z RGB LED 64
Taster 35 U RGB LED 65
Taster 36 I RGB LED 66
RGB LED 67
RGB LED 68
RGB LED 69
RGB LED 70
RGB LED 71
RGB LED 72

Modul 7 

Taster 37 O RGB LED 73
Taster 38 P RGB LED 74
Taster 39 Ü RGB LED 75
Taster 40 + RGB LED 76
Taster 41 Enter RGB LED 77
Taster 42 Cabslock RGB LED 78
RGB LED 79
RGB LED 80
RGB LED 81
RGB LED 82
RGB LED 83
RGB LED 84

Modul 8 

Taster 43 A RGB LED 85
Taster 44 S RGB LED 86
Taster 45 D RGB LED 87
Taster 46 F RGB LED 88
Taster 47 G RGB LED 89
Taster 48 H RGB LED 90
RGB LED 91
RGB LED 92
RGB LED 93
RGB LED 94
RGB LED 95
RGB LED 96

Modul 9 

Taster 49 (Schalter) J LED 1
Taster 50 K LED 2

Modul 10 

Taster 51 L RGB LED 97
Taster 52 Ö RGB LED 98
Taster 53 Ä RGB LED 99
Taster 54 # RGB LED 100
Taster 55 Linkes Shift RGB LED 101
RGB LED 102
RGB LED 103
RGB LED 104
RGB LED 105
RGB LED 106
RGB LED 107

Modul 11 

Taster 56 < RGB LED 108
Taster 57 Y RGB LED 109
Taster 58 X RGB LED 110
RGB LED 111
RGB LED 112
RGB LED 113
RGB LED 114
RGB LED 115
RGB LED 116

Modul 12 

Taster 59 C Media Pause RGB LED 117
Taster 60 V Media zurück RGB LED 118
Taster 61 B Media Play RGB LED 119
Taster 62 N Media vor RGB LED 120
Taster 63 M Media Stop RGB LED 121
Taster 64 , Mediaplayer an/aus RGB LED 122
Taster 65 . Programm 1 öffnen 
Taster 66 - Programm 2 öffnen 
Taster 67 Rechtes Shift Programm 3 öffnen 
Taster 68 Linkes Strg Programm 4 öffnen 
Taster 69 Links Windows Programm 5 öffnen 
Taster 70 Alt Programm 6 öffnen 
Roteryencoder 1 Vol up/down 
Taster 71 Leertaste Mute 

Modul 13 

Taster 72 Alt Gr RGB LED 123
Taster 73 Rechtes Windows RGB LED 124
RGB LED 125
RGB LED 126
RGB LED 127
RGB LED 128

Modul 14 
RGB LED 129
RGB LED 130
RGB LED 131
RGB LED 132
RGB LED 133
RGB LED 134

Modul 15 RGB LED 135
RGB LED 136
RGB LED 137
RGB LED 138
RGB LED 139
RGB LED 140

Modul 16 

Taster 74 Menü RGB LED 141
Taster 75 Rechtes Strg RGB LED 142
RGB LED 143
RGB LED 144
RGB LED 145
RGB LED 146
RGB LED 147
RGB LED 148

Modul 17 

Taster 76 Druck 
Taster 77 Rollen 
Taster 78 Pause 
Taster 79 Einfg 
Taster 80 Pos1 
Taster 81 Bild auf 
Taster 82 Entf 
Taster 83 Ende 
Taster 84 Bild runter 
Taster 85 Pfeil oben 
Taster 86 Pfeil links 
Taster 87 Pfeil unten 
Taster 88 Pfeil rechts 
Taster 89 Num 
Taster 90 / 
Taster 91 * 
Thumbstick 1 X Mouse Move X 
Thumbstick 1 Y Mouse Move Y 
Thumbstick 1 Z Linke Maustaste 
Thumbstick 2 X Pfeil hoch/runter 
Thumbstick 2 Y Pfeil links/rechts 
Thumbstick 2 Z Enter 

Modul 18 

Roteryencoder 2 Dreht bis 1080 Grad 

Modul 19 

Roteryencoder 3 Dreht bis 30 Grad 
Roteryencoder 4 Dreht bis 30 Grad 
Roteryencoder 5 Dreht bis 30 Grad 

Modul 20 

Taster 92 - 
Taster 93 7 
Taster 94 8 
Taster 95 9 
Taster 96 + 
Taster 97 4 
Taster 98 5 
Taster 99 6 
Taster 100 1 
Taster 101 2 

Modul 21 

Servo 1 Signal von Software Ausgabe 1 LED 3
Servo 2 Signal von Software Ausgabe 2 LED 4
Servo 3 Signal von Software Ausgabe 3 LED 5
Servo 4 Signal von Software Ausgabe 4 LED 6
Servo 5 Signal von Software Ausgabe 5 LED 7
Servo 6 Signal von Software Ausgabe 6 LED 8
Servo 7 Signal von Software Ausgabe 7 LED 9
Servo 8 Signal von Software Ausgabe 8 LED 10
       LED 11
               LED 12
        LED 13
        LED 14
        LED 15
        LED 16
        LED 17
        LED 18

Modul 22 

Roteryencoder 6 Links Rechts 
Roteryencoder 7 Vor Zurück 
Roteryencoder 8 Links Rechts Drehen 
Taster 102 3 Daumentaster 1 
Taster 103 Enter Daumentaster 2 
Taster 104 0 Daumentaster 3 
Taster 105 , Zeigefingertaster 
Taster 106 F 13 Basetaster 1 
Taster 107 F 14 Basetaster 2 
Taster 108 F 15 Basetaster 3 
Thumbstick 3 X Poti 7 Thumbstick Links Rechts 
Thumbstick 3 Y Poti 8 Thumbstick Vor Zurück 
Thumbstick 3 Z (Taster 109) F 16 Thumbstick Taster 

Modul 22 

Roteryencoder 6 Links Rechts 
Roteryencoder 7 Vor Zurück 
Roteryencoder 8 Links Rechts Drehen 
Taster 110 F 17 Daumentaster 1 
Taster 111 F 18 Daumentaster 2 
Taster 112 F 19 Daumentaster 3 
Taster 113 F 20 Zeigefingertaster 
Taster 114 F 21 Basetaster 1 
Taster 115 F 22 Basetaster 2 
Taster 116 F 23 Basetaster 3 
Thumbstick 4 X Poti 7 Thumbstick Links Rechts 
Thumbstick 4 Y Poti 8 Thumbstick Vor Zurück
Thumbstick 4 Z (Taster 117) F 24 Thumbstick Taster

Alle Schaltungen werden über Fritzing dargestellt und können wenn nötig auch heir höchgeladen werden.

Vielen Dank für eure Antworten.

mc-big-d:
Alle Schaltungen werden über Fritzing dargestellt und können wenn nötig auch heir höchgeladen werden.

Ja, bitte lade die Schaltung(en) höch. Und beschreibe bitte, was aus der mir ziemlich nichtssagenden Textwüste werden soll. Einfach nur eine Ansammlung möglichst vieler Teile?

Gruß

Gregor

Das sind die 8 baugleichen Module 1 bis 8 (zb als Schieberegister Variante)

Die RGB LEDs 1 bis 6 geben jeweils den Zustand von Taster 1 bis 6 an (zb dauer grün an / dauer rot aus)
Die restlichen RBG LEDs sollen frei wählbar bleiben und zb über eine auslesung eines Dokumentes oder der gleichen dann gesteuert werden

(Auszug aus dem Dokument)

RGB LED 7
R= 0
G= 20
B= 255

RGB LED 8
R= 23
G= 255
B= 2

Modul 14 und 15

Auch hier sollen die RBG LEDs frei wählbar bleiben und die zuvor genanten Funktionen haben

mc-big-d:
In der nachfolgenden Auflistung sind die Module 1 bis 22 mit den einzelnen Bauteilen und deren Tastaturlayout/Schaltfunktion hinterlegt, welche sich Sternförmig von einem Arduino Due (Leitungslänge max. 3m) verteilen.

gelten die max 3m vom Due zu einem Modul (also bis zu 22*3=66m) oder ist das die Gesamtlänge aller Leitungen zu allen Modulen - im Schnitt also nicht mehr als 300cm/22= 13,6 cm.

Dann stellt sich mir noch die Frage wie es zur Teilung der Module kommt: Sollen diese so wie angeführt mechanisch getrennt sein, ist deren Aufstellungsort getrennt?

Ich denke du erhältst bessere Antworten wenn du nicht nur den technischen Ausschnitt beschreibst sondern den ganzen Kontext deines Projektes.

Vielen Dank erstmal an dieser Stelle für eure Hilfe!

Generell ist es so, dass von einem zentrallen Punkt aus (Sternförmig) alle einzählnen Module angefahren werden sollen (eventuelle Kettenbildung aus relevanten Gründen ist möglich).

Beispielbild im Anhang.

Sie sind, wie richtig bemerkt, mechanisch und somit deren Aufstellungsort getrennt .

Die ca. Längen wären:

2x 20cm
4x 30cm
4x 50cm
4x 60cm
4x 120cm
2x 300cm (eventuell kürzer)

Ziel ist es einen Kontroller zu bauen, mit dem ich diverse Softwaren steuern kann, weshalb auch alles an ein Tastaturlayout gehalten ist und dessen funktionen, im Grunde genommen, auf einzählne Module verteilt und durch Zusatzfunktionen erweitert ist.

Da du noch nichts über das Umfeld schreibst, 3 Stichworte:

CAN-Bus
Ethernet
RS485

vermutlich sogar in dieser Reihenfolge

CAN-Bus: weil MultiMaster und es auch in verseuchtem Umfeld wie z.B. einem Fahrzeug funktioniert
Ethernet: weil Infrastuktur (Kabel, Switches, Hubs) gut verfügbar ist und alle weiteren OSI Layer mit entsprechenden Standards verfügbar sind und am Arduino entsprechende Beispiele vorhanden sind
RS485: weil seit gefühlten Ewigkeiten etabliert, sich einfach umsetzen lässt aber wohl mehrere Layer zunächst selber gut überlegt werden wollen

Was ich mit dem bisherigen Wissen um dein Projekt nicht machen würde
"Irgendwas" mit TTL Pegel weitersenden
I2C ... weil - halten wir uns einfach an den Namen - Inter-Integrated Circuit

Zum Thema Kabel usw es soll alles geschirmt werden. Was wäre den eine max Länge die nicht überschritten werden darf um die von dir Angeführten

CAN-Bus
Ethernet
RS485

zu umgehen?

mc-big-d:
Zum Thema Kabel usw es soll alles geschirmt werden. Was wäre den eine max Länge die nicht überschritten werden darf um die von dir Angeführten

CAN-Bus
Ethernet
RS485

zu umgehen?

Warum willst du die drei genannten umgehen?

Schau doch mal bei Wikipedia...
Da sind meist die üblichen max Längen aufgeführt.

Oder soll ich das für dich machen?

Ich fasse alles gerade nochmal zusammen:

Es geht um eine Konsole, die die ca. max. Abmessungen (über alles) von 1,2m x 0,9m x 0,9m hat.

Die Module sind im Abstand von ca 20cm auf 10 cm (Mitte bis Mitte Waagerecht und Senkrecht) angeordnet.
Ausgenommen von 2 Stück die eine Anschlussleitung von ca 2m haben und 1 Modul welches ca 3m hat.

Die Gehäuse der Module, sowie das generelle Gehäuse, werden wahrscheinlich aus PEHD Kunststoff angefertigt.

Einspeisung erfolgt durch 230V (auf Trafo) und USB 2.0

Angesteuert werden sollte es durch ein Arduino Due (eventuelle Änderungen möglich).

Die Konsole umfasst 22 teils baugleiche Module uns ist bestückt mit:

116 Taster (die von der Datenausgabe her eine normale Tastatur wiedergeben sollen)
mit 48 Status RGB LEDs (zb Rot für nicht aktiv Grün für aktiv), Multimediatasten für zb Play Pause Stop Vorwärts Rückwärts usw.

90 einzeln anzusteuernde RGB LEDs (welche aus einem Dokument oder der gleichen ihre Werte beziehen),

8 Servos (welche aus einem Dokument oder der gleichen ihre Werte beziehen),

4 Thumbsticks sowie 8 Rotery Encoder, welche für das bewegen und der gleichen im Programm zuständig sein sollen.

Zu der Verdrahtung:

Eine Strang-/Stich-, Stern- oder Kombiverdrahtung wäre möglich.
Ob von Modul zu Modul oder von Verteiler zu Modul/en ist so zu wählen, dass die möglichen Fehlerquellen und der gleichen zu minimieren/vermeiden sind.

Fragen:

Ist eine Bauwise mit Schieberegistern sinnvoll?
Sind IO Shield die bessere Wahl?
Sollte ich eher in jedes Modul zb. ein Nano packen?
Welche Verdrahtung für welche Ansteuerung ist sinnvoll?

weitere folgen…

Und danke euch für die Geduld und die Hilfe

combie:
Warum willst du die drei genannten umgehen?

Schau doch mal bei Wikipedia…
Da sind meist die üblichen max Längen aufgeführt.

Oder soll ich das für dich machen?

Ich meine damit, ob diese extra Bauteile nötig sind, wenn ich die Leitungslänge reduzieren würde?

Ich würde jedem Modul seinen Kontroller spendierenund übe irgendeinen Bus diese Module mit dem Hauptmodul verbinden.

Ich verstehe noch nicht wie Du die frei programmierbaren LED der Module programmieren willst.

Damit das Ding sicher funktioniert brauchst Du Zusatzhardware für die Datenverbindung.

Du kannst auch jedes Modul einen ESP8266 (kostet weniger als ein Kabel zum Modul) einbauen und jedes Modul einzeln über WLAN mit dem PC verbinden und dort ein Programm haben zur Steuerung der Module.

Grüße Uwe

Hi

Ich sehe bei dem Drahtverhau und den vielen LEDs zusätzlich ein Strom-Problem - zumindest, wenn man erkennen soll, daß Da eine LED leuchtet.

Wer oder Was den 'freien' Bauteilen die Befehle gibt, Die 'irgendwoher' ausgelesen werden, wollte mir auch noch nicht ins Stammhirn wandern.

MfG

Mein Tipp: Je schneller Du Dich von Deinem Konzept verabschiedest, desto schneller kommst Du zu einem funktionierenden.

mc-big-d:
CAN-Bus
Ethernet
RS485

Auch I2C wäre noch eine Möglichkeit, aber auch nur mit zusätzlicher Expander-Elektronik für größere Entfernungen. Die Kommunikation über einen Bus ist in den Programmbibliotheken bereits enthalten und selbst ein ProMini hat diese Schnittstelle frei. ProMini bitte die richtige Farbe “ProMini 5V” oder besser Nano “Ch340G Nano3,0” auswählen!

Bei RS485 wäre eine zweite serielle Schnittstelle (UART) von Vorteil, da die erste für neue Programme und zum Debuggen benötigt wird. Der Mega 2560 PRO wäre da mein Kandidat, wobei viele Pins für digital und analog IO und PWM zur Verfügung stehen.

Bei vielen LEDs denke ich an WS2812 oder besser APA102 und vergleichbare. Die haben das Schieberegister und PWM gleich integriert. Das wolltest Du doch, oder? Als Bauformen gibt es flexible, kürzbare Streifen, Sticks, einzelne mit Kabel, oder 5 mm LEDs (siehe mein Avatar) und andere Bauformen. Für alle LEDs benötigst Du dann nur ein oder zwei Pins und kaum Löten.

Suche Dir was Hübsches aus.

Erst einmal vielen lieben Dank für eure Hilfe und Ideen

uwefed:
Ich würde jedem Modul seinen Kontroller spendierenund übe irgendeinen Bus diese Module mit dem Hauptmodul verbinden.

Ich verstehe noch nicht wie Du die frei programmierbaren LED der Module programmieren willst.

Damit das Ding sicher funktioniert brauchst Du Zusatzhardware für die Datenverbindung.

Du kannst auch jedes Modul einen ESP8266 (kostet weniger als ein Kabel zum Modul) einbauen und jedes Modul einzeln über WLAN mit dem PC verbinden und dort ein Programm haben zur Steuerung der Module.

Grüße Uwe

Mir ging es eigentlich darum wenn die Leitungslänge nur wegen Xcm weitere Arduinos braucht würde ich natürlich die Geldsparrende methode vor ziehen.

Wegen den RGB LEDs kann es sein das ich das falsch verstanden habe. Ich habe das so verstanden wenn ich eine Art Readline funktion (kenne mich noch nicht so mit dem programmieren aus) die Spalten und Zeilen einer Tabelle oder eines Dokumentes auslesen lasse, somit die Werte den RGB LEDs gegeben werden können.

agmue:
Bei RS485 wäre eine zweite serielle Schnittstelle (UART) von Vorteil, da die erste für neue Programme und zum Debuggen benötigt wird. Der Mega 2560 PRO wäre da mein Kandidat, wobei viele Pins für digital und analog IO und PWM zur Verfügung stehen.

Ein Arduino MICRO hat auch eine freie serielle Schnittstelle die unabhängig von der USB ist und ist sehr viel kleiner (NANO-Niveau).
Grüße Uwe

Wenn ich richtig gezählt habe dann hast Du 148 RGB LED. Die brauchen bei 20mA pro Farbe bis zu 9A.
Grüße Uwe

agmue:
Mein Tipp: Je schneller Du Dich von Deinem Konzept verabschiedest, desto schneller kommst Du zu einem funktionierenden.
Auch I2C wäre noch eine Möglichkeit, aber auch nur mit zusätzlicher Expander-Elektronik für größere Entfernungen. Die Kommunikation über einen Bus ist in den Programmbibliotheken bereits enthalten und selbst ein ProMini hat diese Schnittstelle frei. ProMini bitte die richtige Farbe “ProMini 5V” oder besser Nano “Ch340G Nano3,0” auswählen!

Bei RS485 wäre eine zweite serielle Schnittstelle (UART) von Vorteil, da die erste für neue Programme und zum Debuggen benötigt wird. Der Mega 2560 PRO wäre da mein Kandidat, wobei viele Pins für digital und analog IO und PWM zur Verfügung stehen.

Bei vielen LEDs denke ich an WS2812 oder besser APA102 und vergleichbare. Die haben das Schieberegister und PWM gleich integriert. Das wolltest Du doch, oder? Als Bauformen gibt es flexible, kürzbare Streifen, Sticks, einzelne mit Kabel, oder 5 mm LEDs (siehe mein Avatar) und andere Bauformen. Für alle LEDs benötigst Du dann nur ein oder zwei Pins und kaum Löten.

Suche Dir was Hübsches aus.

Wegen I2C habe ich das falsch verstanden, dass nach 8 Slaves schluss ist und man dann nicht sowieso eine Erweiterung über eine weitere Linie machen muss, um die nächsten 8 Slaves einzubinden? Ist dann da nicht sowieso die Spannungsversorgung über seperate Vcc und GND zu führen?

uwefed:
Wenn ich richtig gezählt habe dann hast Du 148 RGB LED. Die brauchen bei 20mA pro Farbe bis zu 9A.
Grüße Uwe

Deswegen ja die 230V am Gehäuse von wo aus ich mir ja den Strom so aufteilen kann das es passt.

Aber dennoch guter Einwand, was zeigt, dass hier noch über den Tellerrand hinaus geschaut wird.

TOP

mc-big-d:
Deswegen ja die 230V am Gehäuse von wo aus ich mir ja den Strom so aufteilen kann das es passt.

Damit erledigt sich das Thema, egal aus welchem Grund, sowieso.

Gruß Tommy

230V in einem seperaten Bereich/Gehäuse an dem Gehäuse der Konsole, sodass in der Konsole nur die 5V anliegen (Sprich getrennt). So besser formuliert?