Roboruka
Knihovna pro obsluhu RoboRuky.
Funkce
Sledování čáry

Funkce

void rkLineCalibrate (float motor_time_coef=1.0)
 Kalibrovat senzory na čáru. ...
 
void rkLineClearCalibration ()
 Vymazat kalibraci. ...
 
uint16_t rkLineGetSensor (uint8_t sensorId)
 Hodnota z jednoho senzoru na čáru. ...
 
float rkLineGetPosition (bool white_line=false, uint8_t line_threshold_pct=25)
 Pozice čáry pod senzory. ...
 

Detailní popis

Funkce pro komunikaci se senzory na čáru.

Dokumentace funkcí

◆ rkLineCalibrate()

void rkLineCalibrate ( float  motor_time_coef = 1.0)

Kalibrovat senzory na čáru.

Otočí robota doprava a pak doleva a zase zpět tak, aby lišta se senzory prošla celá nad čárou i nad okolím. Trvá to 2.2s, funkce po celou dobu kalibrace čeká a vrátí se až po dokončení.

Předpokládá se, že před zavoláním této metody roboto stojí tak, že prostřední senzory jsou nad čárou.

Kalibrační hodnoty se ukládají do paměti, kalibraci je třeba dělat pouze když je ruka přesunuta na jiný podklad.

Parametry
motor_time_coeftento koeficient změní jak dlouho se roboto otáčí, změňte pokud se vaše ruka neotočí tak, že senzory projedou všechny nad čárou.

◆ rkLineClearCalibration()

void rkLineClearCalibration ( )

Vymazat kalibraci.

Vymazat nastavenou kalibraci a dále používat nezkalibrované hodnoty.

◆ rkLineGetPosition()

float rkLineGetPosition ( bool  white_line = false,
uint8_t  line_threshold_pct = 25 
)

Pozice čáry pod senzory.

Tato funkce se pokouší najít černou čáru pod senzory.

Parametry
white_linenastavte na true, pokud sledujete bílou čáru na černém podkladu. Výchozí: false
line_threshold_pctJak velký rozdíl v procentech musí mezi hodnotami být, aby byla čára považována za nalezenou. Výchozí: 25%
Návratová hodnota
Desetinná hodnota od -1 do +1. -1 znamená, že čára je úplně vlevo, 0 že je uprostřed a 1 že je úplně vpravo. Vrátí NaN, pokud nenalezne čáru - výsledek otestujte funkcí isnan() - isnan(line_position)

◆ rkLineGetSensor()

uint16_t rkLineGetSensor ( uint8_t  sensorId)

Hodnota z jednoho senzoru na čáru.

Parametry
sensorIdčíslo senzoru od 0 do 7 včetně
Návratová hodnota
naměřená hodnota od 0 do 1023