Construye una Estación Meteorológica Simple con Arduino UNO, Sensor BMP280 y LCD
Componentes y suministros
| Componente | Cantidad |
|---|---|
| Arduino UNO | 1 |
| Pantalla LCD estándar Adafruit 16x2 (blanco sobre azul) | 1 |
| Sensor GY-BM E/P 280 (BMP280) | 1 |
| Resistencia 221 ohm | 1 |
| Cables jumper (genéricos) | 17 |
| Partes electrónicas UTSOURCE | 1 |
Aplicaciones y servicios en línea
- Arduino IDE
Sobre el proyecto
Primera versión de una estación meteorológica muy simple construida con un Arduino UNO, un sensor BMP280 y una pantalla LCD.
Enlace de patrocinador: Utsource.net
Reseña: ¡Es un sitio confiable para pedir componentes electrónicos y completar proyectos!
Ya estoy trabajando en la v2.0 (que será inalámbrica), ¡así que sígueme para mantenerte actualizado! ;)


Código
Código para Arduino (C/C++)
Con este código podrás enviar los datos del sensor a la LCD.
#include <LiquidCrystal.h> // Librería para la pantalla LCD
#include <BMP280.h> // Librería para el sensor BMP280
BMP280 bmp; // Inicializa tu sensor
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // Inicializa tu LCD, verifica el cableado
#define P0 1013.25 // Presión atmosférica estándar
#define contrast 9 // Pines 9 y 10 para control de contraste y brillo
#define brightness 10
double T = 0; // Valor inicial de temperatura
double P = 0; // Valor inicial de presión
char measure = 0;
void collectData() {
measure = bmp.startMeasurment();
if (measure != 0) {
delay(measure);
measure = bmp.getTemperatureAndPressure(T, P);
if (measure != 0) {
P = P + 17; // '+17' corrección de error del sensor
T = T - 0.8; // Corrección similar
lcd.clear();
lcd.print("T: ");
lcd.print(T);
lcd.print(" C");
lcd.setCursor(0, 1);
lcd.print("P: ");
lcd.print(P);
lcd.print(" hPa");
} else {
lcd.print("Error.");
}
} else {
lcd.print("Error.");
}
}
void setup() {
lcd.begin(16, 2);
pinMode(contrast, OUTPUT);
pinMode(brightness, OUTPUT);
analogWrite(contrast, 100); // Valores sugeridos para contraste y brillo
analogWrite(brightness, 255); // Puedes ajustarlos a tu preferencia
if (!bmp.begin()) {
delay(1000);
lcd.print("Init. failed.");
lcd.setCursor(0, 1);
delay(1000);
lcd.print("Check wiring.");
while (1); // Bucle infinito si falla la inicialización
} else {
lcd.print("Init. OK.");
}
bmp.setOversampling(4);
delay(2000);
collectData();
}
void loop() {
collectData();
delay(2000);
}
Esquemáticos
Con este cableado no deberías tener problemas.
Proceso de manufactura
- Construcción de una estación meteorológica exterior con Raspberry Pi 2 y ADS‑WS1
- Construya una estación meteorológica con Raspberry Pi que envíe datos diarios por email
- Estación Meteorológica Avanzada v2.0: Monitorización en Tiempo Real de Temperatura, Presión, Humedad y Altitud
- Estación de Mezcla de Cócteles "6-Shooter" con Arduino: Construye tu Propio Barman Automático
- Proyecto Dados Digitales Arduino: Construye tu Propio Generador de Números Aleatorios con LCD
- Mando USB para juegos DIY con Arduino – Construye tu propio gamepad de alto rendimiento
- Pixel Chaser: Juego LED Interactivo de Un Toque con Arduino Nano
- Registrador de Datos de Alto Rendimiento para Globo Meteorológico con Arduino
- Estación Meteorológica Portátil Arduino por $10 – Nano, DHT22, BMP180 y LCD
- eDOT: Reloj Preciso y Estación Meteorológica Arduino con Control IR Integrado
- Pong Neón en Matriz NeoPixel con Arduino Nano