miércoles, 29 de diciembre de 2010

Extractor casero de Humos (Parte 1)

Vamos a iniciar una nueva sección en este blog en la construcción de utilidades para el Hogar, Coche/Barco y Jardín utilizando las nuevas tecnologías, llamando a esta sección como Zona Geek.

El primer proyecto es un extractor casero de humos para baño, cocina y taller (como por ejemplo para soldaduras de circuitos electrónicos).

Construcción del prototipo básico.

Materiales.
  • 1x Placa de circuito impreso pre-estañada.
  • 1x Un regulador de tensión 7812.
  • 1x Ventilador de PC de 80mm.
  • 1x Interruptor SPST (del tipo Rocket)
  • 2x Batería de 9V (preferiblemente recargables).
  • 2x Conectores de bateria 9V flexibles.
  • 1x Cable de prototipado o trenzado.
  • 1x Estaño y soldador.
  • 1x Helping hand tool (opcional)

Diseño del circuito.

El circuito es bien sencillo y se muestra en el diagrama adjunto. Radica en obtener una tensión de 12V para los ventiladores a partir del regulador, y que mejor que un par de pilas recargables de 9V para tal efecto.


Fotografías de los materiales y prototipo.

Pilas recargables (si las compras en Hong Kong, puedes tener 12 pilas 9V a 300 mAh por 3EUR en total S&H incluido, que si comparamos con una Energizer de 9V de 150mAh vale 7 EUR, sobran las palabras).


NOTA: Utilizable para todo tipo de proyectos que necesites potencia: robots, actuators, ...


Conectores de baterias de 9V y rocket switches.



Ventiladores de PC de 80mm.



Un Helping Hand Tool con aumento, útil para modelismo y en nuestro caso para soldar.



Video del prototipo.

El siguiente video muestra el prototipo en funcionamiento con un ventilador de bajo perfil y de 2.5 W



Próximamente...

Vista la funcionalidad del prototipo, se van a realizar dos instalaciones en el hogar, siendo estas:

Instalación en cocina
  1. Instalaremos en la cocina como segundo sistema de ventilación de gases.
  2. Cambiaremos el ventilador de PC de bajo perfil por dos de PC normales de 12V, y conectados por MOLEX para posibles ampliaciones de ventiladores en paralelo.
  3. Instalaremos la circuitería, interruptor y baterias en una caja de PVC para dejar el sistema en perfecto acabado.
  4. Colocación de la rejilla de tipo 30 interna (apertura nominal: 0,623mm, diametro: 34 SWG, area abierta: 54%) y la externa.

Instalación en baño y/o aseo
  1. Instalaremos en el baño y en el aseo como sistema activo de ventilación de olores y humedad.
  2. Añadiremos un segundo ventilador para la rejilla pasiva actual de 10x20cm.
  3. Añadiremos entre rejilla y ventiladores una capa de carbón activo.
  4. Cambiaremos el rocket switch SPST por uno que incluya LED de estado.

sábado, 11 de diciembre de 2010

Comunicación Arduino con LCD basado en chip HD44780

El controlador HD44780 es muy común en pantallas LCD (formatos 16x2 o 20x4) y es idóneo para integrarlo como sistema de salida de información de un proyecto basado en Arduino.

Veámos, en esta entrada al blog, como se puede integrar con una placa Arduino, una circuiteria mínima y un programa de test asociado.

CIRCUITERIA
La circuiteria externa que utilizaremos para conectar el LCD con el Arduino, en nuestro caso con un Arduino UNO la podemos ver en el esquema siguiente que he realizado con el software Fritzing:

La implementación física:


Destacar que el chip de controlador del LCD, el HD44780, todo y ser muy común, debemos verificar la asignación de cada uno de los 16 pines de que dispone para asegurarnos de que el fabricante en cuestión no haya cambiado el orden de asignaciones.


ESQUEMA LCD 20x4
La información del datasheet del LCD 20x4 adquirido tiene las siguientes características:

Fabricante: Xiamen Ocular
Modelo: GDM2004D (ver datasheet)
Controlador: S6A0060 (compatible 100% HD44780)
Características: 5x8 dots, +5V power supply, 1/16 dutycycle, LED Backlight
  • Pin 1: Vss
  • Pin 2: Vdd
  • Pin 3: Vo
  • Pin 4: RS
  • Pin 5: R/W
  • Pin 6: E
  • Pin 7 a 10: DB0-DB3
  • Pin 11 a 14: DB4-DB7
  • Pin 15: LED+ (ánodo)
  • Pin 16: LED- (GND)

