• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Sterowanie Microserwem
#6
Ta kropka nad i to był oczywisty błąd, a reszta kodu jest po prostu bez sensu. Jak ktoś znajduje błąd to analizowanie zwykle w tym miejscu się kończy. Nauczyłeś się odmierzać czas z millis, a do środka wrzucasz delay. Zanim zrealizują się warunki z millis z tym delay pętla będzie wykonywać się tysiące razy na sekundę (pusta teoretycznie 16mln x, ale sprawdzenie millis też parę us trwa), zmienna od przycisku będzie w tym rytmie zmieniać się od 0 do 32 tysięcy przekręcać i przyjmować losowe wartości, gdyby była long po prostu urośnie i przestanie się zmieniać w tym tempie, potem znowu.
Wybij sobie millisem rytm pracy, np. sprawdzanie przycisku co 100ms, albo zmiana nastawy serwa co 10ms, czy nawet odczyt co 1ms stanu przycisku i analizuj czy jest wciśnięty przez co najmniej 30ms, po czym puszczony przez co najmniej 30ms, zalicz wciśnięcie i zmień zmienną dokładnie o tyle ile chcesz (drgania styków).
No chyba że to jakaś maszyna losująca.
Człowiek raczej nie wciśnie przycisku częściej niż z 10Hz, uC działa na 16mln Hz, 16MHz, zmiana ruchu serwa też ma sens w określonej częstotliwości. Musisz sobie to spokojnie poukładać, poczytać kod z jakiś przykładów, kursu, gotowych projektów.
Nikomu tu nie zależy na złośliwości, naprawdę warto przeczytać jaką darmową książkę w PDF lub przejść kurs online, niby nie potrzebujesz IRda czy komunikacji UART, ale są w takie "niepotrzebne" lekcje wplecione różne elementy programowania, bez których odbijasz się od ściany.
Miło być decenianym https://buycoffee.to/kaczakat
 
  


Wiadomości w tym wątku
RE: Sterowanie Microserwem - przez kaczakat - 22-06-2020, 20:14
RE: Sterowanie Microserwem - przez Jarewa0606 - 22-06-2020, 23:03
RE: Sterowanie Microserwem - przez kaczakat - 23-06-2020, 00:17
RE: Sterowanie Microserwem - przez kaczakat - 23-06-2020, 00:45

Skocz do:


Przeglądający: 1 gości