Skocz do zawartości

sterowanie prędkością obrotową za pomocą joysticka i serwomechanizmy


xmerinex

Pomocna odpowiedź

Witam, 

chciałabym się dowiedzieć, jak napisać kod aby sterować silnikiem. Chodzi dokładnie o to żeby serwo miało maksymalne wychylenie przy pozycji joysticka od lewej do górnej, natomiast od górnej do prawej żeby malała. do tej pory wygląda on tak:

#include <Servo.h>

Servo LewySilnik;

int x_key = A1;
int y_key = A2;

int x_pozycja;
int y_pozycja;

int LewySilnik_pin = 6;

int pozycja_LS = 0;


void setup (){
  Serial.begin (9600);
  LewySilnik.attach(LewySilnik_pin);
  LewySilnik.write(pozycja_LS);
  pinMode(x_key, INPUT);
  pinMode(y_key, INPUT);
}
void loop(){
  x_pozycja = analogRead(x_key);
  y_pozycja = analogRead(y_key);

if (y_pozycja <512){
  pozycja_LS=0;
  LewySilnik.write(pozycja_LS);
}
else{
  if(x_pozycja<514){ 
    pozycja_LS=sqrt(sq(x_pozycja)+sq(y_pozycja));
    pozycja_LS=map(pozycja_LS,0,1024,0,180);
    LewySilnik.write(pozycja_LS);
    delay (10) ; 
  }
  else{
    pozycja_LS = pozycja_LS+1;
LewySilnik.write ( pozycja_LS );
delay (10) ;
  }
}}

 

Edytowano przez Gieneq
Link do komentarza
Share on other sites

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...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.