domingo, 1 de junio de 2014

Arduino Emisor temperatura/humedad , receptor en PC, gráfica con gambas.

Página principal


Arduino
Emisor temperatura y humedad externa.
Receptor en PC con gráfica
433MHz - mx-05V

433MHz - mx-fs-03v
xsetaseta@gmail.com

En este montaje he realizado un emisor de temperatura y humedad. Se transmiten los datos y se recibe en un receptor colocado en el puerto usb de un ordenador.
En el ordenador se visualizan los datos de temperatura y humedad a través de un programa que monitoriza los datos y los representa en una gráfica.
Para emisor o transmisor he creado una placa de circuito impreso que se puede utilizar para los dos cometidos, cambiando el programa del Atmega328.
Para emisor se utiliza los conectores de AM2302 y el transmisor FS-03V, y se alimenta a través de 3 pilas de 1.5V. Los datos se transmiten cada 1.3 segundos o cada 67 segundos, dependiendo si existe o no existe el puente S1 pin (1- 4). El otro puente lo he dejado sin servicio, pero está pensado para identificar el canal.
En el lado del receptor se utilizan los conectores del MX-JS-05V, y está alimentado a través del conversor serie a usb que se conecta al ordenador.
El formato de transmisión es el siguiente:
H2440 T-680 222 91
Donde la humedad sería 24.40%, la temperatura -6.80ºC, el canal en este caso 222, y un numero secuencial del 0 al 99.
No existe comprobación del canal, por lo que algunas veces se puede mezclar con señales de otros emisores, es muy fácil hacerlo, pero se lo dejo a otros hacerlo.
Se pueden utilizar tanto ATMEGA8-ATMEGA88-ATMEGA328, da igual, el que sea mas económico, el código no supera los 8k. En mi caso he utilizado en el receptor un ATMEGA8, y en el emisor un ATMEGA328, son los que tenía a mano.



Esquema del circuito.


PCB


Montaje del receptor.



Montaje del emisor.

Programa del emisor y receptor.



Gráfica realizada con programa de basic Gambas 3.1.1
El emisor está dentro del congelador y el receptor pinchado en un puerto del ordenador a 10m de distancia.


Programa en gambas

Como yo utilizo mayormente linux, he programado el programa de monitorización de temperatura en basic de Gambas 3.1.1  .
Es bastante fácil realizar el programa en Visual Basic o cualquier otro basic.
Recordar que debéis tener permisos para usar los puertos serie, se hace añadiendo el usuario al grupo  dialout .
Si solo queréis ver si funciona, abrir el monitor de serie  del arduino.


Hasta pronto.
JUAN GALAZ

Bibliografía:
 http://playground.arduino.cc/Main/DS1302
 http://playground.arduino.cc/Code/PCD8544
 http://www.microsyl.com/index.php/2010/03/24/nokia-lcd-library/
http://forum.hobbycomponents.com/viewtopic.php?f=39&t=1324
http://seta43.duckdns.org/ardurab.html
http://playground.arduino.cc/Main/DHTLib
http://www.pjrc.com/teensy/td_libs_VirtualWire.html

2 comentarios:

  1. Estupendo Blog. He visto varias cosas que a los mejor podría usar para hacer un sistema de Dataloggin que necesito para recoger temperaturas de una bodega durante tres días completos. No tengo corriente y tengo que tirar de pilas o batería y quiero que se graben en una microSD.

    He hecho un intento con una Arduino UNO, un sensor DHT11 y un Shield Ethernet pero no he conseguido hacer durar la medición más de 2 horas con una pila de 9 voltios.

    No se si podrías sugerirme alguna alternativa a este montaje que describo, o hacerlo más eficiente energéticamente.

    Te estaría muy agradecido cualquier sugerencia.

    Saludos.

    Mikel Garin

    ResponderEliminar
  2. Hola

    El consumo de un Shield Ethernet es bastante grande, en mi caso se calentaba bastante, además el arduino consume 23mA.
    Alimentar todo con una pila de 9V creo que sea inútil, como has podido comprobar, si la batería posee una carga de 200mAh, con solo el consumo del arduino, te durará unas 8h.
    Para una solución alternativa, podrías utilizar una batería de coche, creo que su duración podría llegar a 3 días.
    Para que te dure te recomiendo el montaje:
    http://seta43.duckdns.org/arterec.html
    Se graba en la memoria EEPROM.
    También deberías aplicar los metodos para reducir el consumo:
    http://seta43.duckdns.org/arduraa.html
    http://seta43.duckdns.org/ardurab.html

    Un saludo
    Juan Galaz

    ResponderEliminar