[Link]
html
Pantalla $5990
Sensor presin $2690
Temperatura y humedad $ 5990
Luz $ 1990
Luz y radiacin $8490
Lluvias $ 2400
Estacin Meteorolgica con Arduino
28 de abril de 2015
Arduino
127 Comentarios
8
Presentamos un proyecto de Estacin Meteorolgica con Arduino, utilizando varios
componentes compactos y de bajo costo para exhibir en un display grfico informaciones
sobre temperatura, humedad y presin:
Para el montaje de esta temporada, vamos a utilizar: Un sensor de temperatura y humedad
DHT22 un sensor de presin BMP180 y LCD de Nokia 5110 pantalla . Vamos a presentar
ms informacin sobre ellos antes de mostrar el proceso de montaje de la Estacin
Meteorolgica con Arduino.
Sensor de temperatura y humedad DHT22
El DHT22 es un sensor de temperatura y humedad sucesor DHT11. Se realizan mediciones
de temperatura entre -40 y 125 C, y humedad entre 0 y 100%. Puede ser alimentado con
tensiones de entre 3,3 y 6 V y como DHT11, pero slo tiene 4 pines se utilizan 3: Vcc y GND
fecha.
El DHT22 tiene bajo consumo de corriente (2,5 mA durante las mediciones y entre 100 y
150 A en standby), poseyendo internamente un sensor de humedad capacitivo y un
termistor. En este sensor, el intervalo recomendado entre mediciones es de 2 segundos
(contra 1 segundo en el DHT11). Puede obtener ms informacin acerca del uso de este
sensor a travs de este tutorial aqu en nuestro blog.
Sensor de temperatura y presin BMP180
El sensor de temperatura y presin BMP180 es tambin una evolucin de otro sensor, el
BMP085, completamente compatible en trminos de firmware y software de interfaz (se
puede usar incluso la misma biblioteca).
La comunicacin con Arduino se realiza a travs de la interfaz I2C, y soporta alimentacin
de 1.8 a 3.6V, por lo que es necesario tomar un cierto cuidado al conectar ese sensor al
Arduino.
A pesar de esta limitacin en la alimentacin del sensor, un regulador de tensin en la placa
permite que los pines de datos (SCL y SDA) se usen normalmente en placas con nivel de
seal de 5V, como el Arduino Uno. Descubre cmo a controlar la presin y la temperatura
despus de este post tambin aqu en nuestro blog.
Pantalla LCD Nokia 5110
La pantalla LCD de Nokia 5110 que vamos a utilizar en el proyecto es una representacin
grfica de 84 48 pxeles, 1,6 pulgadas y retroiluminacin (luz de fondo) de color azul con
una tensin de alimentacin de 5V. Su conexin con Arduino utiliza 5 hilos, y la
configuracin de los pines de conexin es hecha a travs de software, as que podemos
utilizar prcticamente cualquier pin del Arduino. Para la luz de fondo (BL pin) la tensin
mxima soportada es de 3,3V.
En nuestro proyecto, vamos a conectar esta pantalla de la siguiente manera:
pin RST del pasador 12 Arduino
pin CE conectado al pin de Arduino 11
pin DC conectada a la patilla 10 Arduino
Din pin 9 conectada a la patilla Arduino
pin Clk conectada a la patilla 8 Arduino
Pin Vcc pin conectado a la 5V Arduino
BL conectado a la clavija de la Arduino pin 3.3V
GND pin conectado a GND Arduino
Si desea montar este proyecto utilizando el display Nokia 5110 rojo, consulte las
especificaciones del fabricante, ya que existen muchos modelos de esta pantalla que slo
funcionan con un nivel de seal de 3.3V.
Circuito Estacin Meteorolgica
Vamos a presentar dos opciones de circuitos, uno con el Arduino Uno, para los que slo
quieren probar el proyecto en el tablero, y uno con el Arduino Nano , ideal para el montaje
final y que se puede colocar en una caja de plstico, por ejemplo.
En Arduino Uno, usamos los pines 8 a 12 mencionado anteriormente para mostrar la unin,
y el pin 3 como el DHT22 de entrada con una resistencia de 10K funcionar como pull-up.
El sensor BMP180 utiliza los pines I2C, que son pines analgicos A4 y A5:
Arduino Nano, se utilizan los mismos pines. Compruebe en la imagen abajo la pinza de
esa placa y la conexin de los componentes:
Para dejar el diseo ms compacto utilizamos un case de mdem para proteccin y
transporte pero usted puede usar cualquier otra caja para obtener el mismo resultado:
Bibliotecas y programas
Antes de cargar el programa, descargue las siguientes bibliotecas:
Pantalla - Bibliotecas Adafruit_GFX y Adafruit_PCD8544
DHT - Biblioteca DHT
BMP180 - Biblioteca Adafruit_BMP085
Descomprimir todos y copiar en la carpeta BIBLIOTECAS Arduino IDE.
El Adafruit_GFX es la biblioteca de grficos, responsable de las funciones de dibujo de
rectngulos, crculos, lneas, etc. El Adafruit_PCD8544 la biblioteca se utiliza para
gestionar la comunicacin entre el Arduino y la pantalla. La biblioteca BMP085 sirve tanto
para el sensor BMP085 como para el BMP180, utilizado en este proyecto.
El mismo programa puede ser cargado en el Arduino Uno o en el Arduino Nano. El
programa dibuja tres rectngulos con los bordes redondeados, y dentro de ellos muestra la
informacin de temperatura, humedad y presin, actualizando la informacin cada 5
segundos.
Programa: Estacion Meteorologica con Arduino
Autor: FILIPEFLOP
Carga bibliotecas grficas y sensores
#include <Adafruit_GFX.h>
#include <Adafruit_PCD8544.h>
#include <DHT.h>
#include <Adafruit_BMP085.h>
#include <Wire.h>
#include <SPI.h>
// Pinza de conexin del Nokia 5110
// pin 8 - Serial clock out (SCLK)
// pin 9 - Serial data out (DIN)
// pin 10 - Fecha / Command select (D / C)
// pin 11 - LCD chip select (CS / CE)
// pin 12 - LCD reset (RST)
// Inicializa la pantalla en los pines arriba
Adafruit_PCD8544 display = Adafruit_PCD8544 (8, 9, 10, 11, 12);
// Define el pino y el tipo del sensor DHT
DHT dht (3, DHT22);
Adafruit_BMP085 bmp180;
Void setup ()
(En ingls)
[Link] (9600);
Informaciones iniciales en el display
[Link] ();
// Ajusta el contraste del display
[Link] (48);
// Borra el buffer y el display
[Link] ();
// Define el tamao del texto y el color
[Link] (1);
[Link] (BLACK);
Rectngulo de temperatura
[Link] (0,0, 44,24, 3, 2);
// Texto inicial temperatura
[Link] (11,3); // Flecha la posicin del cursor
[Link] ("TEMP");
[Link] (5,14);
[Link] ("----");
[Link] (29,14);
[Link] (31, 15, 1,1);
[Link] ("C");
Rectngulo de humedad
[Link] (45,0, 39, 24, 3, 2);
Texto original Humedad
[Link] (52,3);
[Link] ("UMID");
[Link] (50,14);
[Link] ("----");
[Link] (75,14);
[Link] ("%");
Rectngulo Presin
[Link] (0,25, 84, 23, 3, 2);
// Texto inicial Presin
[Link] (22,28);
[Link] ("PRESSAO");
[Link] (55,38);
[Link] ("hPa");
[Link] (11,38);
[Link] ("------");
[Link] ();
(1000);
Inicia el sensor BMP180
If (! [Link] ())
(En ingls)
[Link] ("Sensor BMP180 no encontrado !!");
while (1) {}
}}.
// Inicializa el DHT22
[Link] ();
}}.
Void bucle ()
(En ingls)
Lectura de temperatura, humedad y presin
Float h = [Link] ();
Float t = [Link] ();
Float p = [Link] () / 100.0;
// Actualiza el valor de la temperatura
[Link] (4,13, 25, 10, 0);
[Link] (4,14);
[Link] (t, 1);
// Actualiza el valor de la humedad
[Link] (50,13, 23, 10, 0);
[Link] (50,14);
[Link] (h, 1);
// Actualiza el valor de la presin
[Link] (4, 37, 46, 10, 0);
[Link] (11,38);
[Link] (p, 2);
[Link] ();
// Espera 5 segundos para realizar una nueva lectura
(5000);
}}.
Tambin puede utilizar el sensor de temperatura DHT11 en el proyecto utilizando la misma
biblioteca DHT que se muestra arriba. Para esto, cambiar la lnea de DHT DHT (3 DHT22),
sustituyendo DHT22 DHT11.
Te gust? Ayudenos a mejorar el blog asignar una nota a este tutorial (estrellas al final del
artculo) y visite nuestro local FILIPEFLOP!