lunes, 23 de junio de 2014

Interface con librería wxWidgets para monitor temperatura/humedad

En mi anterior circuito

http://seta43.blogspot.com.es/2014/06/arduino-emisor-temperaturahumedad.html

había realizado el programa de  monitorización en lenguaje Basic mediante el entorno de programación Gambas. Pero claro no todo el mundo tiene Linux para instalar gambas, la vida real es así. Buscando una librería que fuese multiplataforma, elegí la librería wxWidgets. Está bastante bien documentada, en ingles claro, y funciona bastante bien.

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



Un saludo.
Juan Galaz

miércoles, 18 de junio de 2014

Máquina tragaperras en SDLBASIC

Página principal


Máquina tragaperras
SDLBASIC


Hace muchos años, era la época del ordenador Amiga, había programado una máquina tragaperras  en Basic, había utilizado el programa Amos.
El programa Amos era un entorno de desarrollo para juegos que se programaba en Basic, era muy bueno y fácil de programar.
El tiempo ha pasado y he rehecho el programa de tragaperras y lo he programado en SDLBASIC.
El SDLBASIC es un entorno para programar en Basic  y que está en la mayoría de las distribuciones Linux y Windows,  por lo que da mucho juego.
Los programas hechos en Linux funcionan perfectamente en Windows sin ningún retoque en el código.
La pena del SDLBASIC es que está abandonado, aunque existe bastante documentación.
El otro día lo recopile desde el código fuente, por lo que el que quiera puede seguir con su desarrollo.

El programa de tragaperras está diseñado para que no existan ganancias, incluso se puede ver las estadísticas de la caja pulsando la tecla p.
Se encuentra hecho en baja resolución 320x200, un día de estos lo hago en una resolución mayor para que sea mas vistoso.



Programa SDLBASIC



Larga vida al Basic



Un saludo.
SETA43

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