Página 1 de 1

Ajuda no Monitoramento de Temperatura sem fio

MensagemEnviado: 11 Set 2008 16:07
por Kleber
Olá colegas!

Estou desenvolvendo um monitoramento de temperatura sem fio, utilizando o LM35, módulos da telecontrolli e dois PICs (16F870 e 877).

A dúvida está em como transmitir os dados de temperatura de um circuito para o outro. Imaginei pegar o valor do ad(decimal) transforma-lo em binário e enviar os nibles. O caminho é por aí? Ou tem maneiras mais rápidas e eficientes de fazer tal coisa?
Estou utilizando o compilador MikroC.

Desde já obrigado a todos que colaborarem.

Re: Ajuda no Monitoramento de Temperatura sem fio

MensagemEnviado: 11 Set 2008 16:22
por fabim
Kleber escreveu:
. Imaginei pegar o valor do ad(decimal) transforma-lo em binário e enviar os nibles. .

Desde já obrigado a todos que colaborarem.


hehe. comé qui é ? pegar decimal enviar nible, de onde vocÊ tirou isso ?

MensagemEnviado: 11 Set 2008 16:54
por xultz
Não, você pode trabalhar com bytes inteiros, isso não é o problema, a questão é que você precisa implementar uma maneira do teu PIC diferenciar sinal de ruído. O problema (que todo iniciante em wireless se atrapalha, e isso certamente aconteceria com você) é que o receptor Telecontrolli, quando não tem sinal de entrada, joga o ganho de entrada ao máximo, amplifica um monte de ruído, e na saída você tem um sinal bem doido. Se você tentar se comunicar pelas USARTs dos PICs, vai dar pau na certa. Uma boa maneira de contornar isso é implementar protocolo PWM nos bits, do mesmo jeito que o HT6P20 faz, dá uma olhada no datasheet dele prá você entender, com ele teu PIC vai diferenciar bem certinho o que é bit e o que é ruído.

MensagemEnviado: 11 Set 2008 16:56
por ze
amado mestre...nem todos tem sua infinita sabedoria...releve...

dá uma zoida em rogercom.com.br . lá tem um ezemprinho legal que ixplica cumé que funciona. (tô sotaquisticamente influenciado)
se 1 dia conseguir me avise, pois tenho um par deste
abs

MensagemEnviado: 11 Set 2008 17:26
por Kleber
Lelis
Eu vi o funcionamento no site do rogercom e os CIs trabalham com 4 bits para dados e 4 para endereços.
http://www.rogercom.com/pparalela/LptWireless.htm

Fabim
Fiz mençao aos CIs do site acima, pois quando utilizo read_adc() eu tenho um numero decimal, assim eu não precisaria converte-lo para binário e enviá-lo em dois nibbles?

Xultz
Obrigado pela resposta, mais nem cheguei ainda no ruído.rsss

Se tiverem mais sugestões ou correções das minhas colocações, mandem aí!!!

MensagemEnviado: 11 Set 2008 17:32
por fabim
1 nible = 1/2 de um byte.
ou 4 bits MSB e 4 bits LSB.

ADC_READ : retorna 1 word ou 16 bits.

A variavel que voce criou para caber 10 bits é uma word.
MSB e LSB.

O que voce tem que fazer é mandar o byte MSB e LSB.

No receptor você trata isso.

Sobre o telecontrolli.

Faz o seguinte, a 2400 baud´s por exemplo.

Você manda uns 3 bytes de preambulo assim.
101010101010101010101010
Isto serve para o AGC do receptor ficar esperto.
Mandados os 3 bytes
Você manda $AA, $BB por exemplo
Estes dois bytes o receptor vai entender como marcador e só pegar os 2 bytes consecutivos a eles.
Manda MSB,
Manda LSB..

+/- assim agora.
A : word
B, C : byte

B := MSB
C := LSB
A := (B*256)+C.

A = a word do pic que leu o ADC.
Só isto.

Aí pamóditrata ele, você converte da forma que achar mais converniente, com float, puro etc.

Fabim