Robotka
Knihovna pro obsluhu Robotky.
|
Funkce | |
void | rkLineCalibrate (float motor_time_coef=1.0) |
Kalibrovat senzorickou lištu. ... | |
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 senzorickou lištou. ... | |
Funkce pro komunikaci se senzorickou lištou na čáru. Tyto funkce jsou pro půlměsícovou desku s 8 senzory, ne pro malé, obdélníkové desky s 1 senzorem!
void rkLineCalibrate | ( | float | motor_time_coef = 1.0 | ) |
Kalibrovat senzorickou lištu.
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 senzorickou lištou.
Tato funkce se pokouší najít černou čáru pod senzorickou lištou.
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ě |