inleiding |
het eerste programma |
commentaar |
constanten |
repeat |
variabelen |
while |
if-else |
random |
sensoren |
nxt display |
nxt knoppen |
sub taken |
meedere taken |
touchsensor
hier zien we de eerste sensor, de touch sensor. de sensor zit in poort 1, als je de sensor indrukt gaat de hij rijden.
task main()
{
SetSensorTouch(IN_1);
while (true)
{
if (SENSOR_1 == 1)
{
OnFwd(OUT_AC, 75);
}
}
}
als eerste gaan we de robot vertellen in welke poort de welke sensor zit, met de touchsensor doen we dat met SetSensorTouch(IN_1); IN_1 geeft aan dat hij in poort 1 zit. dan gaan we de sensor gebruiken, bij de if zeggen zat sensor 1 gelijk is aan 1, bij de touchsensor betekent deze waarde dat hij ingedrukt is.
until
task main()
{
SetSensorTouch(IN_1);
while(true)
{
until(SENSOR_1 == 1)
OnFwd(OUT_BC,100);
}
}
met until kunnen we de auto ergens op laten wachten, in dit geval laten we de hem wachten tot dat de touchsensor is ingedrukt.
lichtsensor
in dit programma laten we een auto met de lichtsensor over een lijn rijden. we gebruiken een constante omdat het licht intensiteit steeds veranderd.
#define THRESHOLD 40
task main()
{
SetSensorLight(IN_2);
while (true)
{
if (Sensor(IN_2) > THRESHOLD)
{
OnRev(OUT_C, 75);
Wait(100);
until(Sensor(IN_2) <= THRESHOLD);
OnFwd(OUT_AC, 75);
}
}
}
we zien ook weer wat nieuws, in het vorige programma gebruikten we SENSOR_1, nu gebruikten we Sensor(IN_2), je mag zelf weten wat je gebruikt
geluidsensor
dit programma laat een auto rijden als hij geluid hoort, hij stopt als hij opnieuw een geluid hoort.
#define geluids_grens 40
#define geluids_sensor SENSOR_2
task main()
{
SetSensorSound(IN_2);
{
until(geluids_sensor > geluids_grens);
OnFwd(OUT_AC, 75);
Wait(300);
until(geluids_sensor > geluids_grens);
Off(OUT_AC);
Wait(300);
}
}
kleurensensor
in dit programma laten we ons autotje met de kleurensensor over een lijn rijden.
#define KLEURENSENSOR SENSOR_3
#define snelheid 75
task main()
{
SetSensorColorFull(IN_3);
while(true)
{
if(KLEURENSENSOR==6)
{
OnRev(OUT_C,snelheid);
OnFwd(OUT_B,snelheid);
}
if(KLEURENSENSOR!=6)
{
OnFwd(OUT_BC,snelheid);
}
}
}
opvallend in dit programmatje is dat we nu de waarde van de sensor aangeven met een constante, het is dus ook mogenlijk om op deze manier.
ultrasonesensor
hier zien we een voorbeeld met de ultrasone sensor, de auto rijd rechtdoor totdat hier iets ziet op minder dan 25 cm afstand, dan gaat hij draaien tot dat de afstand groter is dan 25 cm en begint hij weer overnieuw.
#define afstand 25
task main()
{
SetSensorLowspeed(S4);
while(true)
{
OnFwd(OUT_BC,100);
until(SensorUS(IN_4) < afstand);
OnRev(OUT_C,100);
OnFwd(OUT_B,100);
until(SensorUS(IN_4) > afstand);
OnRev(OUT_C,100);
OnFwd(OUT_B,100);
Wait(500);
}
}
belangerijk is dat je de ultrasoonsensor aangeef met SensorUS.