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.
En mi primera incursión en la librería wxWidgets , he realizado el
monitor para el circuito.
Ha sido duro la programación, pero mereció la pena.
Al ser multiplataforma se recompila todo en Linux o Windows sin
retocar ni una sola línea de código, salvo modificar el archivo
define.h y poner:
#define YesWindows 0
o
#define YesWindows 1
Programa Linux-Windows - Librería wxWidgets
Linux
|
Windows
|
|
|
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://www.seta43.netau.net/ardurab.html
http://playground.arduino.cc/Main/DHTLib
http://www.pjrc.com/teensy/td_libs_VirtualWire.html