Witam,
Piszę program obsługujący diody umieszczone symetrycznie na obrzeżu koła. Diody mają działać tak, że przy obrocie koła świeci się tylko jego połowa. Pomiar dokonuje się jednym kontaktronem.
Program powstał, testuje go na płytce uniwersalnej, a impuls pomiarowy wymuszam zbliżając magnes do kontaktronu. Niestety działa strasznie niestabilnie, a w sumie można powiedzieć, że nie działa.
Jeśli ktoś mógłby spojrzeć na kod i wskazać która część jest źle, a może cały zamysł jest bez sensu :/
Może jeszcze opiszę ideę. A mianowicie zliczam impulsy co 10ms w przerwaniu od timera. Na ich podstawie w chwili przerwania zewnętrznego (czyli co pełen obrót koła) wyliczam czasy (ilości impulsów od przerwania z timera) świecenia diod rozmieszczonych na kole.
Wydaje mi się, że idea dobra, ale pewnie nie mam racji.
Piszę program obsługujący diody umieszczone symetrycznie na obrzeżu koła. Diody mają działać tak, że przy obrocie koła świeci się tylko jego połowa. Pomiar dokonuje się jednym kontaktronem.
Program powstał, testuje go na płytce uniwersalnej, a impuls pomiarowy wymuszam zbliżając magnes do kontaktronu. Niestety działa strasznie niestabilnie, a w sumie można powiedzieć, że nie działa.
Jeśli ktoś mógłby spojrzeć na kod i wskazać która część jest źle, a może cały zamysł jest bez sensu :/
Kod: C / C++
Może jeszcze opiszę ideę. A mianowicie zliczam impulsy co 10ms w przerwaniu od timera. Na ich podstawie w chwili przerwania zewnętrznego (czyli co pełen obrót koła) wyliczam czasy (ilości impulsów od przerwania z timera) świecenia diod rozmieszczonych na kole.
Wydaje mi się, że idea dobra, ale pewnie nie mam racji.