Arduino Polska Forum

Pełna wersja: Sterowanie przez BT
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
Cześć. Próbuje zrobić ramię robota z serwami i czujnikami sterowanymi przez bluetooth z aplikacji na telefonie. Zrobiłem wg poradników sterowanie serwami i aplikacje w MIT App Inventor. Serwa działają, jednak czasami podczas poruszania (przesuwanie slidera w aplikacji) inne serwa też drżą lub ruch nie jest do końca płynny. Problem zaczyna się gdy chciałem dorzucić do robota kilka czujników. Np analogowy czujnik temperatury i odczyt z tego czujnika wyświetlać w aplikacji na telefonie. Gdy próbowałem zrobić odczyt na bieżąco to serwa cały czas drżały i nie dało się nimi sterować. Gdy zrobiłem żeby temperatura pokazywała się po kliknięciu przycisku to w momencie kliknięcia serwa poruszają się w jakiś losowy sposób (drżą). 

Szukam już od kilku dni w internecie i czytam różne poradniki ale nigdzie nie widzę żadnej konkretnej informacji jak połączyć obie te czynności.

Osobno odczyt temperatury działa bezproblemowo, samo sterowanie serwami też mogło by być, a gdy chce połączyć obie czynności to właściwie nie działa nic. 

Mógłby ktoś podpowiedzieć jak się za to zabrać?
Pokaż kod i schemat, ewentualnie fotki układu.
Tu jest kod:

https://pastebin.pl/view/0bb5ee66


Jesli chodzi o podłączenie no to czujniki i serwa są zasilane z zasilacza 5V 10A, masy wspólne. Przewody na pewno dobrze połączone.
Na początek wywal BT i wysyłaj pomiary tylko na UART do PC, ustaw prędkość 115200. Jeśli będzie działać OK to podłącz BT do UART sprzętowego, wywal komunikację z PC. Jak musisz mieć dwa UART lepiej skorzystaj z Arduino MEGA - ma 4, Arduino Leonardo lub MICRO ma 1 UART, ale nie używa go z PC, tu jest sprzętowe USB. Jest też wiele innych płytek Arduino.
To tylko dla testów. Arduino ma się komunikować tylko z telefonem. Zmieniłem sposób sterowania i serwa działają tak jak powinny jednak nadal nie współpracuje mi sterowanie serwami i odbieranie temperatury na telefonie.

Tak teraz wygląda kod: