HSG |
|
task main() { SetSensorTouch(IN_1); while (true) { if (SENSOR_1 == 1) TextOut(50,30,"1"); else TextOut(50,30,"0"); }; }
Die Anweisung 'SetSensorTouch(IN_1);' legt fest, dass an Eingang 1 ein Berührungssensor angeschlossen wird. Die folgende while-Schleife ist eine Endlosschleife, denn die Schleifenbedingung ist immer true. Das Programm muss also durch Drücken der grauen Break-Taste abgebrochen werden. Im Schleifenkörper wird immer wieder der Wert von Sensor_1 abgefragt. Wenn (if) die Bedingung erfüllt ist, so wird die erste Alternative ausgeführt, sonst (else) wird die zweite Alternative ausgeführt.
In einem Vorversuch soll fortlaufend der eingelesene Wert auf dem Bildschirm ausgegeben werden. Natürlich muss die Nummer der Eingabe angepasst werden.
task main() { string s; SetSensorLowspeed(IN_4); while (true) { s = NumToStr(SensorUS(IN_4)); TextOut(0,32," "); TextOut(0,32,s); }; }
Der Roboter fährt auf die Wand zu. Beträgt die Entfernung weniger als d = 40 cm, so werden die Motoren B und C ausgeschaltet. Natürlich müssen Aus- und Eingänge angepasst werden.
#define d 40 // Entfernung d task main() { SetSensorLowspeed(IN_4); int n; // braucht man die Variable n ? while (true) { n = SensorUS(IN_4); // braucht man die Variable n? Wait(200); // ist das Wait nötig? Probieren if (nHItechnic-IR-Sensor
task main() { string a,a1,a2,b,b1,b2; bool bVal; byte dir,s1,s3,s5,s7,s9; SetSensorLowspeed(IN_1); while (true) { bVal = ReadSensorHTIRSeeker(0, dir, s1, s3, s5, s7, s9); a1 = NumToStr(dir); a2 = NumToStr(s1); a = a1 + " " + a2; TextOut(0,16," "); TextOut(0,16,a); b1 = NumToStr(s3); b2 = NumToStr(s5); b = b1 + " " + b2; TextOut(0,32," "); TextOut(0,32,b); }; }