sensore srf01

Ciao,
volevo prendere il sensore "srf01" per il fatto di avere in un'unica capsula sia il ricevitore che il trasmettitore.
Da quanto ho capito (spero di non aver sbagliato), comunica con Arduino tramite seriale.
Ho trovato questo codice:
http://www.robot-electronics.co.uk/files/arduino_srf01.ino
ma non capisco bene il funzionamento.
Posso collegare solo un sensore ad Arduino? Come avviene la lettura dei dati?

Grazie

Il funzionamento del sensore con una sola capsula è del tutto simile a quello con una capsula trasmittente ed una ricevente.

L'unica differenza è che dopo l'invio del burst, la capsula da trasmittente diventa ricevente.

cyberhs:
Il funzionamento del sensore con una sola capsula è del tutto simile a quello con una capsula trasmittente ed una ricevente.

L'unica differenza è che dopo l'invio del burst, la capsula da trasmittente diventa ricevente.

Il funzionamento meccanico lo avevo capito.
Non ho ben chiaro il funzionamento del codice e come si interfaccia con arduino.

Il sensore comunica in seriale TTL, quindi nell'esempio è stata usata la libreria SoftwareSerial con la particolarità di utilizzo di un solo pin (5) sia come TX che come RX.

Inoltre il sensore è dotato di un indirizzo SRF_ADDRESS (default 0x01) poiché è possibile avere più sensori delle stesso tipo.

I comandi la sensore vengono inviati usando la routine SRF01_Cmd(byte Address, byte cmd).

Con questa si possono fare varie cose, anche se l'esempio ne usa solo 3:
1 - richiesta di versione (cmd = GETSOFT = 0x5D)
2 - acquisizione distanza (cmd = GETRANGE= 0x54)
3 - richiesta stato sensore (cmd = GETSTATUS= 0x5F)

La prima viene fatta una tantum in setup, mentre la seconda e la terza nel loop.

Dopo l'acquisizione della distanza, il sensore non può essere interrogato prima di un certo tempo oppure finché il suo Status passa dal valore 1 (locked) al valore 0 (unlocked).

... simpatico il codice per la gestione di quest'oggetto e carino il sistema con cui inviano il segnale di "break" che, pur essendo uno standard nella trasmissione seriale, la SoftwareSerial non gestisce :wink:

Guglielmo

Hai ragione, Guglielmo: ci sono delle belle soluzioni in quello sketch.

Grazie per le risposte.
Quindi questo è il solo modo di utilizzare il sensore con Arduino o esiste un'altra soluzione?
Leggendo in rete, dicono che posso collegare tanti sensori allo stesso canale. Che vuol dire?

Grazie

Perché cercare altre soluzioni? Esiste questa bella applicazione, cosa vuoi di più?

Avendo più sensori SRF01 programmati ognuno con il suo indirizzo, puoi connetterli alla stesso pin di Arduino.

Buonasera a tutti,

sto facendo una ricerca per un progetto universitario in merito a sensori ultrasonici in particolare sono indeciso tra sensori ultrasonici che ha 2 elementi, 1 dedicato alla ricezione e 1 alla trasmissione, piuttosto di un prodotto come SRF 01 nel quale c'è un solo elemento che fa da transceiver.

In particolare vorrei capire vantaggi/svantaggi delle due soluzioni.

Ogni prodotto che comporta la presenza di 2 elementi ha indicato anche l'inclinazione ottimale del rangefinder che se non ho intuito male è legato al fatto che esiste un'angolazione per la quale il segnale riflesso incide bene sull'elemento di Rx.

Questo discorso non vale ovviamente nel caso di sensori ultrasonici che implicano 1 solo elemento.

Vorrei avere conferme / approfondimenti da chi ha studiato o provato sperimentalmente questi prodotti. Vi ringrazio in anticipo.

Saluti

Pierluca

>Pierluca: Buona sera, essendo il tuo primo post, nel rispetto del regolamento, ti chiedo cortesemente di presentarti QUI (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con attenzione il su citato REGOLAMENTO ... Grazie.

Guglielmo

Buongiorno Sign. Guglielmo,

ho provveduto alla presentazione su link da lei indicato e letto il regolamento.
Saluti
Pierluca