Instructions
Upozornění! Tato funkce může seřídit servomotor do libovolné pozice, včetně libovolné mechanické
pozice, která však není k dispozici pro systém robota. Použitím těchto příkazů může dojít
k nevratnému poškození robota. Doporučujeme proto použít bezpečnější funkci ´vMoveBody()´.
Příklad: vServo1ToPosition(35);
vServo2ToPosition(x)
x = 0-65635
Seřízení předního (legs) servomotoru do pozice x. Upozornění! Tato funkce může seřídit servomotor
do libovolné pozice, včetně mechanické pozice, které však není k dispozici pro systém robota.
Použitím těchto příkazů může dojít k poškození robota. Doporučujeme proto použít bezpečnější funkci
´vMoveLegs()´.
Příklad: vServo1ToPosition(35);
vRs232Write(x,y)
x = text
y = text length, 0-255
Příklad:
void vRs232Write(“Hello World”,11) ;
vRs232Read(x,y,z)
x = pointer to an array to store a text for reception
y = expected text length
z = timeout
Příklad:
char RxData[10] ;
vRs232Read(&RxData[0],4,0);
Po přijetí 4. symbolů se funkce ukončí.
vWaitMilliseconds(x)
x = waiting time in milliseconds, 0 - 65635
Tato funkce zaokrouhlí interval v milisekundách, například čas 23 na 30.
Příklad:
Prodleva 1 s.
vWaitMilliseconds(1000);
vBeep(x,y)
x = pitch number, 1-3906
y = duration in milliseconds.
Příklad:
vBeep(200,100);
Kombinované funkce
Následující funkce jsou kombinacemi několika funkcí, jež zahrnují použití jedné nebo více základních
funkcí. Tyto funkce naleznete v souboru „yetimove.c“.
vStandUpright()
Tento příkaz zajistí uvedení robota do vzpřímené pozice. Oba servomotory „body“ a „legs“ budou
seřízené do výchozí, nulové pozice.
vMoveBody(x,y)
x = tělo robota se naklání vpravo nebo vlevo, z polohy -58 (korespondující s krajní pravou polohou)
do polohy -58 (korespondující s krajní levou polohou).
y = execution speed in milliseconds / step, 0 – 65635.
Tato funkce zaokrouhlí časovou prodlevu na desetiny milisekund například 17 na 20.
Příklad:
vMoveBody(-25,20);
Ze vzpřímené pozice bude vyžadovat příkaz vMoveBody(-25,20) dobu 25*20=500 ms= 0,5 sekundy
k dosažení náklonu na pravou stranu a polohy –25.
vMoveLegs(x,y)
x = pravá noha robota se přesune vpřed nebo vzad (a opačná noha se bude přesouvat do opačné
polohy a směru) v rozsahu -58 (pravá noha vpřed) a +58 (levá noha vpřed) rychlost na vykonání
pohybu v milisekundách / krok, 0 – 65635. Tato funkce zajistí zaokrouhlení časového průběhu
na desetiny milisekund, například 3 na 10.
Příklad:
vMoveLegs(-25,20);
Ze vzpřímené polohy pomocí příkazu vMoveLegs(-25,20) bude zapotřebí 25 x 20=500 ms= 0,5
sekundy na pohyb pravé nohy robota do přední pozice –25 (zatímco levá noha se bude pohybovat
dozadu).
vMoveForwardXSteps(x)
x = počet kroků vpřed, 0-255
Příklad:
vMoveForwardXSteps(3);
Robot vykoná 3 kroky směrem dopředu. Robot se ze vzpřímené pozice rozejde vykročením pravou
nohou.
vMoveBackwardXSteps(x)
x = počet kroků dozadu, 0-255
Příklad:
vMoveBackwardXSteps(4);
Robot vykoná 3 kroky směrem vzad. Ze vzpřímené pozice se rozejde vykročením pravou nohou.
vTurnLeftXSteps(x,y)
x = počet kroků, 0-255
y = ‘true’ respectivily ‘false’, true = pohyb vpřed, false = pohyb vpřed.
Příklad:
vTurnLeftXSteps(2,false);
Robot se bude otáčet dozadu, přitom vykoná 2 kroky během svého otáčení vlevo.
vTurnRightXSteps(x,y)
x = počet kroků, 0-255
y = ‘true’ respectivily ‘false’, true = pohyb vpřed, false = pohyb vpřed.
Příklad:
vTurnLeftXSteps(3,true);
Robot se bude otáčet dozadu, přitom vykoná 3 kroky během svého otáčení vpravo.
vCalibrateServos()
V kombinaci s komunikací prostřednictvím software Hyperterminal bude tato funkce provádět
rekalibraci servo systému pokaždé, když upravíte mechanické pozice servomotorů nebo končetin
robota. Stejně tak může být tato funkce použita pro dálkové ovládání robota a jeho servomotorů
z klávesnice prostředí Hyperterminal pomocí tlačítek W, A, S a D.
Poznámka: V případě provedení kalibrace servomotorů můžete tuto funkci ze souboru odstranit.
Tím dojde k nepatrnému zmenšení objemu programového souboru.