L293DNE + pushbutton

ciao a tutti ragazzi, sono JonnyK ed ho un dubbio su un progetto che prevede l'utilizzo di un motore pilotato tramite il circuito integreato L293DNE.
il motore funziona in automatico, ma quando ci ho aggiunto il pulsante ha cominciato a non girare più.
a me, però, sembra tutto a posto.
potete darmi un aiuto?

int buttonState = 0;

byte pwm;


void setup() {
pinMode(2,OUTPUT);   
pinMode(3,OUTPUT);
pinMode(8,INPUT);   
}

void avanti(byte pwm) {
digitalWrite(2,HIGH);  
analogWrite(3,(255-pwm));   
}

void indietro(byte pwm) {
digitalWrite(2,LOW);
analogWrite(3,pwm);      
}

void fermo() {            
digitalWrite(2,LOW);   
digitalWrite(3,LOW);   
}  

void loop() {
 
  buttonState = digitalRead(8);
  
  if (buttonState == HIGH)   {
    pwm = 255;       
    
    avanti(pwm);
    }
  else   {
     pwm = 0; 
   
    fermo();
    }
}

link circuito : https://www.mediafire.com/?o6vf0md01jygibi

ciao e grazie in anticipo![/code]

se riesci posta l' immagine, fritzing non tutti ce lo hanno, ma hai messo la resistenza di pullup sul tasto ?

cos'è una resistenza di pullup?
ho messo la resistenza da 10 ohm tra il gnd ed un polo del tasto...

questo e' un PullUp

pull.png

sei un genio!! grazie mille, ho risolto!
grazie ancora!!