Modulo L298N e Motori Dc

Salve stavo cercando di capire come controllare due motori dc con arduino ed il modulo L298N ora dopo aver eseguito le connessioni come in foto e caricato lo sketch i motori non partono ho provato singolarmente i motori e funzionano mi chiedo cosa sbaglio??? Imgur: The magic of the Internet l’unica differenza e che arduino lo alimento indipendentemente

//motore a
int enA = 10;
int in1 = 9;
int in2 = 8;
//motore b
int in3 = 7;
int in4 = 6;
int enB = 5;

void setup()
{
  //imposta i motori come output
  pinMode(enA, OUTPUT);
  pinMode(enB, OUTPUT);
  pinMode(in1, OUTPUT);
  pinMode(in2, OUTPUT);
  pinMode(in3, OUTPUT);
  pinMode(in4, OUTPUT);
}

void loop()
{
  // accende il motore a
  digitalWrite(in1, HIGH);
  digitalWrite(in2, LOW);
  // imposta la velocità a 200 (0~255)
  analogWrite(enA, 200);

  // accende il motore b
  digitalWrite(in3, HIGH);
  digitalWrite(in4, LOW);
  // imposta la velocità a 200 (0~255)
  analogWrite(enB, 200);

  delay(2000);

  // cambia la direzione dei motori
  digitalWrite(in1, LOW);
  digitalWrite(in2, HIGH);  
  digitalWrite(in3, LOW);
  digitalWrite(in4, HIGH); 

  delay(2000);

  // spegne tutti i motori
  digitalWrite(in1, LOW);
  digitalWrite(in2, LOW);  
  digitalWrite(in3, LOW);
  digitalWrite(in4, LOW);
  delay(1000);

  //riaccende i motori
  digitalWrite(in1, LOW);
  digitalWrite(in2, HIGH);  
  digitalWrite(in3, LOW);
  digitalWrite(in4, HIGH); 

  // accelera da zero a 255
  for (int i = 0; i < 256; i++)
  {
    analogWrite(enA, i);
    analogWrite(enB, i);
    delay(20);
  } 

  // decelera
  for (int i = 255; i >= 0; --i)
  {
    analogWrite(enA, i);
    analogWrite(enB, i);
    delay(20);
  }

  // spegne tutti i motori
  digitalWrite(in1, LOW);
  digitalWrite(in2, LOW);  
  digitalWrite(in3, LOW);
  digitalWrite(in4, LOW);  

  delay(1000);
}

dici di alimentare l'arduino indipendentemente, ma la massa in comune l'hai rispettata?

MD

no l'errore era quello ahahhahaha dovrei farti una statua grazie smack smack, ma perche devono avere la massa in comune???

ahahah sono contento :slight_smile:

hanno inventato i punti karma apposta per non far erigere troppe statue ahahha
scherzo ovviamente :slight_smile:

la spiegazione è molto semplice... perchè al driver motore vengono inviati dei segnali , ed è necessario un punto basso (di massa) di riferimento ... è una spiegazione molto semplificata :slight_smile:
se vuoi una spiegazione più dettagliata dovrei scrivere un post troppo lungo :slight_smile:

MD

Raist:
... ma perche devono avere la massa in comune???

Leggi QUESTO thread :wink:

Guglielmo