Pilotare motori DC con arduino + ponte H

ho costruito un line follower, col tamiya gearbox ed un ponte H collegato all'arduino e due phototransistor.
Il tutto funziona solo che probabilmente sbaglio qualcosa sulla programmazione. sto facendo dei test per far variare all'interno dello stesso programma la velocità di rotazione dei motori ed il verso di rotazione, ma niente, non ci riesco.

il ponte H è il classico L293.
Ho collegato i piedini di enable a due uscite digitali che ho settato alte e le quattro uscite (IN1 e IN2 per il primo motore, IN3 e IN4 per il secondo) a quattro uscite PWM dell'arduino.

questo è il codice:

int en1 = 37;
int en2 = 41;

int in1 = 12;
int in2 = 13;

int in3 = 8;
int in4 = 10;


void setup() {
  
  pinMode(en1, OUTPUT);
  pinMode(en2, OUTPUT);

}

void loop() {
  
  
  digitalWrite(en1, HIGH);
  digitalWrite(en2, HIGH);
  
  analogWrite(in1,255);
  analogWrite(in2,0);
  analogWrite(in3,255);
  analogWrite(in4,0);
  
 delay(2000);
  
  
analogWrite(in1,0);
analogWrite(in2,0);
analogWrite(in3,0);
analogWrite(in4,0);
   delay(2000);

  


}

banalmente dovrebbe far partire i motori e spegnerli dopo 2 secondi.
Quello che succede è che i motori si accendono e restano accesi, la seconda parte del codice non la considera proprio.
cosa sbaglio?

Puoi collegare i due piedini 'enable' direttamente a +5v, poi provare a fare un ponte tra in1 e +5v (e via dicendo, uno alla volta) per accertarti che il circuito in se funzioni. Poi nel setup() devi settare come output i piedini da in1 a in4.

nn ho nominato i pin .. ed ho usato il 2 e il 5 ...

void setup() {
  
  pinMode(2, OUTPUT);
  pinMode(5, OUTPUT);

}

void loop() {
  
  
  analogWrite(2,255);
  analogWrite(5,0);

  
 delay(2000);
  
  analogWrite(5,255);
  analogWrite(2,0);

 delay(2000);

  analogWrite(5,100);
  analogWrite(2,0);

 delay(2000);

 analogWrite(2,100);
  analogWrite(5,0);

 delay(2000);


 analogWrite(2,255);
  analogWrite(5,255);
 delay(2000);
 
 analogWrite(2,0);
  analogWrite(5,0);

 delay(2000);

 analogWrite(2,50);
  analogWrite(5,50);

 delay(2000);

 analogWrite(2,0);
  analogWrite(5,0);

 delay(2000);
 
 analogWrite(2,255);
  analogWrite(5,255);

 delay(2000);

}