Anténní rotátor s krokovým motorem

Zdravím, mám do školy zadaný projekt viz. příloha. Potřeboval bych radu jak poznat při první změně směr otáčení jestli je kladný nebo záporný. Je to potřeba v projektu č.1, který je uvnitř souboru. Tak nějak nad tím dumám, ale nevím jestli to myslím dobře. Takže moje pochodové myšlenky jsou takové: Dejme tomu, že původní poloha bude, že signál S1 bude v 0 a S2 taky(takže krok B). Při prvním otočení se třeba dostanu do stavu C a změní se první signál S1=1, takže smysl otáčení je kladný, protože v předchozím stavu byli signáli stejné a jako první se změnil S1? Nevím jestli jsem to popsal dobře, ale snad mě pochopíte. Díky za názory
rotator_KM.doc (299 KB)

Ahoj
Pokud pri nabezne hrane S1 je S2 v 0 je otaceni kladne, pokud pri nabezne hrane S1 je S2 v 1 je otaceni zaporne.

Jak proste mily Watsone

Děkuji, ale stejně ještě bádám jak to udělat. Jestli při zapnutí programu si uložit s1 do nějakého pomocného registru a pak otáčet motorem tak dlouho dokud se nezmění?

Ano to je dobry napad, zkus to.

Ještě doplním že detekci směru otáčení můžeš provádět na obou hranách S1 - náběžné i sestupné. (zrychli to detekci)
__

A nejenom to, dá se detekce směru udělat na obou hranách obou signálů. Problém je v tom, že tazatel ani neví, jak reagovat na hranu nebo jak ji detekovat …

Malá nápověda - použij externí přerušení.