¿Alguna vez has mirado por la ventana del aula y te has preguntado a cuántos grados estáis realmente en el patio? Eso mismo nos pasó a nosotros. Lo que empezó como una pregunta en clase de Tecnología acabó convirtiéndose en uno de los proyectos más comentados del instituto: una estación meteorológica Arduino que mide la temperatura, la humedad y la presión del aire, y que muestra los datos en tiempo real en una página web que cualquiera puede consultar desde el móvil.

En este artículo te contamos paso a paso cómo lo hicimos, qué materiales usamos, cómo funcionan los sensores y cómo aprovechamos el proyecto para aprender JavaScript desde cero. Si estás buscando ideas de proyectos IoT para colegios, aquí tienes uno que se puede hacer de verdad y que sorprende a todo el mundo.

Por qué una estación meteorológica es el proyecto perfecto

Hay muchos proyectos de electrónica, pero este tiene algo especial: sirve para algo real. Los datos que recoge la estación los puede usar toda la comunidad educativa. El profesorado de Ciencias puede analizar cómo cambia la temperatura a lo largo del día, en Matemáticas se pueden hacer gráficas y medias, y en Geografía se puede comparar el clima de nuestra ciudad con el de otras.

Además, combina tres mundos que normalmente se estudian por separado:

  • Electrónica: conectar sensores a una placa y entender cómo funcionan.
  • Programación: escribir el código que lee los datos y los envía por internet.
  • Desarrollo web: crear una página con HTML, CSS y JavaScript para mostrar la información.

Eso es justo lo que se conoce como IoT o Internet de las Cosas: objetos físicos que se conectan a internet para compartir información. Tu reloj inteligente, un altavoz con asistente de voz o el termostato de algunas casas funcionan con la misma idea que nuestra estación.

Los materiales que necesitamos

Una de las mejores cosas de este proyecto es que no hace falta un presupuesto enorme. Esta es la lista de lo que usamos:

  • Una placa Arduino con wifi: nosotros usamos una Arduino Nano 33 IoT, pero también sirven una MKR WiFi 1010 o una placa ESP32.
  • Sensor DHT22: mide temperatura y humedad.
  • Sensor BMP280: mide la presión atmosférica (y, con ella, se puede estimar la altitud).
  • Sensor de lluvia: detecta si caen gotas sobre su superficie.
  • Fotorresistencia (LDR): mide la cantidad de luz.
  • Protoboard y cables: para hacer las conexiones sin necesidad de soldar.
  • Una caja protectora: nosotros reciclamos un táper con agujeros de ventilación para proteger la electrónica.
  • Cable USB y fuente de alimentación: para que la estación funcione día y noche.

Placa Arduino para construir una estación meteorológica en el instituto

Las placas Arduino son el cerebro de miles de proyectos escolares en todo el mundo.

¿Quieres montar tu propia estación pero no sabes por dónde empezar? En Robótica Online encontrarás cursos de Arduino, robótica y programación pensados para estudiantes de tu edad.

Los sensores: los sentidos de nuestra estación

Si la placa Arduino es el cerebro, los sensores son sus sentidos. Cada uno transforma algo del mundo real (el calor, la humedad, la luz) en una señal eléctrica que la placa puede entender.

Sensor DHT22: temperatura y humedad

Es el sensor estrella de cualquier estación meteorológica Arduino. Dentro tiene un pequeño componente que cambia su resistencia según la temperatura y otro que reacciona a la humedad del aire. Envía los datos a la placa por un solo cable de datos, lo que lo hace muy fácil de conectar.

Sensor BMP280: presión atmosférica

La presión del aire es una pista muy útil para adivinar el tiempo. Cuando la presión baja de forma rápida, suele acercarse mal tiempo; cuando sube, normalmente vienen días más estables. Con este sensor nuestra estación puede hacer pequeñas «predicciones».

Sensor de lluvia y fotorresistencia

El sensor de lluvia es una placa con pistas metálicas: cuando el agua cae sobre ella, la electricidad pasa más fácilmente y la placa lo detecta. La fotorresistencia, por su parte, cambia su valor según la luz que recibe, así que podemos saber si es de día, si está nublado o si hace un sol radiante.

Paso 1: el montaje

