education Line
Unter der Bezeichnung education Line werden Modelle der Firma Knobloch
für den Schulgebrauch zusammengefaßt. Das beginnt mit kleinen Ampel und
geht hin zu einer großen Kreuzung (Modell CrossRoads).
Programmiert werden können sie mit ROBO Pro und auch - besonders bei komplexeren Aufgaben - mit
der eduLine.DLL. Zusätzlich werden Deklarationen und kleine
Beispiele für die Programmiersprachen C# 2005 / 2008, VB 2005 / 2008,
Delphi, Java, Python und VC++ 6.0 angeboten. Hinweis
für den Betrieb unter Windows 7 / 64bit Systemen.
Für die Programmiersprachen VB 2005 / 2008 und C# 2005 / 2008 sowie
Java und Python wird zusätzliche
Unterstützung in Form der .NET Assembly CrossRoads.DLL. Hier gibt es auch
umfangreichere Beispielprogramme.
private
void
MultiBlinker() {
uint
Lampe = (uint)OutM.EM1O8;
uint
Blitzer = 0;
lstAusgabe.Items.Add("Spielereien
mit den Moeglichkeiten");
do
{
cr.SetOutputs(Blitzer
+ Lampe + (uint)OutM.IF1O1
+ (uint)OutM.EM3O6);
cr.Pause(444);
cr.SetOutputs(Lampe
+ (uint)OutM.IF1O4
+ (uint)OutM.EM3O8);
cr.Pause(333);
if(cr.GetInput(Inp.IF1I1))
lstAusgabe.Items.Add("Laeuft -
Helligkeitswert : "
+ cr.GetVoltage(Inp.A1)).ToString();
Blitzer
= cr.GetInput(Inp.EM1I6)
? (uint)OutM.EM1O7
: 0;
} while
(!cr.Finish());
}
- Anzeige Ampeln Rot und Gruen im Wechsel (links unten, rechts oben)
- Straßenlaterne
- Blitzer wenn Auto auf Kanaldeckel I6 steht
- Anzeige der Umgebungshelligkeit bei Druck auf Fussgaenger I1
- Abbruch der Endlosschleife durch ESC-Taste
Und weitere Beispiele
Hinweis : auf der VB2005-Seite
gibt es ein interessantes Tutorial mit recht komplexen Ampelprogrammen,
man kann sie relativ leicht (Korrektur der Lampenzuordnung ...) auf die
CrossRoads umstellen.
Java - BlueJ
Inzwischen wurde für Java das
package eduLine.jar um die Klasse CrossRoads mit Zubehör erweitert. Die
Beispiel-Programme dazu entsprechen denen von C# 2005. Sie liegen als
BlueJ-Projekte vor.
private class Blitzen implements Runnable {
@Override public void run() {
do {
if(anforderung && rotActive) {
if(cr.getInput(Inp.EM1I5) && !cr.getInput(Inp.EM1I3)) {
cr.setOutput(Out.EM1O7, Dir.On);
cr.pause(444);
cr.setOutput(Out.EM1O7, Dir.Off);
anforderung = false;
}
}
else anforderung = cr.getInput(Inp.EM1I3);
cr.pause(123);
} while(!cr.finish());
}
}
public void rotBlitzer() {
anforderung = false;
rotActive = false;
Thread blitz = new Thread (new Blitzen());
blitz.start();
System.out.println("rotBlitzer ist aktiv");
do {
cr.setOutputs(Duos.Rot + Duos.GruenQ);
rotActive = true;
cr.pause(3500);
rotActive = false;
cr.setOutputs(Duos.Gelb + Duos.GelbQ);
cr.pause(1000);
cr.setOutputs(Duos.Gruen + Duos.RotQ);
cr.pause(3500);
cr.setOutputs(Duos.Gelb + Duos.GelbQ);
cr.pause(1000);
} while(!cr.finish());
cr.clearOutputs();
System.out.println("--- Finito ---");
}
Hier aus der Klasse Ampeln die Method rotBlitzer und der
Thread-Methode Blitzen zur Erkennung von Rotlichtsündern.
Downloads
Die CrossRoads-Anleitung
im PDF-Format
Die Beispiele dazu
(einschl. Anleitung.PDF), CrossRoad-Treiber
Stand : 14.12.2011
|