Periodimetro su segnale in uscita da TSOP IR.
ciao tutti,
nel procedere al mio progetto (ed al relativo apprendimento) mi vedo costretto ad acquisire dei codici di telecomando in un formato chiamato ccf (pronto hex raw string) dove periodi di on e di off del fotodiodo emettitore vengono codificati in una serie di numeri esadecimali che ne indicano il numero di cicli del carrier.
consideriamo una frequenza classica di 38 khz, corrispondenti alla durata di un carrier di 26 us, un burst di on della durata di 208 corrisponderà ad uno 0x0008 (8 cicli nel periodo di on).
per velocizzare l'operazione di acquisizione (con l'oscilloscopio è stato utile per impratichirmi ma muovere continuamente cursori nell'asse delle x iniziava diventare fastidioso ) vorrei utilizzare un arduino, collegarvi un tsop38238 (alimentando quest'ultimo +5vcc con relativo resistore e condensatore come da schema di circuito consigliato nel datasheet) ed usarlo per demodulare il segnale pwm in arrivo al suo fotodiodo ricevente.
una volta uscito dal tsop il segnale sarà un ttl con periodi temporali di low e di high corrispondenti all'on ed all'off del codice modulato 38 khz (od invertiti, dipende se normalmente l'uscita è high o low, non ho ancora guardato).
vorrei quindi, tramite l'uso di un interrupt, identificare la variazione di stato per identificare un inizio trasmissione, andare controllare ogni 26 lo stato del segnale (se high o low), auto incrementare un contatore che si riazzererà al cambio di stato e ripartirà da capo, terminata la trasmissione chiamare detachinterrupt e rimettersi in "listening".
in modo da avere con un input simile:
8 on 6 off 5 on 9 off
un output così codificato:
0x0008 0x0006 0x0005 0x0009.
praticamente la realizzazione di un periodimetro digitale specializzato in questo specifico compito.
il ragionamento è corretto?
datemi qualche consiglio!
nel procedere al mio progetto (ed al relativo apprendimento) mi vedo costretto ad acquisire dei codici di telecomando in un formato chiamato ccf (pronto hex raw string) dove periodi di on e di off del fotodiodo emettitore vengono codificati in una serie di numeri esadecimali che ne indicano il numero di cicli del carrier.
consideriamo una frequenza classica di 38 khz, corrispondenti alla durata di un carrier di 26 us, un burst di on della durata di 208 corrisponderà ad uno 0x0008 (8 cicli nel periodo di on).
per velocizzare l'operazione di acquisizione (con l'oscilloscopio è stato utile per impratichirmi ma muovere continuamente cursori nell'asse delle x iniziava diventare fastidioso ) vorrei utilizzare un arduino, collegarvi un tsop38238 (alimentando quest'ultimo +5vcc con relativo resistore e condensatore come da schema di circuito consigliato nel datasheet) ed usarlo per demodulare il segnale pwm in arrivo al suo fotodiodo ricevente.
una volta uscito dal tsop il segnale sarà un ttl con periodi temporali di low e di high corrispondenti all'on ed all'off del codice modulato 38 khz (od invertiti, dipende se normalmente l'uscita è high o low, non ho ancora guardato).
vorrei quindi, tramite l'uso di un interrupt, identificare la variazione di stato per identificare un inizio trasmissione, andare controllare ogni 26 lo stato del segnale (se high o low), auto incrementare un contatore che si riazzererà al cambio di stato e ripartirà da capo, terminata la trasmissione chiamare detachinterrupt e rimettersi in "listening".
in modo da avere con un input simile:
8 on 6 off 5 on 9 off
un output così codificato:
0x0008 0x0006 0x0005 0x0009.
praticamente la realizzazione di un periodimetro digitale specializzato in questo specifico compito.
il ragionamento è corretto?
datemi qualche consiglio!
quello che vuoi fare non funziona.
http://www.vishay.com/docs/82491/tsop382.pdf pagina 5 in basso
il tsop38238 ha bisogno di un minimo di numeri di impulsi perche un treno di impulsi venga risconosciuto come high. questo é dato dal filtro usato internamente. le sequenze di impulsi devono essere piú lunghi. al minimo 10 impulsi e poi una pausa della durata di almeno 10 impulsi.
ciao uwe
http://www.vishay.com/docs/82491/tsop382.pdf pagina 5 in basso
il tsop38238 ha bisogno di un minimo di numeri di impulsi perche un treno di impulsi venga risconosciuto come high. questo é dato dal filtro usato internamente. le sequenze di impulsi devono essere piú lunghi. al minimo 10 impulsi e poi una pausa della durata di almeno 10 impulsi.
ciao uwe
Arduino Forum > International > Italiano > Generale (Moderator: leo72) > Periodimetro su segnale in uscita da TSOP IR.
arduino
Comments
Post a Comment