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).
![](images/crossroads.jpg)
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
|