Selle tunni käigus õpitakse kuvama andurite infot ekraanil. See on vajalik et aru saada mis infot andurid parasjagu väljastavad.
Õppematerjal:
Ülesanne.
Kuva ühendatud anduri info ekraanil. Vaja läheb NXT-d ning erinevaid andureid.
Variant a)
UltraSonic kauguseandur
Lahendus: Iseenesest väga lihtne programm, vaid ühe while() tsükliga.
/*
See programm kuvab ekraanile sõna Ultrasensor
ja selle alla kui kaugel on ees olev asi.
*/
task main () {
SetSensorLowspeed (S2);
while (TRUE) {
ClearScreen();
TextOut(1, LCD_LINE1, "Ultrasonic");
NumOut(1, LCD_LINE2, SensorUS (S2));
Wait(200);
}
}
Variant b)
Light sensor andur
/*
See programm kuvab ekraanile sõna LightSensor
ja selle alla kui hele on ees olev asi.
*/
task main () {
SetSensorLight (S2);
while (TRUE) {
ClearScreen();
TextOut(1, LCD_LINE1, "LightSensor");
NumOut(1, LCD_LINE2, Sensor(S2));
Wait(200);
}
}
Variant c)
Color sensor
Lahendus. Selle anduri juures annab numbri kuvamine liiga vähe olulist informatsiooni, seega palusin lahendada ülesande sellisel moel, et vastavalt värvile kuvataks ekraanil värvi nimetus. Ja need värvid mille nimetus pole kirjutatud, nende korral kuvatakse number. NB! Edaspidi õpime massiive ning saab sama programmi uuesti teha massiivi abil. Ehk tunduvalt lühema ja lihtsama.
/*
See programm kuvab ekraanile sõna ColorSensor
ja selle alla värvi nimetuse
*/
task main () {
SetSensorLowspeed (S2);
while (TRUE) {
ClearScreen();
TextOut(1, LCD_LINE1, "ColorSensor");
switch(SensorHTColorNum(S2))
{
case 0:
TextOut (1, LCD_LINE2, "Must");
break;
case 6:
TextOut (1, LCD_LINE2, "Kollane");
break;
case 8:
TextOut (1, LCD_LINE2, "Punane");
break;
case 14:
TextOut (1, LCD_LINE2, "Beez");
break;
case 17:
TextOut (1, LCD_LINE2, "Valge");
break;
default:
NumOut(1, LCD_LINE2, SensorHTColorNum(S2));
}
Wait (200);
}
}