Prekazka stena.nxc

From RoboWiki
Jump to: navigation, search

Krúžok Robotiky

task AvoidWall()
{
/*


  menu->view->druh_senzora(ultrasonic, napr, )->select

  maximalne zobrazuje do 150cm
*/
  SetSensorLowspeed(S2);//pre senzory pripojene cez I2C zbernicu

  while(true)
  {         //nastavime senzor ako ultrazvukovy

           if (SensorUS(S2)<30) //ak je prekazka blizko
           {
            OnRev(OUT_AC,50);//dozadu na 50perc. 2 motor, aby sa vratil
            //idu naopak
            Wait(1000);//cakaj 3 sec;

            OnFwd(OUT_A,50);//dopredu na 50perc. 1 motor, aby sa stocil
            Wait(750);
            OnFwd(OUT_C,50);//dopredu na 50perc. 2. motor,
            //aby sa rozbehol rovno

           }

  }
}

task main()
{
     start AvoidWall; //spust thread AvoidWall
     
     //nedaju sa pouzivat funkcne prototypy
     OnFwd(OUT_AC,50);//dopredu na 50perc. oba motory
     Wait(3000*60);//cakaj 3 sec
     Off(OUT_AC);//vypni motor brzdnym prudom
     Wait(100);//pockaj chvilu
     Float(OUT_AC);//zastav motor odstavenim napajania
     
     
}

/*

  na konci tools->find brick
  compile
  compile->download
*/