Sensore Infrarosso Sharp IS471F

ragazzi da ieri mi sto imbattendo in questo sensore...dopo aver realizzato il circuito mostrato qui:

e fatto un piccolo programmaino per vedere se funziona:

int led = 13;
int sensoreOS = 2; //pin digitale
int valOS = 0;

void setup()
{
Serial.begin(9600);
pinMode(led, OUTPUT);
pinMode(sensoreOS,INPUT);
}

void loop()
{
valOS=digitalRead(sensoreOS);
Serial.print(valOS);
digitalWrite(led,valOS);
delay(1000);
}

il led il più delle volte rimane sempre acceso; si accende e si spegne come vuole lui cioè anche se non collego il sensore ogni tanto si accende e ogni tanto si spegne....puo essere un problema di fili che fanno male contatto(li sto controllando e aggiustando da ieri sera)? oppure?
grazie!

Non capisco la riga

digitalWrite(led,valOS);

valOS è un valore che vai a leggere,
se vuoi fare accendere il led quando valOS è 1 allora non ce la farà, perchè valOS è 1 solo se led è 1, ma qui led è 1 solo se valOS è 1, è un moto perpetuo :slight_smile:

Prova così:

digitalWrite(led, HIGH);
serial.Println(valOS);
delay 1000;
digitalWrite(led, LOW)

ma con il programmino che ho fatto valOS è il valore del sensore..di conseguenza il sensore o è HIGH o è LOW e quindi il sensore si accende e si spegne!

non vorrei che il problema fosse il LED IR!!

Aspè :smiley:
Il sensore dovrebbe ricevere i segnali, tant'è che lo hai settato come ingresso, come fa ad essere acceso o spento? Ha un valore alto in uscita quando viene colpito dalla luce IR del led, sennò è low.

E' semmai il led che può essere acceso o spento da software, poi il valore diuscita del sensore può essere forzato alto o basso, ma è un'altra storia :slight_smile:

allora il led che voglio fare accendere è un'altro LED verde...Il LED IR che sto parlando è quello relativo al circuito del sensore.

Ok, quindi hai un led infrarosso collegato come da schema e pilotato dal sensore, e inpiù un altro led verde che si accende quando il valore in uscita del sensore è alto?

Allora il programmillo dovrebbe essere corretto, ma tieni conto di due cose: Il sensore porta la sua uscita alta solo quando riceve il segnale dal led IR che non è acceso fisso, ma viene pilotato dal sensore stesso. Se il sensore non è collegato il led verde si accende a muzzo probabilmente perchè qualcosa crea un segnale positivo all'entrata di arduino, non penso dipenda dal led ir :slight_smile:

ma come deve essere orientato il LED IR...perchè io l'ho montato su una scheda forata.. e poi il sensore ce l'ho lontano dal LED IR...su altri forum ho letto che bisogna orientarlo con la testa verso il sensore bho non ho capito!

Beh, occorre orientarlo in modo che vada a illuminare il sensore. Quello però è un sensore di prossimità, quindi dovresti metterli entrambi puntati nella stessa direzione, uno a fianco dell'altro, in modo che possa "vedere" la luce ir riflessa da un eventuale ostacolo.

Dai un'occhiata qui: http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1244081769

ecco forse è questo il problema mannaccia...ti ringrazio vedo di porre rimedio e ti faccio sapere....! :wink:

niente da fare adesso con il LED IR di fianco il sensore il valore è sempre HIGH...il sensore può essere rotto?
con il multimetro ho verificato che sulle asticelle del sensore c'è tensione.

se elimini il led ir il sensore dovrebbe restituirti un valore low.

adesso dovrrebbe funzionare e solo che mi da HIGH quando non c'è nessun ostacolo LOW quando è presente l'ostacolo! :smiley: :smiley:

ciao scusate il ritardo ecco come l'ho realizzato io:
http://www.ivotek.it/forum/viewtopic.php?f=18&t=257&start=0&st=0&sk=t&sd=a
in fondo al post trovate i vari problemi che ho trovato e come ho risolto

grazie gbm ho finito di realizzarlo anche io..tutto ok.. e solo che molto probabilmente 1 si è bruciato perchè prima nei vari tentativi è uscito un po di fumo dal sensore e adesso ha una piccola macchia rossa/arancione davanti e inoltre mi da sempre 1 come uscita. L'atro però funziona! :slight_smile: grazie!

hahahah
Puoi buttarlo, la stessa identica cosa è successa a me. E' normale!! ;D ;D ;D
Magari dicci come funziona, come reagisce qual'è il range e come ti trovi!

mi sono appena fatto un sensore IR con roba di recupero heheheh :smiley:

come? mostraci qualcosa?

ormai posto domani perchè ora ho smontato tutto, funzionare funziona solo che il gradino è un po basso... sembrano 0,5 volt... vabbè, ho usato i dati del sensore uguale al tuo quindi ci può anche stare, i componenti sono diversi... domani faccio qualche prova in più e poi se sono soddisfatto posto :smiley:

per vedere il funzionamento ho usato arduino come oscilloscopio grazie a un programma trovato su sto sito e processing :smiley:

se vuoi ti posto quel codice perchè il link non lo ritroverò di sicuro :S

Prova a pulire il segnale con un trigger di schmitt:

Cosi puoi usarlo su una porta digitale invece di una analogica.