Witam!
Mam pewien problem. Robię projekt autka sterowanego po bluetooth z androida na atmega 32. Układ jest od konkursów miniSUMO. Niby mam wszystkie biblioteki do tego itp., ale jest w nich problem.
Program na androida wysyła znaki 1,2,3,4,5. każdy znak ma sterować w którą stronę ma autko jechać (przód tył lewo prawo i stop). Diody które są na płytce użyłem jako informacyjne czy sygnał przyszedł dobry działają jak powinny w sensie, że jak nacisnę przycisk na telefonie to odpowiednia dioda się zapali, ale silniki już nie pracują tak dobrze :/ Owszem skręca i jedzie prosto, ale w dziwaczny sposób:
powiedzmy, że opowiem na przykładzie podpiętego jednego silnika który odpowiada za jazdę przód i tył.
Odpalam aplikację wszystko się łączy i jest ok. Klikam jazda do przodu i silnik rusza. Klikam jazda do tyłu on dalej jedzie do przodu, ale jeżeli zaczynam naciskać prawo i lewo to po naciśnięciu lewo jedzie w przód a w prawo to jedzie do tyłu obojętnie czy wcisnę później przód czy tył.
Analogicznie dzieje się z drugim silnikiem od skrętu.
Wiem jest to zamotane, ale ciężko to inaczej wytłumaczyć.
Wszystko pisałem w języku C. Czy ktoś już się z czymś takim spotkał?
Tak wygląda kod głównego programu:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Kod może jest trochę dziwny, dlatego że wciąż próbuję się z tym uporać i zmieniam, a to opóźnienia dodaję zwiększam zmniejszam jeszcze próbuję zatrzymywać jakoś drugi silnik itp. i nic nie pomaga. :/ Dziwne, że jednak diody świecą dobrze i nawet jak silniki uzależniłem od diod to działały tak samo :/
Może ktoś coś już miał podobnego i zna odpowiedź?
POZDRAWIAM!!