не работает задний ход на dc моторчике

Ivan____
Offline
Зарегистрирован: 19.09.2021

КРЧ. Я сделал так чтобы джойстик управлял скоростью вращение 2х моторчиков(с помощью mx1508) и направлением вращение, но задний ход не работает( и слышится у моторов какой-то цокот). Я поменял in1 с in2 и in3 с in4 местами соответственно, в таком случае передний ход не работает а задний работает.

#define JOY A0
#define pin2 10
#define pin1 9
#define pin4 3
#define pin3 6
int val=0;
int res=0;
void setup() {
  pinMode(JOY,INPUT);
  pinMode(9,OUTPUT);
  pinMode(10,OUTPUT);
  pinMode(3,OUTPUT);
  pinMode(6,OUTPUT);
  Serial.begin(9600);
}
 
void loop() {
  val=analogRead(0);
  if(val>550){
    res=map(val,550,1023,0,255);
    reverse(res);
  }
  if(val<460){
    res=map(val,460,0,50,255);
    forward(res);
  }
  else{
    brake();
  }
  delay(50);
}
 
void forward(int res){
  analogWrite(pin1,res);
  digitalWrite(pin2,0);
  analogWrite(pin3,res);
  digitalWrite(pin4,0);
}
void reverse(int ress){
  digitalWrite(pin1,0);
  analogWrite(pin2,ress);
  digitalWrite(pin3,0);
  analogWrite(pin4,ress);
}
void brake(){
  digitalWrite(pin1,0);
  digitalWrite(pin2,0);
  digitalWrite(pin3,0);
  digitalWrite(pin4,0);
}
 

 

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016
Ivan____
Offline
Зарегистрирован: 19.09.2021

я так и не понял в чем дело.

lilik
Offline
Зарегистрирован: 19.10.2017

Ivan____ пишет:

я так и не понял в чем дело.

У тебя res с двумя s !!! :-)

Ivan____
Offline
Зарегистрирован: 19.09.2021

исправил но не помогло, может дело в mx1508 или еще в чем то?

 

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Ivan____ пишет:

исправил но не помогло, может дело в mx1508 или еще в чем то?

под этот драйвер есть библиотека

lilik
Offline
Зарегистрирован: 19.10.2017

Ivan____ пишет:

исправил но не помогло, может дело в mx1508 или еще в чем то?

 

Можно было не исправлять.

Если подозрение на неисправность модуля, его надо проверить без всяких скетчей и ардуин.