Žiroskop modul koristi ST MEMS inercijalni senzor. Ovaj senzor meri ugaonu brzinu do maksimalne vrednosti od 300°/s. Senzor se napaja jednosmernim naponom između 2,7V i 3,6V, međutim Parallax modul koji je korišćen ima ugrađen naponski limiter napajanja modula, pa je napon napajanja modula između 3,4V i 6,5V. Zbog ugrađenog niskofrekventnog filtera, žiroskop se osvežava frekvencijom od 88Hz. Osvežavanje modula je izvršeno unutar Timer1 prekidne rutine (kompletan kod za mikrokontroler možete pronaći na kraju teksta).
Kako bi se dobile korekten celobrojne vrednosti sa ugrađenog SPI ADC, kombinuju se dva bajta. Korišćenjem prekida tajmera dobija se konstantno semplovanje. Očitane vrednosti sa žiroskopa se upoređuju sa vrednostima koje žiroskop daje kada nema pomeranja. Ova vrednost varira unutar nekoliko kvantova ADC-a. Ugaona brzina se računa upoređivanjem dva iščitavanja žiroskopa u predefinisanim vremenskim intervalima. Žiroskop daje vrednosti koje su proporcionalne ugaonoj brzini. Integraljenjem ovih vrednosti, dobija se trenutna pozicija. U digitalnom domenu, integracija predstavlja jednostavno sabiranje prethodno dobijenih vrednosti.
Kompletan CodeVisionAVR projekat možete pronaći ovde.
Izvor: Electronics-base.com