Usare un solo pin per comandare più sensori

Vorrei collegare più sensori HCSR04 sullo stesso microcontrollore. Il problema è che non so se è possibile collegare ad un solo pin del micro tutti i pin "trig" dei sonar. Mi spiego meglio: io vorrei usare un solo pin del micro per poter inviare a tutti i sonar il segnale di trigger in modo da poter avviare nello stesso istante tutte le misure. Ovviamente userò pin differenti per leggere i segnali di echo ricevuti. Mi pongo il problema perché so che ogni pin del micro eroga al max 20mA di corrente, valore che corrisponde al max assorbimento di corrente di ogni sensore HCSR04, ma non so se il sensore assorbe corrente dal pin "trig" oppure no. Leggendo un pò in giro, mi è sembrato di capire che il sensore assorbe corrente dai pin "VCC" e "GND" che, nel mio caso, sono collegati alla stessa sorgente di alimentazione del micro, mentre i pin "trig" ed "echo" servono solo per inviare segnali logici e quindi non assorbono corrente, o meglio la corrente di alimentazione non dipende da questi pin. E' cosi oppure ho frainteso?

Non credo ti convenga far partire il burst per tutti sensori: ci potrebbero essere interferenze in ricezione.

Immagina due sensori A e B che trasmettono nello stesso momento: A riceve il segnale di ritorno del suo trasmettitore o quello del B?

cyberhs: Non credo ti convenga far partire il burst per tutti sensori: ci potrebbero essere interferenze in ricezione.

Immagina due sensori A e B che trasmettono nello stesso momento: A riceve il segnale di ritorno del suo trasmettitore o quello del B?

Ciao cyberhs, grazie per la risposta! Il problema dell'interferenza credo sia ridotto al minimo perché piazzo i sensori in una configurazione a "+", trascurando il fatto di pareti strane che riflettono in modo altrettanto strano i segnali, con questa configurazione non dovrebbero esserci problemi con le interferenze.

si ma se il sensore di sinistra ritorna lo stesso tempo del sensore di destra come fai a capire chi è dei due? Ad ogni output del sensore ci vuole per forza un pin separato. Per l'input del sensore puoi usarne anche uno solo, naturalmente in questa configurazione non puoi usare la pulsein()

Il pin trigger è collegato ad un ingresso del piccolo processore STC11 del sensore tramite un resistore di pullup da 10k.

Evidentemente, mettendo brutalmente in parallelo 4 pin trigger di altrettanti sensori, si otterrebbe un resistore equivalente da 2.5k.

La corrente che Arduino deve sopportare quando il suo pin è LOW perciò sarebbe 5V / 2500 ohm = 2mA, ampiamente nei limiti.

vbextreme: si ma se il sensore di sinistra ritorna lo stesso tempo del sensore di destra come fai a capire chi è dei due? Ad ogni output del sensore ci vuole per forza un pin separato. Per l'input del sensore puoi usarne anche uno solo, naturalmente in questa configurazione non puoi usare la pulsein()

Ciao vbextreme, grazie per la risposta! :) Ovviamente userò per ogni pin di echo un pin separato altrimenti il problema diventa davvero complicato! ;)

Non sto usando il framework di Arduino, uso un ATmega 1284p ed una scheda STK500 per programmare il micro. Ho già sviluppato una libreria in C per la lettura di un solo sensore e vorrei adattarla per leggere le misure di più sonar.

cyberhs: Il pin trigger è collegato ad un ingresso del piccolo processore STC11 del sensore tramite un resistore di pullup da 10k.

Evidentemente, mettendo brutalmente in parallelo 4 pin trigger di altrettanti sensori, si otterrebbe un resistore equivalente da 2.5k.

La corrente che Arduino deve sopportare quando il suo pin è LOW perciò sarebbe 5V / 2500 ohm = 2mA, ampiamente nei limiti.

Ad essere sincero ignoravo completamente questo ragionamento!! Sei stato molto istruttivo cyberhs, grazie mille!! :) :) :)

Ad essere sincero ignoravo completamente questo ragionamento!! Sei stato molto istruttivo cyberhs, grazie mille!!

Siamo in due! Io avrei moltiplicato per 4 l'assorbimento di uno.....

vbextreme: Siamo in due! Io avrei moltiplicato per 4 l'assorbimento di uno.....

Mal comune mezzo gaudio!! ;)