Motor-Shield Arduino

Ragazzi ho un problema: vi riporto di seguito il codice che sto usando per controllare 2 motoriduttori tramite una motor-shield collegata ad Arduino 2009

int dirA = 8;    
int dirB = 12; 
int spA=11; PWM
int spB=10; PWM
int speed=128;
int stop=0;
int lettura1=1;
int lettura2=2;
int lettura3=3;
int lettura4=4;

void setup()  { 
  Serial.begin(9600);
  pinMode(dirA, OUTPUT);
  pinMode(dirB, OUTPUT);
} 

void loop(){ 
  digitalWrite(dirA, HIGH);
  digitalWrite(dirB, LOW);
  analogWrite(spB, speed); 
  analogWrite(spA, speed); 
  Serial.println("LETTURA MOTORE 1:" );
  Serial.println(analogRead(lettura1));
  Serial.println(analogRead(lettura2));
  Serial.println("LETTURA MOTORE 2:" );
  Serial.println(analogRead(lettura3));
  Serial.println(analogRead(lettura4));
  delay(4000);
  }

per quanto riguarda il motore 1, i valori in base al valore di "dirB" si alternano e quindi il motore cambia direzione; mentre per il motore 2 se metto un valore di dirA=HIGH l'uscita è ad esempio 0,1023 mentre se metto dirA=LOW l'uscita è 1023,1023 e il motore si ferma! Quale potrebbe essere il motivo? ho fatto tantissime prove ma non riesco a trovare l'inghippo! Grazie!

Mi pare che ci sia qualcosa che non torna nei pin che usi. Messo così, il tuo codice usa i pin digitali da 1 a 4 per le letture analogiche ma i pin analogici sono in realtà contrassegnati come A0..A5 oppure come 14..19.

A quali pin hai collegato il motore? Ricorda che analogRead funziona solo sui pin analogici.

Allora i pin 1234 sn analogici e infatti nn li ho nemmeno dichiarati nel void setup! Poi i motori sn collegati alla motor-shield che a sua volta e' collegata ad Arduino tramite i pin 8-12-10-11!

Sarebbe il caso che dici esattamente quale motor shield stai usando, ne esistono vari modelli e non funzionano tutte allo stesso modo.

@ghost:
ok. mea culpa!

questa è la motor-shield che uso: http://www.robot-italy.com/product_info.php?products_id=880 Il problema è che non riesco a capire perchè fino a qualche tempo fa funzionava, Adesso vi posto anche un immagine relativa alla motor-shield( i collegamenti con i pin arduino non sono quelli perchè è un immagine vecchia):

I componenti montati sulla scheda sono oltre a resistenze e condensatori un L293D e un inverter SN74HC00 Quad 2-input NAND gate. Grazie!

attenzione!! Quella scheda, messa male nel connettore del Arduino, rischia di toccare l'involucro di metallo del connettore USB. Metti uno strato di nastro adesivo tipo quello telato sul conettore USB e sei sicuro di non averne piú problemi del genere. ciao Uwe

uwefed: attenzione!! Quella scheda, messa male nel connettore del Arduino, rischia di toccare l'involucro di metallo del connettore USB. Metti uno strato di nastro adesivo tipo quello telato sul conettore USB e sei sicuro di non averne piú problemi del genere. ciao Uwe

ma io ho chiesto altro!!! ho detto che quella foto è vecchia!

Scusami; la foto non l'avevo visto. Comunque finche non ci mandi una attuale non so dirti niemete di concreto; la cosa che so dirti che fare i collegamenti con i cavi non rigidi (parte destra del arduino) non garantiscono un contatto fisso e affidabile. Ricontrolla tutti i collegamenti. Ciao Uwe

ti ringrazio ma ti ripeto che la foto è vecchia! cosa vi posto a fare la foto nuova! vorrei solo un consiglio su quello che mi accade! grazie!

Ho il sospetto che un cavo non fa bene contatto. Ciao Uwe

no non penso sia un problema di mal collegamento perchè altrimenti quando vado a mettere dirA=HIGH nn me lo dovrebbe leggere comunque invece fa il suo dovere!