Programmazione Arduino

Ragazzi mi potreste dare una mano sulla programmazione arduino duemilanove...non riesco a far funzionare il sensore...per il momento all'arduino sono collegati tramite la scheda Motor Shield 2 motori in DC....
questo è una prova che ho fatto per vedere se funziona il Sensore Fototransistor Fairchild QRB1134 ma niente da fare...sbaglio qualcosa?

int led = 13;
int sensore = 2; // pin digitale
int val=0;

void setup()
{
pinMode(led, OUTPUT);
pinMode(sensore, INPUT);
}

void loop()
{
val=digitalRead(sensore);
digitalWrite(led,val);
delay(5000);
}

val è sempre uguale a 0 è come se non leggesse..ho controllato la parte fisica " il circuito" è mi sembra apposto anche se non vorrei che abbia qualche interferenza con i motori.. per questo penso sia un problema legato alla programmazione.

Scusa perchè lo leggi come digitale ti da' in uscita solo zero volt o cinque volt ? Cosa leggi sull'ingresso con il tester ?
Saluti
Roberto

come specifiche questo tipo di sensore da in uscita un segnale digitale perciò utilizzo i pin digitali...
Essendo alle prime armi sono un po impacciato perciò ho chiesto aiuto a voi...tester?

ma come lo hai collegato?

Quello è lo schema che ho seguito però non ho messo il condesatore tra C e la messa a terra non penso sia questo il problema....

http://www.robot-italy.com/product_info.php?products_id=252

Volevo inoltre dire che utilizzo 2 pacchi batterie uno per l'arduino da 9 Volt e l'altro per il motor shield da 6 volt e ho fatto una messa a terra in comune......

beh si, se i collegamenti elettrici sono giusti fai una prova col tester per vedere se ti da i 5V in uscita.

Se te li da allora il problema potrebbe essere che non vedi il led acceso perchè così come hai scritto, il programma fa una lettura ogni 5 secondi e se verificata accende il led che però rimane acceso solo per un "ciclo di loop", cioè talmente poco che non te ne accorgi.

Prova a mettere una condizione che se legge HIGH ti setta il led a HIGH e se al ciclo successivo il sensore è a LOW lo resetta, in questo modo il led ti rimane acceso anche durante la pausa di 5 secondi.

e ma il tester come lo farei?
dovrei usare un multimetro?

ma io ho provato a fare anche il collegamento seriale per vedere sul montor cosa mi dava e da sempre 0;

esatto un multimetro/voltmetro.

verifica nelle due condizioni se hai 0V e 5V, almeno sei sicuro che al pin di arduino arriva qualcosa.

e ma non ho ne multimetro ne voltmetro! mannaccia....ma potrei collegare la Vcc del sensore all'uscita da 5v dell'arduino? perchè io collego la Vcc del sensore al voltaggio da 9 volt della batteria!

io vado a letto che si è fatto tardi...federico ti ringrazio per l'aiuto che mi stai dando se hai qualche suggerimento da darmi io poi dm mattina quando mi sveglio leggo cosa hai scritto altrimenti ci sentiamo domani...

niente da fare ho fatto vari tentativi ma niente......non vuole rispondere questo sensore....qualcuno mi da una mano?

diciamo che i pin in ingresso dell'Arduino sopportano al massimo 5V, tutto quello che gli dai in più rischia di rovinarli.

ma potrei collegare la Vcc del sensore all'uscita da 5v dell'arduino?

Si, è la cosa migliore

ho comprato il multimetro e vedo di fare un po di prove vediamo se arrivano questi 5V al sensore! ti faccio sapere

fatti i test dal pin 2 la tensione è sempre 0V

A nodo C non c'è proprio tensione la resistenza la fa scomparire del tutto..al nodo A la tensione è di circa 2V!!

Fedrico ci sei?

questo è il mio piccolo circuitino relativo al sensore....

http://img192.imageshack.us/img192/928/immag0033c.jpg

forse mi potreste aiutare meglio a capire cosa non va!

scusa ma hai attaccato un cavo che va dalle batterie al 5v dell'arduino?

no no da 5V dell'arduino va alla scheda Forata con indicazione +

scusa ma non si capisce molto... un disegno anche con paint sarebbe molto utile :smiley: