Lettura segnale IR

12 Anni 8 Mesi fa #1 da DeB
Lettura segnale IR è stato creato da DeB

Rendering Error in layout Message/Item: array_keys(): Argument #1 ($array) must be of type array, null given. Please enable debug mode for more information.

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • DeB
  • Visitatori
  • Visitatori
12 Anni 8 Mesi fa #2 da Gianni
Risposta da Gianni al topic Re: Lettura segnale IR
Per analizzare i gruppi di bit usa le maschere e i bitshift.
Leggiti questi due miei articoli:

www.settorezero.com/wordpress/operazioni...stri-ad-8-o-piu-bit/

www.settorezero.com/wordpress/gli-operat...o-in-c-per-picmicro/

Lo potevi dire su facebook che avevi postato anche qui ;)

Sono tutti bravi ad essere "open" con il "source" degli altri.
Un amico è colui che ti dice sempre quando stai sbagliando. Il mio miglior amico è il parser.
SettoreZero
Ringraziano per il messaggio: DeB

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • Gianni
  • Avatar di Gianni
  • Elite Member
  • Elite Member
Di più
12 Anni 8 Mesi fa #3 da DeB
Risposta da DeB al topic Re: Lettura segnale IR
Non ci ho pensato!

ieri sera sono uscito e non ho continuato il lavoretto, (poi leggerò i tuoi link e cambierò di nuovo idea) di usare l'interrupt del timer per fare le letture ogni 600us come fa questo qua:
http://www.pic_examples.byethost3.com/SIRC.html

Che mi pare pulito e semplice. I ritardi non sono mai corretti e mi fido poco.

Ora mi aspettano un paio di giorni da nonna e sono senza internet ma ne approfitterò per scrivere del codice e provarlo una volta a casa.

Grazie di nuovo! :D

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • DeB
  • Visitatori
  • Visitatori
12 Anni 8 Mesi fa #4 da Mauro Laurenti
Risposta da Mauro Laurenti al topic Re: Lettura segnale IR
Ciao,

Non ho visto in dettaglio il protocollo però posso dirti che il l'utilizzo dei timer per leggere i bit in ingresso è il modo migliore.
In questo modo ottieni tempi precisi e soprattutto riesci a ridurre i consumi del sistema.

Il campionamento del bit deve essere fatto a metà del bit stesso al fine da avere la più alta probabilità di leggere il valore corretto.
Alcune volte si fanno anche più letture nell'intorno della metà del bit e si fa la media, aumentando la robustezza del sistema (ma questo lo si può fare in un secondo passo).

Essendo il tuo un sistema a batteria, avere una batteria leggera e che duri può ritornare utile.
Il PIC, facendo uso dei Timer potrebbe essere quasi sempre in stato di sleep riducendo i consumi da parte della CPU. I timer possono infatti funzionare senza l'intervento della CPU (dopo la loro inizializzazione). Le funzioni disponibili per ottimizzare i consumi dipendono pero' molto dal PIC. Bisogna fare riferimento alla sezione del datasheet relativa al clock e al power managment del PIC utilizzato.

Saluti,

Mauro

Saluti,

Mauro
Ringraziano per il messaggio: DeB

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • Mauro Laurenti
  • Avatar di Mauro Laurenti
  • Moderator
  • Moderator
Di più
12 Anni 4 Mesi fa #5 da Cecco
Risposta da Cecco al topic Re: Lettura segnale IR

Rendering Error in layout Message/Item: array_keys(): Argument #1 ($array) must be of type array, null given. Please enable debug mode for more information.

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • Cecco
  • Visitatori
  • Visitatori
Moderatori: Mauro LaurentiPinnaStefAMatteo Garia

Registrati al sito

Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.

Registrati al sito LaurTec.

Login