Antes de tocar ningún cable, dibujamos un esquema en papel con todas las conexiones. Parece una tontería, pero nos ahorró muchos errores. Estas son las reglas básicas que seguimos:

  • Todos los sensores necesitan alimentación (VCC) y tierra (GND).
  • El DHT22 va conectado a un pin digital.
  • El BMP280 se comunica por I2C, usando los pines SDA y SCL.
  • El sensor de lluvia y la fotorresistencia van a pines analógicos, que leen valores entre 0 y 1023.

Un consejo importante: no coloques el sensor de temperatura al sol directo. Si lo haces, medirá mucho más calor del real. Las estaciones profesionales usan una caseta blanca con rendijas para que el aire circule y el sol no caliente el sensor. Nosotros hicimos una versión casera con platos de plástico blancos apilados.

Paso 2: programar la placa Arduino

Aquí empieza la parte de programación. Arduino se programa en un lenguaje basado en C++ desde el Arduino IDE o desde el editor web de Arduino Cloud. Este es un ejemplo sencillo para leer el sensor DHT22:

#include "DHT.h"

#define DHTPIN 2
#define DHTTYPE DHT22

DHT dht(DHTPIN, DHTTYPE);

void setup() {
  Serial.begin(9600);
  dht.begin();
}

void loop() {
  float temperatura = dht.readTemperature();
  float humedad = dht.readHumidity();

  Serial.print("Temperatura: ");
  Serial.print(temperatura);
  Serial.print(" C  |  Humedad: ");
  Serial.print(humedad);
  Serial.println(" %");

  delay(2000);
}

¿Qué hace este código? En setup() preparamos la comunicación y el sensor. En loop(), que se repite sin parar, leemos la temperatura y la humedad, las mostramos en el monitor serie y esperamos dos segundos antes de volver a medir. Así de simple. La primera vez que vimos aparecer los números en la pantalla, toda la clase aplaudió.

Paso 3: conectar la estación a internet

Medir datos está muy bien, pero lo realmente impresionante es poder verlos desde cualquier lugar. Para eso usamos Arduino IoT Cloud, la plataforma en la nube de Arduino. Funciona así:

  1. Creamos una cuenta gratuita y registramos nuestra placa.
  2. Definimos unas variables en la nube: temperatura, humedad, presión, lluvia y luz.
  3. Introducimos el nombre y la contraseña de la red wifi (con permiso del departamento de informática del centro, claro).
  4. Cargamos el programa en la placa, que envía los valores automáticamente cada vez que cambian.
  5. Diseñamos un panel de control con gráficas e indicadores sin escribir ni una línea de código más.

En pocos minutos teníamos un panel con gráficas que se actualizaban solas. Pero queríamos ir un paso más allá: crear nuestra propia página web para el instituto. Y ahí entró en juego JavaScript.

Los proyectos IoT en colegios están en auge. Si tu centro quiere apostar por la tecnología, descubre los recursos y formaciones de www.roboticaonline.es para llevar la robótica y la programación al aula.

Paso 4: aprender JavaScript para mostrar los datos en la web

Para la web utilizamos los tres lenguajes básicos que recomienda el W3C, el organismo que define los estándares de internet:

  • HTML: la estructura de la página (títulos, textos, cajas).
  • CSS: el diseño (colores, tamaños, tipografías).
  • JavaScript: el comportamiento (pedir los datos y actualizarlos sin recargar la página).

Logo de HTML5, lenguaje para crear la web de la estación meteorológica

Si nunca has programado, aprender JavaScript con un proyecto real es mucho más motivador que hacerlo con ejercicios sueltos. Cada línea de código que escribes tiene un efecto visible: un número que cambia, un icono que se ilumina o un fondo que se vuelve azul cuando llueve.

Logo de JavaScript para aprender a programar con sensores

Nuestra estación guardaba los datos en un archivo en formato JSON, que es una forma muy ordenada de guardar información para que los programas la entiendan. Después, con JavaScript, la página leía ese archivo cada 30 segundos y actualizaba los valores en pantalla:

async function actualizarDatos() {
  try {
    const respuesta = await fetch("datos.json");
    const datos = await respuesta.json();

    document.getElementById("temperatura").textContent = datos.temperatura + " °C";
    document.getElementById("humedad").textContent = datos.humedad + " %";
    document.getElementById("presion").textContent = datos.presion + " hPa";
  } catch (error) {
    console.log("No se han podido cargar los datos");
  }
}

