Roboruka
Knihovna pro obsluhu RoboRuky.
|
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. ... | |
Funkce pro komunikaci se senzory na čáru.
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.
motor_time_coef | tento koeficient změní jak dlouho se roboto otáčí, změňte pokud se vaše ruka neotočí tak, že senzory projedou všechny nad čárou. |
void rkLineClearCalibration | ( | ) |
Vymazat kalibraci.
Vymazat nastavenou kalibraci a dále používat nezkalibrované hodnoty.
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.
white_line | nastavte na true, pokud sledujete bílou čáru na černém podkladu. Výchozí: false |
line_threshold_pct | Jak velký rozdíl v procentech musí mezi hodnotami být, aby byla čára považována za nalezenou. Výchozí: 25% |
isnan(line_position)
uint16_t rkLineGetSensor | ( | uint8_t | sensorId | ) |
Hodnota z jednoho senzoru na čáru.
sensorId | číslo senzoru od 0 do 7 včetně |