3 sensore fotoelettrico IR per il rilevamento di ostacoli su un'unico PIN interrupt

ciao ragazzi,
ho fatto delle prove da banco collegando 2 sensori(ma il progetto ne prevede 3,uno quindi lo devo acquistare) ad un'unico pin digitale che mi controlla,con un'interrupt, il passaggio da low ad high di questi sensori. Con grande stupore il tutto funziona e l'incremento di una variabile di prova al passaggio di un'ostacolo davanti ai sensori aumenta in maniera conseguenziale al passaggio su uno o l'altro sensore... ad esempio sul sensore 1 arrivo a tre conteggi, passo al sensore 2 , ne faccio altri 5 e il risultato che ottengo è quello corretto, ovvero otto. Inoltre se contemporaneamente passo davanti ad entrambi i sensori, il rilevamento contato è solamente del primo che rileva il passaggio.
ultima cosa è che se il sensore 1 rileva un oggetto il led SLED si accende anche sul sensore 2, anche se questo non ha davanti nulla... ma il conteggio non ne tiene conto(di fatto il rilevamento del sensore 2 è bloccato dall'attivazione dell'1 ed infatti la variabile si incrementa solamente di uno)
detto ciò posso pensare di applicare sul "campo" una soluzione del genere con 3 sensori montati in questo modo utilizzando un solo pin per il rilevamento(tramite interruot) dello stato dei sensori? ci sono rischi?
grazie

Come si vede dallo schema, l'uscita del sensore ricevente (HS0038B3VM) è configurata come open-collector con una resistenza di pull-up da 30 KΩ ...

Quindi, normalmente la resistenza tiene il pin HIGH, quando c'è un interruzione del segnale il pin viene portato LOW.

Ora, chiaramente puoi mettere più OUT in parallelo il problema è che ... ogni volta che ne colleghi uno in parallelo metti in parallelo anche le resistenze di pull-up e il valore della resistenza risultante è dato da:

Screenshot 2023-11-12 at 15.42.42

... ovvero la resistenza finale tenda ovviamete a calare. Nel caso di 3 sensori avrai che essa si riduce dagli attuali 30 KΩ a 10 KΩ, che è ancora un valore accettabile, ma più sensori metti in parallelo e più la resistenza cala. Considera che il datasheet del HS0038B3VM, mette come valore massimo assoluto di corrente sul pin 1 (OUT), 5mA ... fai presto a fare i conti.

Non solo, ciascuno di quei moduli, usa quell'uscita anche per accendere un LED con una resistenza da 2.2 KΩ, quindi ...

ky-032_rx

... altra corrente ... io lascerei UN solo LED indicatore e dissalderei gli altri che tanto non servono a nulla (basta una delle uscite che va a GND e si accendono tutti).

Guglielmo

Ciao Guglielmo, sei stato molto chiaro! grazie mille..

nel dissaldare il led devo però "unire" le piste dove alloggiavano i led, corretto?

Il motivo per fare quanto chiesto è che mi servirebbe avere una superficie di controllo lineare maggiore rispetto a quello che il sensore permette.. provo a spiegarmi:
mi piacerebbe "catturare" tutto ciò che si trova ad esempio fino a 3cm a destra e 3cm a sinistra rispetto al sensore, sensore utilizzato come conta goccie posto dietro una superficie trasparente. C'è un modo, non so magari tramite lenti per permettere questa cosa? e cosi da evitarmi l'aggiunta di altri due sensori che cmq non mi garantiscono una coperatura lineare perfetta(tra i vari sensori cmq qualcosa passa e me lo perdo)

ad oggi il rilevamento è in questo modo:
0 =rilevatore sensore
v = senso della goccia
v v(nessun rilevamento)
0

vorrei ottenere questo:
0 =rilevatore sensore
v = senso della goccia

 v   v   v      (tutto ciò che passa viene rilevato)

00000000000

Assolutamente NO ... lo scopo è proprio evitare di assorbire corrente interrompendo il circuito dei LED aggiuntivi.

mmm ... mi sa che devi cambiare sensore e cercare degli array lineary ... :roll_eyes:

Guglielmo

grazie Guglielmo, non trovo shield già pronte per arduino, che voi sappiate ci sono?

... ho idea che, vista l'esigenza particolare, non solo devi trovare i sensori adatti, ma ti devi anche costruirti tu la schedina su cui montarli :roll_eyes:

Guglielmo

cacchio... ok....

la vedo dura, ma grazie intanto del supporto!!!