Cześć bawie sie dalej z arduino silnikiem i joystickiem i mam taki problem gdy mam podłączony tylko jedną oś x lub y (jeden potencjometr) to fajnie steruje silnikiem w przód albo w tył, ale jeśli dodaje drugą oś i kolejne dwie funkcje void left() i void right() to silnik się dziwnie zachowuje mianowicie: po przesunieciu joysticka w jedną strone normalnie się kręci, w drugą strone piszczy, w trzecią stronę kręci się bardzo powoli, a w czwartą nic nie robi albo też piszczy 😃
kod wygląda tak:
#define joystick A0 //przypisuje joystickom piny
#define joystickk A5
#define motor11 7 // przypisuje silnikom piny
#define motor12 8
int odczyt;
int odczytt;
void setup()
{
pinMode(motor11, OUTPUT);
pinMode(motor12, OUTPUT);
}
void loop()
{
odczyt = analogRead(joystick);
if (odczyt <300)
{
forward();
}
else if (odczyt > 800)
{
backward();
}
else
{
stopp();
}
//-----------------------------------------------
odczytt = analogRead(joystickk);
if (odczytt <300)
{
left();
}
else if (odczytt > 800)
{
right();
}
}
//-----------------------------------------------
void forward()
{
digitalWrite(motor11, LOW);
odczyt = map(odczyt, 506, 0, 0, 255);
digitalWrite(motor12, odczyt);
}
//-----------------------------------------------
void backward()
{
digitalWrite(motor12, LOW);
odczyt = map(odczyt, 512, 1023, 0, 255);
digitalWrite(motor11, odczyt);
}
//-----------------------------------------------
void stopp()
{
digitalWrite(motor11, LOW);
digitalWrite(motor12, LOW);
}
//-----------------------------------------------
void right()
{
digitalWrite(motor11, LOW);
odczytt = map(odczytt, 506, 0, 0, 255);
digitalWrite(motor12, odczytt);
}
//-----------------------------------------------
void left()
{
digitalWrite(motor12, LOW);
odczytt = map(odczytt, 512, 1023, 0, 255);
digitalWrite(motor11, odczytt);
}
Dlaczego po dodaniu dwóch nowych funkcji wszystko się sypie?