Geht das so wie ich das gerne hätte?

Hallöle, Mein Modellbauverein hätte gerne eine digitale Steuerung für den Bahnhof, also werde ich eine bauen / programmieren :D Meine Wahl ist auf den Arduino gefallen weil am praktischsten und so... Jetzt hätte ich ein paar Fragen: Ich brauche ca. 70 Digitale Inputs und 4 Analoge Inputs. An Outputs brauche ich ca. 70 Stück (LEDs leuchten lassen). Außerdem brauch ich noch nen Bildschirm... Da das Steuerpult ja nicht da steht wo z.B. die Weiche gesteuert wird muss ich 2 Arduinos mit LAN Board nehmen und die per UDP kommunizieren lassen. Soweit so gut, aber an dem anderen Arduino brauch ich auch noch ca. 70 Outputs. Jetzt ist die Frage: Welchen Arduino muss ich jeweils nehmen? Und noch ne generelle Frage: Wird das Ding jetzt in Java oder C++/C programmiertSieht mir doch stark nach Java aus, oder?

Viele Grüße Robin

Erstmal zu den Ausgängen:

Wenn sich die Funktion der Outputs auf des Schalten von LEDs reduziert, würde ich zum Einsatz von von sowas raten, falls die Bauform ok ist: http://www.ebay.de/itm/20-Stueck-WS2812-RGB-SMD-5050-PLCC6-LED-mit-integriertem-WS2811-Controller-/350765334356

Dann kannst Du mit einer Datenleitung mehrere hundert RGB LEDs in Helligkeit und Farbe steuern...

Anzeige: I2C LCD oder GLCD

Ein Mega2560 hat 53 I/O Pins.

Mit 2 Stück davon, welche seriell miteinander sprechen, sollte Dein Projekt machbar sein, wenn der "Bildschirm" im Rahmen bleibt.

Programmiert wird in C.

Grüße

Helmuth

edit: Alternativ ein I2C Port Expander.

Na das mit dem PWM Signal sieht mir doch etwas zu kompliziert aus :astonished: Also müsste ich dann 3 MEGA Platinen nehmen und ggf. nen Netzwerk Switch?

Viele Grüße P.S. Ich hatte eher an nen TFT gedacht :roll_eyes:

TFT + Ethernet geht auf einem Mega. Bei einem 3,2" mit Shield muss man beim Anschluss etwas kreativ werden aber es geht. Oder den Ethernet Controller als Breakout Board nehmen. Kleine TFTs gibt es auch mit SPI.

Die LED Strips kann man wie gesagt seriell ansteuern. Dafür reicht dann ein UNO oder gar ein Nano.

Auch wenn du wirklich 70 I/Os brauchst, gibt es da noch andere Lösungen mit Schieberegistern, I2C Port-Expander oder externen PWM Controllern. Man braucht nicht immer gleich einen zusätzlichen µC.

Wo steht was von PWM?

GLCD = TFT. Welche Auflösung soll er denn haben?

Ja, PWM ist hier unnötig. Aber bei anderen externen Bausteinen gilt das gleiche. Man kann ein Arduino Board auch so mit ein paar ICs oder Breakout Boards erweitern.

Den kleinen mit 300x100px oder sowas in der Richtung finde ich ganz gut. Also könnte ich mit einem MEGA pro "Seite" auskommen, wenn ich nen I²C Expander nutze?

Viele Grüße

Du bräuchtest schon mehrere. Ein PCF8574 macht 8 Bit. Und man kann 7 Stück mit den 3 Adressleitungen adressieren. Der MCP23017 hat 16 Bit und hat auch 3 Adressleitungen.

Wobei du da auch bedenken musst, dass du direkt mit denen keine LEDs treiben kannst. Die machen nur ca. 100mA pro IC. Dann braucht man noch einen Treiber. Auch deshalb wären LED Strips vielleicht die bessere Wahl.

Die LED Strips gibt es auch ohne Strip. Allerdings hast Du dabei 4 Anschlüsse pro LED (5V, Gnd, Din und Dout). Aber nur eine Datenleitung vom µC. Und dafür gibt es eine tolle Library: FastLED

Der DigiX http://digistump.com/products/50 ist Arduino-DUE kompatibel und hat von Haus aus 99 I/O Pins. Gibt's auch von nem deutschen Distributor.

Serenifly: Und man kann 7 Stück mit den 3 Adressleitungen adressieren.

