sensore ultrasuoni modalità output

Salve, ho la necessità di acquistare dei sensori di prossimità impermeabili li ho trovati ma il fornitore mi chiede la modalità di output che voglio tra:

  1. PWM
  2. UART
  3. Switching output KG

dato che devo sostituire i classici HC-SR4 credo che sia PWM qualcuno mi può dare la conferma.

Grazie mille
Marco

Ci fai vedere cosa hai scelto? (link?, foto?, data sheet?).

Ciao,
P.

Allego la scheda del sensore

YP-ME007YY.pdf (415 KB)

Opterei per una uscita PWM.
Come descritto a pag 4 del data sheet puoi recuperare la distanza usando la formula suggerita al punto 3) Compute mode.

ciao,
P.

pgiagno:
Opterei per una uscita PWM.

Mia curiosità: perché PWM? Non sarebbe più semplice KG ossia un livello TTL da leggere con una Analog?

grazie mille....

Io avrei preso la UART così leggo il numero direttamente da una seriale. Le altre uscite probabilmente sono generate proprio dal valore che il micro a bordo conosce. Non vedo perché complicarsi la vita con 2 conversioni.

zoomx:
Io avrei preso la UART così leggo il numero direttamente da una seriale. Le altre uscite probabilmente sono generate proprio dal valore che il micro a bordo conosce. Non vedo perché complicarsi la vita con 2 conversioni.

Si, vero, ma comunque per la seriale devi acquisire i caratteri ricevuti, poi convertirli in numerico. Si fa prima con una map(analogRead())... :wink:

Insomma, tutto meno che PWM :smiley:

Serial.parseInt()

Perché tu sai il formato dei dati che escono da quella seriale, e che quindi è semplicemente un intero? :wink:

E qui ti do ragione!!!!

zoomx:
E qui ti do ragione!!!!

E infatti per scrupolo sono andato a vedere e manda 4 byte per lettura, niente di "intellegibile" a livello carattere: :smiley:

Frame data    Instructions                 Byte
Frame header  Fixed to 0XFF                1 byte
Data_H        High 8 bits of distance data 1 byte
Data_L        Low 8 bits of distance data  1 byte
SUM           Checksum of communication    1 byte

Per cui escluso pure UART (nulla è impossibile, ovviamente, ma KG è la cosa più semplice, a patto di avere una risoluzione massima di 1023 livelli) mi resta la curiosità del perché pgiagno consigli PWM, come lo interpreta da codice?

Se non ho male interpretato l'inglese del data sheet (il mio inglese non è "fluent") il dispositivo aspetta un impulso di comando T1 sul pin RX, a seguito del quale alza un segnale T2 sul pin TX, e lo tiene alto per un tempo proporzionale alla distanza (fino a un massimo di circa 35ms). Userei la funzione micros() per calcolare il tempo T2 e la formula S = T / 58 fornita dal data sheet. Non so se la precisione è sufficiente, ma mi sembra che il programma verrebbe semplice.

Ciao,
P.

boh, io sarà che una mania, ma preferisco seriale, seriale sempre, anche di fronte all'evidenza (OPS, quello era negare....., scusatemi)
dicevo seriale, seriale sempre
per non saper ne leggere ne scrivere prendo il programma che ho fatto come esempio per quello che cercava di leggere messaggi MIDI, pochi giorni fa, lo accorcio a 4 byte, gli aggiungo un calcolo del checksum (scopiazzato anch'esso qui sul forum) al posto del terminatore
e quando ho checksum OK faccio

valoreconfermato=arraybytericevuti[1]*256+arraybytericevuti[2]

perchè andarsi a cercare casini con PWM o analogici o similia? quando qui sul forum si trovano esempi per ogni casistica, tutto sta a riconoscerli?

pgiagno:
Se non ho male interpretato l'inglese del data sheet (il mio inglese non è "fluent") il dispositivo aspetta un impulso di comando T1 sul pin RX, a seguito del quale alza un segnale T2 sul pin TX, e lo tiene alto per un tempo proporzionale alla distanza (fino a un massimo di circa 35ms).

Non ho approfondito questo aspetto, se così fosse allora convengo con standardoil e userei la versione seriale.

Ma ora sono questioni che deve vedersi l'OP, non è che ora noi possiamo metterci ad analizzare tutto il datasheet per suo conto... :wink:

marchino283:
dato che devo sostituire i classici HC-SR4 credo che sia PWM qualcuno mi può dare la conferma.

Grazie mille
Marco

Si è PWM