Skocz do zawartości

Sterowanie joystickiem robota


Pomocna odpowiedź

int pwm_silnika, pozycja joysticka;
pozycja_joysticka = AnalogRead(KANAL_JOYSTICKA);
pwm_silnika = przelicz_joystick_na_pwm(pozycja_joysticka);
AnalogWrite(pwm_silnika);

Wystarczy napisać jedną funkcję, ale jeśli zależności są liniowe, to jest ona trywialna. Jeśli nie piszesz w Arduino, to zamiast AnalogWrite() samodzielnie ustaw któryś timer i pisz do jego rejestrów. AnalogRead musisz wtedy zastąpić zaprogramowaniem i odczytaniem przetwornika ADC.

A może byś podał jakiekolwiek szczegóły? Nie wiemy ani jak jest zbudowany twój robot, ani na czym uruchamiany jest program, ani nawet w jakim języku jest napisany. Nie wiemy jakich bibliotek używasz, jak przebiega komunikacja pomiędzy robotem a tym, do czego podłączony jest joystick, nie wiemy nawet co to za joystick. W dodatku nie sądzę, żeby to był po prostu pojedynczy warunek -- raczej będzie to bardziej skomplikowane, choć oczywiście wszystko zależy od powyższych pytań.

Jaki język i platforma? Niestety, nie ma na etacie wróżki.

Jeśli Arduino, to w wielkim skrócie:

analogWrite(MOTOR_PIN, map(analogRead(JOY_PIN), 0, 1023, 0, 255));

[edit]

Ups, spóźniłem się 😉

  • Pomogłeś! 1

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...