Go Down

Topic: Sensore Infrarosso Sharp IS471F (Read 2804 times) previous topic - next topic

MrGhost

Feb 10, 2010, 10:17 am Last Edit: Feb 10, 2010, 10:20 am by MrGhost Reason: 1
ragazzi da ieri mi sto imbattendo in questo sensore...dopo aver realizzato il circuito mostrato qui:

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

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!

NetWorm

Non capisco la riga
Code: [Select]
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 :)

Prova così:

Code: [Select]
digitalWrite(led, HIGH);
serial.Println(valOS);
delay 1000;
digitalWrite(led, LOW)

MrGhost

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!

MrGhost

non vorrei che il problema fosse il LED IR!!

NetWorm

Aspè :D
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 :)

MrGhost

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

NetWorm

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 :)


MrGhost

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!

NetWorm

#8
Feb 10, 2010, 11:05 am Last Edit: Feb 10, 2010, 11:06 am by networm Reason: 1
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

MrGhost

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

MrGhost

#10
Feb 10, 2010, 11:48 am Last Edit: Feb 10, 2010, 11:53 am by MrGhost Reason: 1
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.

NetWorm

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

MrGhost

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

gbm

#13
Feb 10, 2010, 04:11 pm Last Edit: Feb 10, 2010, 04:20 pm by gioscarab Reason: 1
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
Community robotica / programmazione Arduino
www.gioblu.com

MrGhost

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! :) grazie!

Go Up