3 Adressleitung = 8 mögliche Adressen, da 000 auch eine gültige Adresse ist.

mgcss: Der DigiX http://digistump.com/products/50 ist Arduino-DUE kompatibel und hat von Haus aus 99 I/O Pins. Gibt's auch von nem deutschen Distributor.

Hilft aber auch nur bedingt weiter. Zwar hat dieser wirklich deutlich mehr Ports, aber dadurch steigt nicht die maximale Leistung, die über den Linearregler laufen kann.

Die Idee mit den WS28xx Strips ist hier sinnvoller. Es wurde gesagt, diese gibt auch als "nicht" Strip. Dabei handelt es sich dann nur im das Bauteil. Die Bedrahtung ist einfach. Es wird lediglich noch ein Kerko benötigt. Jedoch weiß ich nicht,. in wie weit du diese Strips einbauen kannst. Alternativ gibt es den IC, der bei den WS28xx verbaut ist, auch einzeln. Dann müsstest du halt vor jeder LED ein solches IC verbauen.

sschultewolter: Die Idee mit den WS28xx Strips ist hier sinnvoller. Es wurde gesagt, diese gibt auch als "nicht" Strip. Dabei handelt es sich dann nur im das Bauteil. Die Bedrahtung ist einfach. Es wird lediglich noch ein Kerko benötigt. Jedoch weiß ich nicht,. in wie weit du diese Strips einbauen kannst. Alternativ gibt es den IC, der bei den WS28xx verbaut ist, auch einzeln. Dann müsstest du halt vor jeder LED ein solches IC verbauen.

Etwas preziser: WS2811 ist ein PWM-LED-Treiber/Controller zum Anschluß einer 6 poligen RGB LED. WS2812 hat den Treiber im LED integriert. WS2812B hat statt 6 Pins nur mehr 4 ist aber sonst weitgehend aber nicht wirklich 100% kompatibel zum WS2812. Alle genannten Bauteile haben ein 1 -Draht Interface wobei das Eingangsignal abzüglich der eigenen Daten am Ausgang Wiederholt wird. Tehoretisch können unendlich viele hintereinander geschaltet werden. Praktisch bestehen Grenzen wegen der Signalbusfrequen und gewollten Aktualisierungsfrequenz.

WS2801 ist ein PWM-LED-Treiber/Controller zum Anschluß einer 6 poligen RGB LED. Er besitzt ein 2 Draht interface (Daten und Takt).

Grüße Uwe

Also, Wie mach ich das jetzt am besten? Mit diesen komischen LEDs bei denen ich nicht blicke wie man die ansteuert (:D) oder mit einfach vielen I/O pins? Oder mit nem Stackbaren Expander?? Was würdet ihr empfehlen? Das mit den LEDs gefällt mir iwie nicht sooo recht...

Viele Grüße Robin

@Uwefed: Dann sei auch noch der WS2803 erwähnt, ein 18 Kanal PWM LED Treiber / Controller für 6 RGB LEDs. 2 Draht Interface bis 25MHz. http://www.jarzebski.pl/datasheets/WS2803.pdf

... ist ein PWM-LED-Treiber/Controller zum Anschluß einer 6 poligen RGB LED.

Du meinst sicherlich zum Anschluß von 2 RGB LEDs?!

@java4ever: Die Ansteuerung ist wirklich kein Problem, Du schreibst einfach alle Helligkeiten/Farben in ein Array, sendest das, fertig. Wie gesagt, es gibt eine Library dafür, die sich um alles kümmert. So sehen die WS2812 LEDs aus: http://www.watterott.com/de/WS2812-Intelligent-RGB-LED-10-Stueck

Grüße

Helmuth

Also ich werde jetzt erstmal ein LCD Display und einen Arduino Uno bestellen, oder was sagt ihr? Das mit den LED Streifen ist doof, weil das ja ein Steuerpult ist und die LEDs nicht direkt aneinander hängen... Also wenn ich mit 50LEDs á 20mA an 5V Rechne komme ich auf 1A, passt doch! Außerdem leuchten nicht alle LEDs gleichzeitig ;)

Viele Grüße Robin

Ich würde dir empfehlen gleich noch ein paar LEDs mit dazu zubestellen. Dann kann man damit einfach mal testen.

http://www.watterott.com/de/WS2812-Breakout

Die würde ich dir für den Anfang empfehlen, da man sie relativ einfach ansteuern kann wie Uwe schon gesagt hat.

Ne bei den LEDs werden wir ja arm... :D