Introduction: Mini Estación Meteorológica Con Arduino
Este es un tutorial para cómo hacer una mini estación meteorológica con Arduino que muestra temperatura y presión.
Step 1: Materiales
Para hacer este proyecto necesitarás los siguientes materiales:
-20 Cables
- Sensor de temperatura y presión BMP180
- Display LCD QY-1602A
- Arduino Uno
- Potenciometro
- Resistencia 220 Omhs
- Cable de Impresora
- Protoboard Grande
-Computador
Step 2: Montaje
El siguiente paso es hacer el montaje de la foto anterior. A este montaje le falta el sensor BMP 180, sin embargo, las Instrucciones para conectarlo son las siguentes:
Debes conectar el pin "VIN" del Sensor BMP 180 al Pin "3,3 V" en el Arduino, el de "GND" a "GND", el "SCL" al pin análogo "A5" en el Arduino y, finalmente, el "SDA" al "A4".
Step 3: Código
Para hacer funcionar tu estación meteorológica debes incluir este código en el lenguaje de Arduino, ten encuenta que debes tener todas las librerias (Liquid Crystal, SFE_BMP180) descargadas (Lo puedes hacer aquí y aquí):
#include <LiquidCrystal.h>
#include <SFE_BMP180.h>
#include <Wire.h>
SFE_BMP180 pressure;
double PresionBase;
double Presion = 0;
double Temperatura = 0;
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
char status;
void setup() {
Serial.begin(9600);
lcd.begin(16, 2);
SensorStart();
}
void loop() {
ReadSensor();
lcd.setCursor(0,0);
lcd.print("T: ");
lcd.print(Temperatura);
lcd.print(" C ");
lcd.setCursor(0,1);
lcd.print("P: ");
lcd.print(Presion);
lcd.print(" mbar ");
delay(2000);
}
void SensorStart() {
if (pressure.begin())
Serial.println("BMP180 init success");
else
{
Serial.println("BMP180 init fail (disconnected?)\n\n");
while (1);
}
status = pressure.startTemperature();
if (status != 0) {
delay(status);
status = pressure.getTemperature(Temperatura);
if (status != 0) {
status = pressure.startPressure(3);
if (status != 0) {
delay(status);
status = pressure.getPressure(PresionBase, Temperatura);
}
}
}
}
void ReadSensor() {
status = pressure.startTemperature();
if (status != 0)
{
delay(status);
status = pressure.getTemperature(Temperatura);
if (status != 0)
{
status = pressure.startPressure(3);
if (status != 0)
{
delay(status);
status = pressure.getPressure(Presion, Temperatura);
if (status != 0){}
else Serial.println("error en la lectura de presion\n");
}
else Serial.println("error iniciando la lectura de presion\n");
}
else Serial.println("error en la lectura de temperatura\n");
}
else Serial.println("error iniciando la lectura de temperatura\n");
}
Step 4: Disfruta!!!
Ahora tienes todo lo que necesitas para ser un meteorólogo básico, disfruta ver las fluctuaciones en temperatura y presión atmosférica de tu mini estación meteorológica. Espero que este tutorial te haya sido de utilidad!