actualizarDatos();
setInterval(actualizarDatos, 30000);

Vamos a explicarlo de forma sencilla:

  • fetch() va a buscar el archivo con los datos, como si la página «preguntara» a la estación cómo está el tiempo.
  • json() convierte la respuesta en información que JavaScript puede usar.
  • getElementById() busca en la página el lugar donde queremos escribir cada dato.
  • setInterval() repite la función cada 30.000 milisegundos, es decir, cada 30 segundos.

Con esto ya teníamos datos en tiempo real. Después añadimos detalles divertidos: un mensaje que dice «Hoy toca abrigo» cuando la temperatura baja de 10 grados, o un aviso de «Paraguas recomendado» cuando el sensor de lluvia detecta agua.

Cómo conseguimos que todo el instituto hablara del proyecto

Un buen proyecto merece que lo conozca todo el mundo. Estas son algunas ideas que nos funcionaron genial:

  • Pantalla en el vestíbulo: pusimos la web en un monitor de la entrada. Cada mañana había gente parada mirando la temperatura.
  • Código QR en los pasillos: imprimimos carteles con un QR que llevaba directamente a la página.
  • Reto de predicciones: cada semana, las clases intentaban adivinar la temperatura máxima del viernes. La clase ganadora se llevaba un pequeño premio.
  • Récords del instituto: la web muestra el día más caluroso, el más frío y el más lluvioso desde que se instaló la estación.
  • Presentación a las familias: en la jornada de puertas abiertas explicamos cómo funciona y fue uno de los rincones más visitados.

Lo que aprendimos por el camino

No todo salió bien a la primera, y eso también forma parte del aprendizaje. El sensor de humedad daba valores raros porque estaba mal conectado, la wifi del centro bloqueaba la placa al principio y un día de tormenta el agua se coló en la caja. Cada problema nos obligó a investigar, probar y mejorar.

Al final, este proyecto nos enseñó mucho más que electrónica o programación:

  • Trabajo en equipo: unos se encargaron del montaje, otros del código de Arduino y otros de la web.
  • Pensamiento lógico: dividir un problema grande en pasos pequeños.
  • Constancia: los errores no significan fracaso, sino que todavía no has encontrado la solución.
  • Ciencia aplicada: entender de verdad cómo funciona el tiempo atmosférico.

Por eso creemos que los proyectos IoT en colegios son una de las mejores formas de aprender tecnología: se ven, se tocan y sirven para algo.

Ideas para mejorar tu estación meteorológica

Si ya tienes la versión básica funcionando, aquí van algunas ampliaciones para seguir aprendiendo:

  • Añadir un anemómetro para medir la velocidad del viento.
  • Incorporar un sensor de calidad del aire para controlar la contaminación cerca del centro.
  • Alimentar la estación con una pequeña placa solar.
  • Crear gráficas históricas con librerías de JavaScript como Chart.js.
  • Compartir los datos con estaciones de otros institutos y crear una red meteorológica escolar.

Ahora te toca a ti

Construir una estación meteorológica Arduino, programar sensores y aprender JavaScript está más cerca de lo que crees. Da el primer paso con los cursos y recursos de robótica y programación.

Descubre Robótica Online

Conclusión

Lo que empezó como una simple pregunta en clase terminó siendo un proyecto del que todo el instituto se siente orgulloso. Con una placa Arduino, unos cuantos sensores y las ganas de aprender JavaScript, conseguimos crear una herramienta útil, divertida y conectada al mundo en tiempo real.

Si estás pensando en tu próximo proyecto escolar, anímate a construir tu propia estación meteorológica Arduino. No necesitas ser un genio de la informática: solo curiosidad, paciencia y un buen equipo. Quién sabe, quizá dentro de unos meses sea tu instituto el que tenga la web del tiempo más visitada de la ciudad.

Su título va aquí

Resumen de privacidad
Robodemia

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.

Toda le información en: https://www.robodemia.es/politica-de-privacidad

 

Cookies estrictamente necesarias

Las cookies estrictamente necesarias tiene que activarse siempre para que podamos guardar tus preferencias de ajustes de cookies.

Analítica

Esta web utiliza Google Analytics para recopilar información anónima tal como el número de visitantes del sitio, o las páginas más populares.

Dejar esta cookie activa nos permite mejorar nuestra web.