Dopredu dozadu.nxc

From RoboWiki
Revision as of 10:20, 26 March 2008 by Palo (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
Krúžok Robotiky

/* 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

  }