Arduino und Modellbahn

Guten Morgen zusammen,

ich bin nun seit ein paar Tagen Besitzer eines Ardiuno Mega 2560 mit einem Wellemann Motorshield. Nach dem ich nun ein paar Tage damit herum experimentiert habe, möchte ich Euch kurz vorstellen was ich damit vorhabe. Vorab aber - da ich hier noch recht neu bin - stelle ich mich mal vor. Mein Name ist Stephan, 35 Jahre alt und Web- und Anwendungsentwickler. Mein Hobby ist (wie es der Betreff schon verrät) meine Modellbahn (Gleichstrom, H0, anlalog).

Mein Plan:
1.) Über den Motorshield sollen die beiden Stromkreise der Modellbahn gesteuert werden. Versuche mit einem kleinen Script und einer Teststrecke habe ich schon gemacht und waren auch erfolgreich. Ich kann zwei Loks unabhängig von einander hin und her fahren lassen, dabei sachte Anfahren und Bremsen.

2.) Lichtsteuerung: Ich möchte einen Sensor haben, der die Umgebungshelligkeit misst und dann die Straßen- und Hausbeleuchtung aktiviert. Das Moba-Zimmer ist mit vier RGB-LED Lampen ausgeleuchtet, die man mit einer kleinen Fernbedienung steuert. Auch diese Steuerung soll das Arduino übernehmen.

Da ich mich mit der Programmierung des Arduino und der Elektrotechnik nur wenig auskenne, erhoffe ich mir hier Hilfe zu finden.

Nun also ein paar Fragen:
1.) Wie schalte ich mit dem Arduino einen Stromkreis mit externer Stromversorgung scharf?
Die Laternen und Häuser bekommen ihren Strom von einem 16V-Trafo und sind in sechs Kreise unterteilt: Bahnhof, Stadt, Straßen, Betriebswerk, Rangierbahnhof und Holzverladung.

2.) Wie finde ich heraus, welches IR-Signal ich mit einer IR-LED senden muss, um meine Zimmerbeleuchtung mit dem Arduino zu steuern?

3.) Das wird sicher das Schwierigste: ich entwickle normalerweise in C# .net. Darüber soll auch die GUI entstehen. Zwar weiß ich wie ich mit C# einen seriellen Befehl an den Arduino senden kann und dieser verarbeitet den auch, jedoch muss man ja an zwei Setien programmieren. Zum einem in C# die Anwendung und GUI ansich und zum Anderen im Arduino die Verarbeitung. Kann man das irgendwie alles über .net machen und dort die Verarbeitung des Arduinos machen?

So, viel Text und Fragen, aber ich denke, Ihr wißt wo rauf das Ganze hinausläuft und könnt mir helfen.

Viele Grüße

Stephan

  1. mit einem Transistor oder MOSFET. Wenn man galvanische Trenung will (Stromkreise isoliert) mit einem zusätzlichen Optokoppler. Welchen Strom verbraucht die Beleuchtung?
  2. mit der IRremote Bibliothek und einem TSOPxxxx ( IR Empfänger) kannst Du auch Fernsteuerungen lesen und den verwendeten CODE und übertragenen Wert ermitteln.
  3. es gibt die Firmata-Bibliothek um den Arduino fernzusteuern. PC-seitig nimmt man dann meist Processing; Processing ist aber nicht twingend notwendig.
    Grüeß Uwe

erstmal herzlich willkommen und viel Erfolg bei Deinem Projekt!

Das hattest Du zwar nicht ausdrücklich gefragt, aber da es zum Thema passt: es gibt unter http://cboden.de/mikro-controller/lightcomp eine Modellbau-Licht-Steuerung, die auch mit Arduino programmiert werden kann. Ein Beispiel-Skript um bis zu 64 Kanäle für eine Häuserbeleuchtung per Zufalls-Generator ein und aus zu schalten ist ebenfalls dort zu sehen. Grundsätzlich kann man das Ding aber auch nutzen, um interaktive Ampel-Steuerungen oder was auch immer sonst aufzubauen. Vielleicht kannst Du da für Dich ja einige Anregungen raus ziehen. Da die Module per I2C angesteuert werden, kannst Du die Hardware ggf. auch direkt mit Deinem Mega verwenden.

Hallo & herzlich willkommen,

zu 1)
ich würde ein Relais verwenden. Denn Deine 16V vom Trafo werden sicherlich Wechselspannung sein. Ich vermute Du verwendest einen herkömmlichen "Eisenbahntrafo". Da ist die Reglerspannung 12V= und die 16V ~ für Weichen usw. Mit Relais wäre das galvanisch getrennt und Du kannst schalten was Du willst. Aber nicht die Freilaufdiode vergessen, denn Du schaltest bestimmt die Relaisspule mit einen Transistor Arduino-seitig.

zu 2)
für eine IR muß es ein Bsp. geben in der IDE ...

zu 3)
Du benötigst ein Übertragungsprotokoll für die serielle Schnittstelle zwischen Deinem C# und Arduino.
ein öffentliches Bsp. wäre bei "C# und Arduino" in der Mitte der Seite
http://erik-bartmann.de/programmierung/downloads2.html
Dafür wird zwar glaube ich Bluetooth verwendet, die Basis ist aber immer die serielle Schnittstelle.