Meteorología Fácil

Área técnica. => Programación de microcontroladores. => JAL => Mensaje iniciado por: ruibal69 en Agosto 27, 2013, 08:52:30 AM

Título: ejemplo 18F4550 + DTH22 + BMP085 + LCD
Publicado por: ruibal69 en Agosto 27, 2013, 08:52:30 AM
Buenas a todos.

Os adjunto un programa ejemplo del uso del pic 18f4550 corriendo a 48mhz con cristal externo de 20Mhz.
El pic lee los valores de los  sensores y los presenta en un lcd.

El sensor humedad- temperatura (DTH22) por comunicación 1_wire. La libreria utilizada es la que trae el propio compilador. (No he comprobado si funciona correctamente)

El sensor de presion atmosferica y temperatura (BMP085) por comunicación I2C. El valor de resolución (oss = 3) es la maxima.
Los valores del sensor de presión los he comparado, con los valores entregados por el mismo sensor corriendo bajo un programa creado en CCS PIC (la libreria en C utiliza numeros decimales).
Las formulas matematicas son las descritas en el propio datasheet del sensor utilizado solamente valores enteros.

Al lado de cada operación matematica he puesto la formula que trae el datasheet.


Espero que les sirva.
Título: Re: ejemplo 18F4550 + DTH22 + BMP085 + LCD
Publicado por: David Met en Agosto 27, 2013, 11:13:44 AM
Excelente, te pasaste.
Muchisimas gracias.
Título: Re: ejemplo 18F4550 + DTH22 + BMP085 + LCD
Publicado por: ruibal69 en Agosto 27, 2013, 01:06:14 PM
Ahora interar comunica 2 pic en modo serial y uno de ellos de usb a pc.

La libreria usb serial (modo cdc) que trae jal, pide que se refresque la conexion usb cada pocos milisegundos y no he sido capaz que funcione a la vez que otros procesos.(con la comucicación i2c)
Tratare adaptar alguna del CCS C o de microchip.
Título: Re: ejemplo 18F4550 + DTH22 + BMP085 + LCD
Publicado por: David Met en Agosto 28, 2013, 03:33:35 PM
Me parece que lo había logrado con la interrupción, pero me había dado trabajo.
Si mal no recuerdo, lo había logrado haciendo que el tmr0 desborde por muy poco tiempo; en la mitad del tiempo necesario para mantener viva la conexión.