Dopredu dozadu.nxc
From RoboWiki
/* dopredu_dozadu.nxc Robot ma dva senzory: ultrazvukovy vpredu, na porte 2 a dotykovy vzadu, na porte 1. Vykonava jednuchu funkciu: ide vpred a 30 cm pred stenou sa vrati spat az dovtedy, kym nenarazi na prekazku, vtedy sa cyklus opakuje. Autor: Matej Kurilla, MatejKurilla (no spam) zoznam.sk */ task ultrazvuk() { int vzdialenost= 30; //cm SetSensorLowspeed(IN_2); while (true) //nekonečná sľučka (true = pravda) { if (SensorUS(IN_2)<vzdialenost) //podmienka dokým vzdialenosť nebude menšia ako 30 cm. { OnRev(OUT_AC,50); //dozadu Wait(200000); //čakaj 200 sekúnd } } } task senzor() { SetSensorTouch(IN_1); //dotykový sezor while (true) //nekonečná sľučka (true = pravda) { if (SENSOR_1 == 1) //podmienka pokým sa senzor nezopne { OnFwd(OUT_AC,50); //doperdu Wait(200000); //čakaj 200 sekúnd } } } task main() { start senzor; //štartovanie tasku SENZOR start ultrazvuk; //štartovanie tasku ULTRAZVUK Off(OUT_AC); //vypni motory }