Instructions
Program pro rozsvícení levého oka robota 
#This program will swich on YETI’s right ‘eye’ 
#include “YETI.h” //load definitions and functions 
int main(void){ //main function entry 
vInitYeti(); //initialize all microprocessor modules in 
//the YETI 
vFrontLEDs(RIGHT); //swich on YETI’s right ‘eye’-LED 
return 0; //terminating the main function and 
//returning a value 0 
} //end of the main function 
#include “YETI.h” 
Do tohoto místa vloží kompilátor soubor ´YETI´h, který obsahuje všechny definice pro funkce, 
například funkce ‘vYetiInit()’. Kódování řádků pro funkce najdete v souboru ‘YETI.c’. 
vInitYeti(); 
Jedná se o speciální funkci, která aktivuje všechny mikrokontroléry a moduly robota. 
Funkci můžete volat příkazem vInitYeti(); na začátku programu robota kódování naleznete 
v souboru ‘YETI. 
c’. 
vFrontLEDs(LEFT); 
Tato funkce aktivuje levé oko robota. 
Ekvivalentní funkce jsou: 
vFrontLEDs(RIGHT); 
Aktivace pravého oka robota. 
vFrontLEDs(OFF); 
Zhasnutí obou očí. 
vFrontLEDs(BOTH); 
Rozsvícení obou očí. 
5x probliknutí LED v pravém oku robota 
Tento program zajistí, aby pravé oko robota probliklo celkem 5x s prodlevou 1 sekundy 
mezi jednotlivým rozsvícením. 
#include “YETI.h”      //load definitions and 
//functions 
int main(void){        //main function entry 
int i;          //define variable ‘i’ as an integer 
vInitYeti();        //initialize all microprocessor 
//modules in the YETI 
for(i=0 ;i<5 ;i++){      //repeat for-loop (5 times) 
vFrontLEDs(RIGHT);      //activate YETI’s right eye LED 
vWaitMilliseconds(500);    //wait half a second 
vFrontLEDs(OFF);      //deactivate YETI’s right eye LED 
vWaitMilliseconds(500);    //wait half a second 
}          //terminate for-loop (5 times) 
return 0;        //terminating the main function 
}          //end of the main function 
for(…){ 
} 
Programový modul vložený do závorek { a } se nazývá „loop“. 
Int i; je definice proměnné s označení „i“. 
vWaitMilliseconds(500); 
Tuto funkci můžete nalézt v souboru ‘YETI.c’, který můžete otevřít v aplikaci PN2. 
Tato funkce využívá interní mikrokontrolér a předdefinovaný počet milisekund a návrat na volání 
programu. Tato funkce akceptuje celou řadu milisekund (1/1000 s). Výše uvedená sekvence 
pro volání bude generovat cyklus prodlevy ½ sekundy. 
Generování akustický signálů 
#include “YETI.h”      //load definitions and functions 
int main(void){        //main function entry 
vInitYeti();        //initialize all microprocessor 
//modules in the YETI 
vBeep(400,80);      //make YETI generate a beep sound 
vBeep(520,120);      //make YETI generate a beep sound 
vBeep(360,80);      //make YETI generate a beep sound 
vBeep(580,160);      //make YETI generate a beep sound 
return 0;        //terminating the main function 
}          //end of the main function 
vBeep(400,80); 
volání funkce ‘vBeep’ s intenzitou 400 a průběhem 8 x 10 = 80 milisekund. 
Pohyb levé nohy robota 
#include “YETI.h”      //load definitions and functions 
#include “yetimove.c”      //insert YETI’s servo functions 
int main(void){        //main function entry 
int i;          //define variable ‘i’ as an integer 
vInitYeti();        //initialize all microprocessor modules in 
//the YETI 
for(i=0 ;i<3 ;i++){      //do for-loop 3 times 
vMoveBody(16,10);      //move body to the left 
vMoveBody(-16,10);      //move body to the right 
}          //terminate for-loop (3 times) 
vMoveBody(0,10);      //move body to the centre position 
return 0;        //terminating the main function 
} 
#include “yetimove.c” 
Vložení funkcí pro servomotor. 
vMoveBody(16,10); 
Pohyb nohy robota (servomotoru) o 16 kroků doleva, v časovém úseku 10 milisekund pro každý krok. 
vMoveBody(-16,10); 
Pohyb nohy robota (servomotoru) o 16 kroků doprava, v časovém úseku 10 milisekund pro každý 
krok. 
Pro krok motoru můžete volit pozice v rozsahu -58 až +58. Prodleva bude vždy zaokrouhlena směrem 
nahoru na vyšší hodnotu milisekund, což ve výsledku může představovat 10 milisekund na 1 krok 
motoru pro každou hodnotu parametru mezi 1 -10 milisekund a prodleva 20 milisekund na 1 krok 
motoru pro každou hodnotu parametru mezi 11 – 20 milisekund. 
vMoveBody(0,10); 
Reset „feet“ servomotoru robota a přechod do výchozí pozice (vzpřímená poloha). 
Obdobná funkce ‘vMoveLegs()’ aktivuje pohyb nohou vpřed nebo dozadu. 










