Descripción detallada de la actividad:
Profesorado responsable
Mª Dolores Moreno Rabel, Departamento de Tecnología.
¿Qué alumnado ha participado?
Alumnado de 4º de ESO en la materia de Digitalización. Participación de un grupo reducido de estudiantes con perfil técnico y especial interés en la programación y la electrónica.
¿Cuál es el objetivo principal de la actividad?
Esta actividad se integra en el marco del proyecto CITE STEAM MeteoDurán, cuya finalidad es sensibilizar al alumnado sobre el cambio climático y la importancia del seguimiento de variables meteorológicas locales. Esta estación será el eje tecnológico del proyecto, permitiendo recoger y analizar datos de forma autónoma y continua.
Relación con el proyecto presentado:
La actividad se enmarca dentro del desarrollo del proyecto CITE STEAM MeteoDurán y de la línea de acción del Plan de Biblioteca Escolar como eje vertebrador de actividades culturales y pedagógicas. También se vincula con los programas de sostenibilidad y concienciación ambiental del centro.
¿Cómo se ha llevado a cabo?
La actividad se ha desarrollado por fases, comenzando con la elección y análisis del hardware: dos placas Arduino UNO conectadas en serie, una de ellas con la Weather Shield de SparkFun (nodo maestro, encargada de recoger los datos meteorológicos) y otra con la Ethernet Shield W5100 (nodo esclavo, responsable de mostrar los datos en una web local mediante servidor HTTP).
El proceso ha sido complejo debido a la falta de un código unificado que permitiera integrar todos los sensores y sistemas, lo cual ha obligado a los alumnos a realizar un trabajo de recopilación, prueba y depuración de múltiples fragmentos de código, además de lidiar con los fallos de lectura del GPS y errores de hardware en los sensores.
Se ha trabajado también con protocolos de comunicación I2C y SoftwareSerial entre placas, configuración de IP estática para la web local y uso de HTML básico para mostrar los datos en el navegador.
El aprendizaje ha sido eminentemente práctico, basado en el método de prueba-error, promoviendo la autonomía del alumnado y su capacidad de resolución ante situaciones técnicas imprevistas.
Elementos tecnológicos específicos utilizados:
Hardware:
2 placas Arduino UNO.
SparkFun Weather Shield.
Ethernet Shield W5100.
Sensor GPS integrado en la Weather Shield.
Conectores I2C y cables jumper.
Software y recursos web:
IDE de Arduino.
Librerías específicas: Wire.h, Ethernet.h, SoftwareSerial.h, SFE_BMP180.h, SparkFunWeatherShield.h, etc.
Página web de SparkFun (documentación técnica).
Foro Arduino y GitHub (códigos de referencia y soporte).
Recursos propios en Google Drive (bitácora del alumnado).
Tiempo dedicado:
Tiempo de preparación del profesorado
20 horas de planificación docente para revisión de documentación técnica, recopilación de códigos, instalación de librerías y testeo preliminar del hardware.
Desarrollo con el alumnado
14 sesiones de 50 minutos distribuidas en el segundo y tercer trimestre.
Duración total aproximada
44 horas lectivas más tiempo adicional de supervisión.
1. Explicación de componentes electrónicos previo a su programación.
En este vídeo se muestra el cuadro de control de la estación meteorológica está compuesto por una arquitectura electrónica basada en dos placas Arduino UNO conectadas en configuración maestro-esclavo. En el Arduino maestro se integra una Weather Shield de SparkFun, que recoge los datos meteorológicos de sensores como temperatura, humedad, presión atmosférica, velocidad y dirección del viento, así como el pluviometro. El Arduino esclavo incorpora una shield Ethernet W5100, encargada de recibir los datos serializados desde el maestro y servirlos a través de una interfaz web alojada en la red local. Todo el sistema se alimenta mediante una fuente regulada de 5V y cuenta con una conexión estructurada para facilitar el mantenimiento y la futura ampliación del sistema, como la inclusión de una tarjeta microSD o un módulo WiFi para su conexión a Internet. Esta disposición modular permite el diagnóstico por bloques y la optimización del procesamiento y transmisión de datos meteorológicos.
2. Programación de Arduino Maestro + Weather Shield SparkFun.
La programación del Arduino Maestro, al que se encuentra conectada la Weather Shield de SparkFun, se centra en la lectura y procesamiento de los datos recogidos por los distintos sensores integrados (temperatura, humedad, presión, velocidad y dirección del viento, pluviometría y GPS). Utilizando bibliotecas específicas como SparkFunWeather, Wire y SoftwareSerial, el código inicializa cada sensor y realiza un muestreo periódico de los valores, que luego son formateados en una cadena estructurada. Esta cadena de datos se envía a través del puerto serie al Arduino Esclavo, utilizando comunicación serie UART. El código también incluye rutinas para la verificación del estado de los sensores, control de errores y validación de datos, con el objetivo de garantizar la integridad de la información transmitida. La programación ha requerido una fase intensiva de pruebas, depuración y adaptación de fragmentos de código disponibles en línea, debido a la falta de un ejemplo completo funcional específico para esta combinación de hardware.
3. Programación de Arduino Esclavo + Shield Ethernet W5100.
La programación del Arduino Esclavo, equipado con la Ethernet Shield W5100, tiene como objetivo principal recibir los datos enviados desde el Arduino Maestro a través de la comunicación serie, interpretarlos y mostrarlos en una página web alojada en una red local. Para ello, se ha implementado una estructura que escucha continuamente el puerto serie, almacena las cadenas de datos recibidas, y las organiza en variables legibles para su posterior visualización. Usando la librería Ethernet.h, el Arduino establece una IP estática y configura un pequeño servidor web que responde a las solicitudes HTTP de los clientes conectados a la misma red. El contenido de la página web se genera dinámicamente con los datos meteorológicos más recientes, actualizados en tiempo real. Este proceso ha supuesto un desafío técnico, no solo por la integración de la comunicación serie con la red local, sino también por las limitaciones de memoria del microcontrolador, lo que ha exigido una programación optimizada y el uso de técnicas de depuración continuas para garantizar una comunicación estable y la correcta presentación de los datos.
4. Verificación de funcionamiento.
La verificación del funcionamiento del sistema se ha llevado a cabo mediante la observación directa de la página web generada por el Arduino esclavo, así como con la monitorización del puerto serie del Arduino maestro. Las variables meteorológicas medidas incluyen la temperatura, la humedad relativa, la presión atmosférica, la velocidad del viento, la dirección del viento y la precipitación. Durante las pruebas, se han obtenido valores coherentes con las condiciones ambientales reales: por ejemplo, temperaturas de entre 18 y 24 °C, humedades relativas en torno al 60-70 %, y presiones atmosféricas cercanas a los 1013 hPa. La velocidad del viento ha oscilado entre 0 y 5 m/s, con dirección variable, y en cuanto a la precipitación, se han registrado valores nulos en días secos y ligeros incrementos tras eventos lluviosos. Estos datos han sido verificados tanto en la interfaz web como en el monitor serie, confirmando la correcta lectura por parte del Arduino maestro y su transmisión efectiva al esclavo, así como la correcta visualización en red local.
5. Trabajo pendiente.
De cara al próximo curso, el trabajo pendiente se centrará en completar la programación avanzada del sistema y optimizar la difusión de los datos meteorológicos en tiempo real. Uno de los principales objetivos será volcar la información recogida a servidores web públicos, permitiendo el acceso abierto y remoto a los datos desde cualquier dispositivo con conexión a internet, superando así la limitación actual de acceso exclusivo a través de la red local. Además, se plantea mejorar la estabilidad del sistema, incorporar un registro histórico de datos, y desarrollar una interfaz web más intuitiva y visualmente atractiva. También será necesario seguir depurando errores derivados del hardware, como las intermitencias en la señal GPS o fallos puntuales en algunos sensores de la Weather Shield. Este trabajo implicará una revisión de la arquitectura de código, el fortalecimiento de la documentación técnica y una mayor implicación del alumnado en las fases de desarrollo, depuración y testeo.
6. Rúbricas de evaluación.
Esta rúbrica pondera el desempeño técnico y actitudinal del alumnado.
Conclusión:
La actividad de montaje y programación de la estación meteorológica ha permitido al alumnado enfrentarse a un reto técnico real, trabajando con hardware específico (dos placas Arduino, shield meteorológica de SparkFun y shield Ethernet W5100) y desarrollando habilidades clave como la búsqueda de soluciones, la depuración de errores y el trabajo colaborativo. A pesar de las dificultades encontradas —como la falta de un código completo y funcional, los problemas derivados de la integración entre sensores o el mal funcionamiento puntual del GPS—, se ha logrado una comunicación efectiva entre ambos Arduinos y la creación de una web local desde la que se visualizan los datos en tiempo real.
El proyecto continuará el próximo curso escolar con el desarrollo completo del volcado de datos en una web pública accesible desde cualquier dispositivo con conexión a Internet, ampliando así el impacto y utilidad del sistema. Esta primera fase ha cumplido con todos los objetivos planteados: conocer el funcionamiento de una estación meteorológica, trabajar en la integración de componentes electrónicos y fomentar la autonomía técnica del alumnado. Ha sido una experiencia altamente enriquecedora desde el punto de vista formativo, sentando una base sólida para futuras fases de desarrollo.