Technix
25.05.2010, 23:15
Moin.
Dieses Jahr wird es beim TSL wieder eine Gemeinschaftsanlage geben.
Wieder mit einer Eisenbahn drumherum, wieder mit zwei Kreisen.
Neu ist, daß der Außenkreis mittels LEGO®-MINDSTORMS® digital gesteuert wird.
Da dem Kind im Manne die Freud nicht genommen sein soll, auch mal den Regler
zu bedienen und die Signale und Weichen zu stellen, habe ich mir was besonderes einfallen lassen:
Technix
26.05.2010, 00:11
Hallo Mike
» Sieht beeindruckend aus!
Vielen Dank.
» Ich kann mir zwar nicht vorstellen, wie sowas ganz automatisch
» funktionieren soll :blink:, aber die Techni(x)k heutzutage ist ja schon
» sooo weit fortgeschritten!
Naja, also so ganz automatisch ja nun auch wieder nicht.
Bisl was musste ich den RCXen schon aufbügeln.
Aber im Grunde eigentlich ganz einfach, schau selbst:
Master:
int x;
int y;
task main()
{
SetSensor(SENSOR_1,SENSOR_TOUCH);
SetSensor(SENSOR_2,SENSOR_TOUCH);
SetSensor(SENSOR_3,SENSOR_TOUCH);
start a;
start b;
}
task a()
{
x= 0;
while (true)
if (SENSOR_1 == 1)
{
x = x+1;
if (x==1)
{
SetPower(OUT_C,3);
OnFwd(OUT_C);
Wait(25);
while (true)
if (SENSOR_3 == 1)
{
Off(OUT_C);
break;
}
Wait(200);
}
if (x==2)
{
SetPower(OUT_C,3);
OnRev(OUT_C);
Wait(25);
while (true)
if (SENSOR_3 == 1)
{
Off(OUT_C);
break;
}
x=0;
Wait(200);
}
}
}
task b()
{
y=0;
while (true)
if (SENSOR_2 == 1)
{
y = y+1;
if (y==1)
{
SendMessage(1);
SetPower(OUT_B,2);
OnFwd(OUT_B);
OnFor(OUT_B,50);
Wait(200);
}
if (y==2)
{
SendMessage(2);
SetPower(OUT_B,2);
OnRev(OUT_B);
OnFor(OUT_B,50);
y=0;
Wait(200);
}
}
}
Slave:
int x;
task main()
{
SetSensor(SENSOR_1,SENSOR_TOUCH);
SetSensor(SENSOR_3,SENSOR_TOUCH);
start a;
start b;
}
task a()
{
x= 0;
while (true)
if (SENSOR_1 == 1)
{
x = x+1;
if (x==1)
{
SetPower(OUT_C,3);
OnFwd(OUT_C);
Wait(25);
while (true)
if (SENSOR_3 == 1)
{
Off(OUT_C);
break;
}
Wait(200);
}
if (x==2)
{
SetPower(OUT_C,3);
OnRev(OUT_C);
Wait(25);
while (true)
if (SENSOR_3 == 1)
{
Off(OUT_C);
break;
}
x=0;
Wait(200);
}
}
}
task b()
{
while (true)
{
On(OUT_A);
ClearMessage();
while (true)
if (Message() == 1)
{
On(OUT_B);
Off(OUT_A);
break;
}
ClearMessage();
while (true)
if (Message() == 2)
{
Off(OUT_B);
On(OUT_A);
break;
}
}
}
Siehste, sach ich doch, eigentich ganz einfach.
Ginge wohl noch einfacher, aber dann versteht es evtl. gar niemand mehr.
Grüße
Gunther
Technix
26.05.2010, 00:38
Hi
» Sieht gut aus.
Danke.
» Verstanden hab ich zwar nix,
Was denn nicht? Frag' doch mal.:blink:
» aber vielleicht könnte mir ein
» video dazu helfen...
Das wird es wohl nach dem TSL geben, ja.
Grüße
Technix
Magina
26.05.2010, 06:01
» Hallo Mike
» » Sieht beeindruckend aus!
» Vielen Dank.
»
» » Ich kann mir zwar nicht vorstellen, wie sowas ganz automatisch
» » funktionieren soll :blink:, aber die Techni(x)k heutzutage ist ja schon
» » sooo weit fortgeschritten!
» Naja, also so ganz automatisch ja nun auch wieder nicht.
» Bisl was musste ich den RCXen schon aufbügeln.
» Aber im Grunde eigentlich ganz einfach, schau selbst:
» Master:
» int x;
» int y;
» task main()
» {
» SetSensor(SENSOR_1,SENSOR_TOUCH);
» SetSensor(SENSOR_2,SENSOR_TOUCH);
» SetSensor(SENSOR_3,SENSOR_TOUCH);
»
» start a;
» start b;
» }
»
» task a()
» {
» x= 0;
»
» while (true)
» if (SENSOR_1 == 1)
» {
» x = x+1;
» if (x==1)
» {
» SetPower(OUT_C,3);
» OnFwd(OUT_C);
» Wait(25);
» while (true)
» if (SENSOR_3 == 1)
» {
» Off(OUT_C);
» break;
» }
» Wait(200);
» }
»
» if (x==2)
» {
» SetPower(OUT_C,3);
» OnRev(OUT_C);
» Wait(25);
» while (true)
» if (SENSOR_3 == 1)
» {
» Off(OUT_C);
» break;
» }
» x=0;
» Wait(200);
» }
» }
» }
»
» task b()
» {
» y=0;
»
» while (true)
» if (SENSOR_2 == 1)
» {
» y = y+1;
» if (y==1)
» {
» SendMessage(1);
» SetPower(OUT_B,2);
» OnFwd(OUT_B);
» OnFor(OUT_B,50);
»
» Wait(200);
» }
»
»
» if (y==2)
» {
» SendMessage(2);
» SetPower(OUT_B,2);
» OnRev(OUT_B);
» OnFor(OUT_B,50);
»
»
»
» y=0;
» Wait(200);
»
»
» }
» }
» }
»
» Slave:
» int x;
» task main()
» {
» SetSensor(SENSOR_1,SENSOR_TOUCH);
» SetSensor(SENSOR_3,SENSOR_TOUCH);
»
» start a;
» start b;
» }
»
» task a()
» {
»
» x= 0;
»
» while (true)
» if (SENSOR_1 == 1)
» {
» x = x+1;
» if (x==1)
» {
» SetPower(OUT_C,3);
» OnFwd(OUT_C);
» Wait(25);
» while (true)
» if (SENSOR_3 == 1)
» {
» Off(OUT_C);
» break;
» }
» Wait(200);
» }
»
»
» if (x==2)
» {
» SetPower(OUT_C,3);
» OnRev(OUT_C);
» Wait(25);
» while (true)
» if (SENSOR_3 == 1)
» {
» Off(OUT_C);
» break;
» }
» x=0;
» Wait(200);
» }
»
» }
» }
»
» task b()
» {
» while (true)
» {
» On(OUT_A);
» ClearMessage();
» while (true)
» if (Message() == 1)
» {
» On(OUT_B);
» Off(OUT_A);
» break;
» }
» ClearMessage();
» while (true)
» if (Message() == 2)
» {
» Off(OUT_B);
» On(OUT_A);
» break;
»
» }
» }
» }
»
»
» Siehste, sach ich doch, eigentich ganz einfach.
» Ginge wohl noch einfacher, aber dann versteht es evtl. gar niemand mehr.
»
» Grüße
» Gunther
Wat?
Nein spass also die Steuerung sieht ja echt Hammer mässig aus, freu mich diese schon live zusehen. Warum wird den nur der innen Kreis so gesteuert?
Liebe grüße Rob
Bauherr
26.05.2010, 08:25
Hallo,
sieht ja nach einer Riesentüftelei aus. Die Juroren bei "Jugend forscht" wären stolz auf dich. Neben den sicherlich bemerkenswerten Funktionen sehen die einzelnen Komponenten auf dem Fußballfeld auch schön übersichtlich angeordnet aus. Das Teil wird bestimmt für eine Menge Spaß sorgen.
johndoelego
26.05.2010, 10:06
und das als Eisenabhn-Fan
Technix
26.05.2010, 10:08
Hi
» Wat?
Is NQC'isch. Viel Rechnen.
» Nein spass also die Steuerung sieht ja echt Hammer mässig aus,
Vielen Dank.
» Warum wird den nur der innen Kreis so gesteuert?
Nee, nur der Außenkreis wird so gesteuert.
Warum nur der? Nun, das liegt an meiner Unerfahrenheit,
eine so große Anlage zu digitalisieren bzw. einer teilweisen digitalisierung zu unterziehen.
Grüße
Gunther
Manzana
26.05.2010, 11:50
Hallo Gunter,
Eine sehr schoene Mischanlage zwischen Technik und Elektronik. Diese Anlage ist einen MOC-Beitrag wert.
Sofern man persoenlich an so etwas Interesse haette, kann man die Komponentenbedarfs - und Teileliste, einschliesslich eines Schaltbildes, irgendwie erhalten?
Du solltest einmal anmerken, fuer welche gewaltige Anlage diesmal Deine Technik zustaendig sein soll. Eine Gemeinschaftsanlage von 30 Metern Laenge und mindestens 2 Metern Breite ist ja nun keine Kleinigkeit mehr und diese Technik muss fuer einen praezisen und zuverlaessigen Ablauf verantwortlich zeichnen.
Haettest Du auch einmal ein Signal als Bild verfuegbar, sowie eine Weiche?
Wie koennte man so etwas in einem Haus unterbringen, welches Bestandteil der Anlage sein sollte?
Ein sonniger Gruss an Dich aus Berlin.
Ferdinand
Technix
26.05.2010, 12:22
Hallo Ferdinand.
» Sofern man persoenlich an so etwas Interesse haette, kann man die
» Komponentenbedarfs - und Teileliste, einschliesslich eines Schaltbildes,
» irgendwie erhalten?
Klar, das sollte kein Problem sein.
» Du solltest einmal anmerken, fuer welche gewaltige Anlage diesmal Deine
» Technik zustaendig sein soll. Eine Gemeinschaftsanlage von 30 Metern
» Laenge und mindestens 2 Metern Breite ist ja nun keine Kleinigkeit mehr
» und diese Technik muss fuer einen praezisen und zuverlaessigen Ablauf
» verantwortlich zeichnen.
An und bei 65 Meter Gleisstrecke, mit einem Bahnhof und einem Rangierbereich,
vier Weichen, zwei Signale und drei Züge. Von der Gleisstrecke her zwar länger aber vom Ablauf her einfacher als die Anlage, die ich letztes Jahr beim TSL gezeigt hatte.
» Haettest Du auch einmal ein Signal als Bild verfuegbar, sowie eine
» Weiche?
Magina
26.05.2010, 17:05
Hey eine Frage Kamm mir noch, halten die Züge auch an den Ampeln? Und kann da jeder 9v Zug fahren? Liebe Grüße Rob
Technix
26.05.2010, 20:04
Hi
» Hey eine Frage Kamm mir noch, halten die Züge auch an den Ampeln? Und kann
» da jeder 9v Zug fahren? Liebe Grüße Rob
Jepp, die Züge halten an den Signalen. Maß man nur entsprechend programmieren.
Manchmal schaltet es auf grün, dann halten sie halt nicht.
Die Gleise werden aus einem Trafo mit Strom versorgt.
Somit ist genau die Anzahl an Motoren möglich,
die man sonst auch betreiben kann.
Grüße
Gunther