Novinky: Pridal som novú sekciu na webe - Turistika
Sitepoint logo

Rotačné enkodéry po druhé – nelineárne prírastky

Minule som písal stručne o enkodéroch, a teraz v jednom projekte som ho použil na nastavenie prevádzkových premenných. Potreboval som ale nastavovať parametre v jednotkách milisekúnd, ale v rozsahu od pár desiatok až po tisíce. Najskôr som to riešil tým, že som do menu dal položku step, kde sa nastavil krok prírastku (od 0 do XXX v krokoch po 1), a ďalšie premenné sa upravovali v týchto krokoch. Funkčné, ale otravné.

Takže som sa rozhodol po vzore kuchynskej rúry na pečenie naprogramovať prírastky nelineárne / dynamicky – podľa rýchlosti otáčania enkodérom. Pri pomalom otáčaní sa upravuje hodnota o 1, pri rýchlejšom otáčaní (menej ako 500 ms medzi pootočením) sa krok zvyšuje nelineárne – čím rýchlejšie, tým väčší krok. Takto sa dá s presnosťou na jednotky nastaviť hodnota v širokom rozsahu – na jedno svižné pootočenie kľudne aj o 250000.

Nech sa páči, zdrojový kód (knižnica je v prvom článku) a video.

Napísať komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *