Startampel
-
-
aber leider kann ich die Programmierung nicht
wenn hilfe benötigt wird...
-
Danke Sven, vielleicht komme ich darauf zurück.
-
Hallo - sorry, aber ich wollte mich eigentlich erst melden wenn ich ein Video fertig habe.
Hier aber vorab der Stand meiner Entwicklung/Programmierung:Material: Arduino Nano + Neopixel-Stick (der mit den 8 NeopixelLEDs) - 2 Widerstände und eine Diode.
Die ganze Technik ist wirklich sehr einfach nachzubauen.Startsequenz:
LED1 bis LED5 (so wie an der CU) danach LEDs 1 bis 5 grün (Rennstart)
Bei betätigen der PaceCartaste LED1 bis 5 aus und LED1, 3 und 5 leuchten gelb
Bei erneutem drücken der PaceCartaste springen die LEDs 1 bis 5 wieder auf grün
Bei Fehlstart gehen LEDs 1 bis 5 aus und es leuchtet die LED welche Spur/Regler den Fehlstart ausgelöst hat.Ergänzung: farbige Polepositonanzeige
Ich habe den 4 (später auch mal 6) Spuren jeweils eine Reglerfarbe (Regler 1 = gelb, Regler2 = rot, Regler 3 = grün Regler4 = blau) zugeordnet.
Da ja noch 3 Neopixelstellen überig/unbenutzt sind habe ich die 8. LED des Neo-Sticks für eine Polepositionanzeige genutzt.
Man kann das ganze wie eine art Minipositiontower sehen.
Sie leuchtet nach der ersten Zieldurchfahrt in der Farbe desjenigen, der im Rennen führt/ vorne liegt.
Auf diese Weise kann jeder Fahrer aus dem Augenwinkel heraus sehen ob dort seine Reglerfarbe zu sehen ist und er damit die Poleposition hat.
Alternativ (also als optionale Erweiterung) möchte ich einen farbigen LED-Stripe als Polepositionanzeige ansteuern. -
-
-
Nett!
-
Hallo zusammen,
ich habe mal eine Frage.Folgende Ausgangssituation: Ich habe einen Dualumbau für Carrera digital/analog. Die Zeitmessung und Steuerung erfolgt mittels Kabel direkt durch die CU (https://shop.cockpit-xp.de/fue…p-und-cu-kabel-1_0-m.html) , die Zeitmessung analog erfolgt mittels Gabellichtschranken und USB-Box (8E/8A:https://shop.cockpit-xp.de/add…-gabellichtschranken.html).
Nun möchte ich gerne eine Startampel einsetzen. Aus Platz- bzw. Streckengründen, kann ich nicht die Carrera Startampel einsetzen, sondern habe nun folgende Startampel gefunden: https://www.rtr-regler.com/online-shop/startampel/Meine Fragen sind nun:
1.) Kann ich die Ampel für meinen Einsatzzweck einsetzen?
2.) Wie wird die Ampel angeschlossen?
3.) Kann ich die Ampel i.V. mit Cockpit XP im Analog als auch im Digitalbetrieb ansteuern?Danke!
-
zu 1.) Ja
zu 2.) an die Ausgänge der USB-Box oder eines CU-Adapters (weiß ich nicht genau)
zu 3.) Ich weiß nicht genau, ob die Ampel mit der CU im Digitalbetrieb synchron läuft, wenn sie an der USB-Box hängt.
Analog klappt das auf jeden Fall. Deshalb frag' mal bei Peter Hilpp nach, wie das genau funktionieren kann. Auch wenn die
Ampel von Rainer Hölzel kommt, stammt die USB-Box und/oder der CU-Adapter von Peter. -
Danke, frage dort mal nach.
-
-
Yeah... mach des mal und gib uns Feedback.
Würde mich auch interessieren ob man sie einfach an die cu anhängen kann...Die schaut nämlich echt nice aus...
Anschluss erfolgt an eine USB-Box und zwar diese hier:
https://shop.cockpit-xp.de/add…ox8a-fuer-startampel.html -
okay. Das bedeutet ich brauche auch zwingend Cockpit xp?
Oder wird diese usb Box einfach an die cu gehängt?Sorry das ich so blöd Frage... aber ich fange erst jetzt an mich mit diesen Themen zu beschäftigen...
-
-
okay... Wer lesen kann...
Frage hat sich erübrigt... -
Hallo,
ich habe die Elektronik jetzt mal in das Carrera Sartlight eingebaut (das lag hier noch herum).
Der Vorteil gegenüber den herkömmlichen Startampeln ist ja, dass man sie so überall auf der Bahn platzieren kann, da mit dem Arduino das Bahnprotokoll ausgelesen wird. Man ist nicht mehr so an den Ort der CU gebunden.Und hier noch ein Video.
Gruß
Harald -
Hallo zusammen,
ich nutze den themenverwandten Thread um meine Lösung für dieses Problem vorzustellen.
Ich wollte eine schöne Startampel, die ohne CXP auskommt. Gleichzeitig wollte ich nicht an der CU rumschrauben.Als Ampel habe ich mich für die RTR Startampel entschieden, die in Kombination mit den Trägerprofilen sehr realistisch aussieht. Blieb also noch die Frage, wie ich das mit der CU zusammenbringe, ohne dort zu löten und ggf. noch andere Licht-Schaltungen zu ermöglichen. Schnell bin ich zu den bekannten Seiten von Stephan Heß und Peter Niehues gestoßen, die das Datenprotokoll der CU entschlüsselt und einen Sketch für Arduino bereitgestellt haben.
Den von Peter entwickelten Sketch habe ich für meine Bedürfnisse minimal angepasst, da die RTR-Startampel mit einer Minus-Schaltung funktioniert, d.h. +5V liegen immer an. Der ursprüngliche Code schaltet genau die +5V dazu. Demnach habe ich den Code dies bezüglich umgedreht, d.h. statt +5V schalte ich GND.Letztlich muss man aber nicht programmieren können. Alle, die darin nicht geübt sind, können sich das - gerade beim Arduino - wie Kopieren & Einfügen vorstellen und mit den vorhandenen Codes klarkommen.
Nachfolgend findet sich zunächst die schematische Darstellung meiner Schaltung. Diesen habe ich primär für mich erstellt, um den Kabeln folgen zu können. Deshalb habe ich die Startampel links im Bild nur exemplarisch dargestellt. Der konkrete Schaltplan des RTR-Bauteils sieht natürlich anders aus. Aber man versteht, wie man das alles verkabeln muss - und das sollte das Ziel sein. ACHTUNG: die zu verwendenden Widerstände auf der Steckplatine hängen davon ab, ob man ein D132- oder D124-Netzteil verwendet. In meinem Fall D132 mit den Widerständen R1 = 10 kΩ und R2 = 4,7 kΩ.
carrera_schaltplan_Steckplatine.png
Den Sketch, der auf den Arduino kopiert werden müsste, findet ihr hier:
Code
Alles anzeigen/* Carrera DIGITAL 124/132/143 arduino startlight: Carrera 30354 Style Startlight, Bit operating version * * Dipl.-Ing. Peter Niehues CC BY-NC-SA 3.0 * * This is an example software to decode carrera data protocol. For further information (german only) * visit http://www.wasserstoffe.de/carrera-hacks/startampel/ * * This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License. * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/3.0/. * * This license allows you to remix, tweak, and build upon my work non-commercially, as long as * you credit Peter Niehues and license the new creations under the identical terms. * */ const int dataInPin = 2; // the number of the pin to read carrera racetrack data boolean wordChange = false; // indicates a new word is ready for further analysing long currentWord = 0; // assemble Bits to complete data words, used in interrupt routine long Word = 0; // save data word for further computing, used in main loop and interrupt unsigned long intervalMicros = 0; // will store the time between two bit changes (microseconds) unsigned long previousMicros = 0; // will store last time state when data signal has changed (microseconds) unsigned long currentMicros = 0; // will store the current runtime (microseconds) void setup() { ////// Serial.begin( 115200 ); // initialize serial bus pinMode(dataInPin, INPUT); // initialize the dataPin as an input attachInterrupt(0, manchesterDecode, CHANGE); // whenever levels on dataPin change, start the interrupt routine DDRB = B00011111; // set digital pins 12,11,10,9,8 as output (8 is red1, 9 is red2... 12 is red5) PORTB = B00011111; // set digital pins -,-,13,12,11,10,9,8 to HIGH DDRD = B11000000; // set digital pin 7, 6 as output, 5 to 0 as input (7 is green, 6 is yellow) PORTD = B10111111; // set digital pin 6 to LOW, 7,5,4,3,2,1,0 to HIGH } ////// void loop() { ////// if( wordChange == true ){ // only start when interrupt routine has assemled a complete word wordChange = false; // reset word change indicator switch ( Word ) { // case 4111: // Binary: 1000000001111 programming data word: command 16, value 0 PORTB = B11111111; // set digital pins -,-,13,12,11,10,9,8 to HIGH (all reds out) PORTD = B01111111; // set digital pin 7 to LOW (green on) break; // case 6159: // Binary: 1100000001111 programming data word: command 16, value 1 PORTB = B11101111; // set digital pins -,-,13,12,11,10,9 to HIGH and pin 8 to LOW (red1 on) break; // case 5135: // Binary: 1010000001111 programming data word: command 16, value 2 PORTB = B11100111; // set digital pins -,-,13,12,11,10 to HIGH and pins 8,9 to LOW (red1 and 2 on) break; // case 7183: // Binary: 1110000001111 programming data word: command 16, value 3 PORTB = B11100011; // set digital pins -,-,13,12,11 to HIGH and pins 8,9,10 to LOW (red1 to 3 on) break; // case 4623: // Binary: 1000100001111 programming data word: command 16, value 4 PORTB = B11100001; // set digital pins -,-,13,12 to HIGH and pins 8,9,10,11 to LOW (red1 to 4 on) break; // case 6671: // Binary: 1101000001111 programming data word: command 16, value 5 PORTB = B11100000; // set digital pins -,-,13, to HIGH and pins 8,9,10,11,12 to LOW (red1 to 5 on) PORTD = B11111111; // set digital pin 7 to HIGH break; // } // switch } // if wordChange } ////// void manchesterDecode(){ ////// currentMicros = micros(); // get current runtime intervalMicros = currentMicros - previousMicros; // calculate interval if (intervalMicros > 75 && intervalMicros <= 125){ // is full clock pulse? previousMicros = currentMicros; // synchronise currentWord = currentWord << 1; // shift bits left if ( digitalRead( dataInPin ) == LOW ) // is pin level LOW? bitSet( currentWord,0 ); // received digital 1 return; } // leave interrupt if ( intervalMicros > 6000 ) { // is word rate? Word = currentWord; // save bits for main loop currentWord = 0; // reset bits bitSet( currentWord,0 ); // first bit is always 1 wordChange = true; // indicate a new word previousMicros = currentMicros; // synchronise return; } // leave interrupt } ////// /* * End of carrera arduino startlight sketch */
Weitere Infos dazu finden sich auch hier:
Arduino Code auslesen
Startampel, PaceCar mit gelben blinken und Geschwindigkeitsanzeige für die Carrera 124/132Viele Grüße,
Pasca -
Hallo Pascal,
so ähnlich habe ich es auch gemacht. Ich habe nur den zweiten Widerstand gegen eine z-Diode getauscht, um die Ampel mit unterschiedlichen Spannungen benutzen zu können.
Gruß
Harald -
Und hier noch ein Video.
Hallo Harald,
also ich als Laie finde das absolut der Hammer, was Du da gemacht hast.
Habe mir gestern darauf hin gerade das Arduino Starter Pack bestellt, so dass, wenn zurück aus dem Urlaub, ich mal beginnen kann zu spielen...lese mich grad in das Thema ein, aber ich erkenne jetzt schon, dass es wohl ohne Hilfe nicht einfach werden wird.
Ich würde gerne meine Carrera Startampel auch so modifizieren können, schaff das aber so aus dem Stand aber sicher nicht
Würdest Du Dein Werk nicht etwas detaillierter mit der Freeslotter Community sharen (Sketch und Breadboard) ?Jedenfalls hast Du mich mit Deinem Video kräftig angefixt 8o
Würde mich freuen .
viele Grüsse
Hermann -
Hallo Hermann,
ein Arduino Starter Pack ist eigentlich nicht nötig. Für die Schaltung braucht man nur einen Arduino Nano, gibt es als Clone für 4-5€, ein paar Bauteile und ein USB Kabel. Ich kann das leider nicht so schön darstellen wie Pascal, daher nur ein paar Bilder.
Startampel_Breadboard.jpg Startampel_Schatung.jpg
Der Widerstand hat 1,8kOhm, die Z-Diode (hinter dem Elko) hat 4,7V.
Ich hoffe es stimmt alles, die Linien habe ich aus der Erinnerung gezeichnet. Die Schaltung passt gut unten in den Sockel des Startlights, es müssen dann noch die entsprechenden Kabel zur LED Platine angelötet und nach oben erlegt werden. Bilder habe ich davon keine und kann auch keine mehr nachreichen, da ich die Startampel nicht mehr habe. Den Code geb ich nicht raus, es kann aber alles bei Slotbär und bei Peter Niehues nachgelesen und berechnet werden. Er unterscheidet sich aber auch nicht groß von Pascals Quellcode.
Gruß
Harald
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!