PROGRAMA ARDUINO
El programa que utilizaremos para probar la comunicación del Arduino con el LCD es el siguiente:

/*
Arduino - FreeNAS

The circuit:
LCD 1 (0V) to arduino ground pin 14 o al pin GND de power
LCD 2 (5V) to arduino +5 V
LCD 3 (V0) to output from potentiometer 10kOhm connected between +5 V and GND
LCD 4 (RS) to arduino pin 7
LCD 5 (R/W) to arduino ground
LCD 6 (E) to arduino pin 6
LCD 11 (DB4), 12 (DB5), 13 (DB6), 14 (DB7) on arduino pins 2, 3, 4, 5
LCD 15 (LED+) through resistor 12 Ohm to arduino +5 V
LCD 16 (LED-) to arduino ground
*/

LiquidCrystal lcd(7,6,5,4,3,2);

void setup() {
lcd.begin(20, 4);
lcd.setCursor(2,0);
lcd.print("DISPLAY LCD 4x20");
lcd.setCursor(6,1);
lcd.print("Proyecto");
lcd.setCursor(3,2);
lcd.print("Arduino-FreeNAS");
lcd.setCursor(1,3);
lcd.print("by RFKsolutions.es");
}

void loop() {
}


TEST DE FUNCIONAMIENTO
Podemos ver en el video como la placa Arduino envía desde su programa interno la información al display LCD y que en este caso hemos conectado la placa a una fuente USB externa, por lo que no necesitamos de un PC con puerto USB.



Se aprecia en el vídeo que si eliminamos la alimentación al pin 15 (en este caso abriendo el circuito eliminando la resistencia de 12 ohm) el LCD queda sin retroiluminación, y tenemos un LCD 100% operativo pero sin dicha característica.

sábado, 4 de diciembre de 2010

Comunicación por USB entre Arduino y un PC vía java.

La forma más fácil para comunicar el Arduino UNO con un PC es mediante el puerto USB/Serie y en este caso utilizaremos a tal efecto la librería RXTX de Java.

Arduino
En el Arduino se copia el programa de ejemplo ASCII Table que viene en la versión 0021 del software de programación Arduino.
  • Menu: File -> Examples -> 4.Communication -> ASCIITable

PC
En el PC bajo un entorno Eclipse de desarrollo y añadiendo la libreria RXTX (disponible en rxtx.org) se definen los siguientes ficheros:

TEST DE FUNCIONAMIENTO
Podemos ver en el video la pulsación en la placa Arduino y como se recoge la información en una aplicación java y se visualiza en consola el volcado de datos que envia el Arduino, en este caso la tabla ASCII.

Primeros pasos con Arduino UNO

Después de casi 15 años sin realizar "chapuzillas electrónicas" desde que acabe la carrera, ya es cuestión de refrescar un poco todos los conocimientos y aprovechar las facilidades que ofrecen los nuevos gadgets, de aquí mi nuevo juguete, el Arduino UNO (ver web arduino.cc).

De momento mi intención es informar del estado del servidor NAS (ver Servidor NAS) hacia el Arduino, procesar los mensajes y visualizarlos en la pantalla del LCD. El como ya veremos, debido a que en mi servidor NAS corre el sistema operativo FreeNAS y veremos como acceder vía USB.

El coste del prototipo es el siguiente:
  • 1x Arduino UNO 25,96 €
  • 1x Pantalla LCD 20x4 caracteres - Negro/Verde 17,82 €
  • 1x Set de cables M/M (10 Unid.) 3,84 €
  • 1x Mini tabla-prototipo adhesiva 3,84 €
  • 1x Cable USB
Todos los productos han sido adquiridos en BricoGeek.com, tienda online en España que la recomiendo para este tipo de componentes.

Empiezan las pruebas y de momento, código de proyecto creado en Google Code: arduino-freenas



miércoles, 1 de diciembre de 2010

Control remoto para XBMC

Después de utilizar durante largo tiempo un mando remoto compatible MCE para XBMC (el mando gris de la fotografía adjunta) he decidido adquirir una versión idéntica en funcionalidades, pero de diseño extraplano, pequeño, negro y con batería CR2032 (el mando negro de la fotografía)


  • 1x Remote Control MCE compatible negro (5 EUR nuevo en eBay; costes de envío incluidos)
Se trata de un dispositivo de conectar y listo, el mando incluye un mini-adaptador IR que se conecta a un puerto USB libre e interactúa directamente con el sistema operativo Windows, sin la necesidad de instalar ningún driver dada su compatibilidad MCE y sus 18 metros de alcance lo hacen idóneo para instalaciones de HTPC (ver artículo HTPC inalámbrico 802.11n con XBMC)