Tabla de contenido:

Monitor de temperatura y humedad - Arduino Mega + Ethernet W5100: 5 pasos
Monitor de temperatura y humedad - Arduino Mega + Ethernet W5100: 5 pasos

Video: Monitor de temperatura y humedad - Arduino Mega + Ethernet W5100: 5 pasos

Video: Monitor de temperatura y humedad - Arduino Mega + Ethernet W5100: 5 pasos
Video: 🌡️ Subiendo datos de temperatura y humedad a Ubidots con módulo ethernet y arduino 2024, Noviembre
Anonim
Monitor de temperatura y humedad - Arduino Mega + Ethernet W5100
Monitor de temperatura y humedad - Arduino Mega + Ethernet W5100

Módulo 1 - PLANO - hardware:

  • Arduino Mega 2560
  • Escudo Ethernet Wiznet W5100
  • Sensor de temperatura 8x DS18B20 en bus OneWire - dividido en 4 buses OneWire (2, 4, 1, 1)
  • 2x sensor digital de temperatura y humedad DHT22 (AM2302)
  • 1x sensor de temperatura y humedad SENSIRION SHT21 (Si7021)
  • 1x sensor de temperatura y humedad (y presión de aire) BOSCH BME280
  • Envía datos de todos los sensores a la vez en varios minutos (se puede modificar)

Módulo 2 - CALDERA - hardware:

  • Arduino Mega 2560
  • Escudo Ethernet Wiznet W5100
  • 16 sensores de temperatura DS18B20 en el bus OneWire, dividido en 7 buses OneWire (2, 2, 2, 2, 2, 2, 4)
  • Entrada digital 8x
  • Salida digital 8x - para solenoide / relé
  • Envía datos de todos los sensores a la vez en varios minutos (se puede modificar)
  • Lee los estados de las salidas individuales de la interfaz web, los aplica Envía los estados de las entradas digitales

Paso 1: Introducción

Introducción
Introducción
Introducción
Introducción
Introducción
Introducción

Hoy presentaré en detalle el último proyecto realizado, que es bastante complejo en términos de funcionalidad, cantidad de sensores usados, placas Arduino, buses de datos usados. El proyecto consta de dos módulos. Físicamente, cada módulo consta de un Arduino Mega 2560, un escudo Ethernet W5100 (compatible con R3) y los sensores que utiliza.

Cada módulo se comunica con la interfaz web en Internet mediante solicitudes HTTP POST, mediante las cuales el servidor web vende datos o solicita algunos datos, por ejemplo, mediante solicitud POST (solo módulo 2). La interfaz web se completa con un sistema de inicio de sesión, mientras que toda la familia puede registrarse en el sistema, cada uno con su nombre y contraseña. Por lo tanto, es una aplicación multiusuario donde cada miembro de la familia tiene una visión general de ambos módulos y puede realizar diferentes acciones: configurar la temperatura de referencia, controlar el termómetro, etc. La interfaz web está programada en PHP, los datos se almacenan en la base de datos MySQL. Cada uno de los módulos tiene una tabla separada en la base de datos para los datos. Considere los módulos individuales con más detalle.

Paso 2: Módulo 1 - PLANO

Módulo 1 - PISO
Módulo 1 - PISO
Módulo 1 - PISO
Módulo 1 - PISO

Todo el módulo 1- FLAT sirve solo como monitor de temperatura en habitaciones individuales, no tiene otra función. Los sensores DHT22 se utilizaron a larga distancia utilizando una resistencia pullup de 10 kohmios adecuada para registrar la humedad en los baños. Dado que BME280 y SHT21 se comunican a través del bus I2C y esto está considerablemente limitado en términos de longitudes de controladores de bus, los sensores se utilizan cerca de Arduino en las habitaciones.

Los sensores de temperatura DS18B20 se han dividido en 4 buses, ya que se utilizan dos sensores externos, lo que facilita conectarlos a salidas independientes de Arduino y, en caso de caída del sensor, es más fácil de reemplazar ya que no paraliza la funcionalidad. del sistema.

Por ejemplo, en el caso de uno de estos buses OneWire, en el que se indexan 4 sensores. El índice está vinculado con la dirección física de los termómetros, por lo que si se cambia uno de los sensores, el nuevo sensor puede aparecer en el índice 0 - inicial, o incluso 2, 3 o el último. Así, al reducir la cantidad de sensores en los autobuses, podemos evitar tal complicación que puede ocurrir cuando se reemplaza el sensor.

Paso 3: Módulo 2 - CALDERA

Módulo 2 - CALDERA
Módulo 2 - CALDERA
Módulo 2 - CALDERA
Módulo 2 - CALDERA
Módulo 2 - CALDERA
Módulo 2 - CALDERA

Además de la función de monitor, el módulo 2 - CALDERA también tiene un papel más importante, a saber, el control de solenoides o relés para el control de válvulas de radiador. El módulo funciona independientemente de la calefacción doméstica. El módulo no enciende la calefacción o la caldera. El módulo solo se encarga de abrir, cerrar la válvula del radiador, si la temperatura ambiente es más baja / más alta que la configurada, así se llama. temperatura de referencia. A cada habitación donde se controla la válvula del radiador se le puede asignar un termómetro específico del módulo 2. Además de esto - modo automático, también hay un modo manual donde la válvula se puede abrir / cerrar manualmente desde la interfaz web indefinidamente - duro. Las entradas digitales se pueden usar para verificar que el solenoide / relé / válvula se haya abierto / cerrado a pedido con Arduina: la capacidad de comparar si la salida es igual a la entrada.

Paso 4: ¿Qué ofrece la interfaz web?

¿Qué ofrece la interfaz web?
¿Qué ofrece la interfaz web?
¿Qué ofrece la interfaz web?
¿Qué ofrece la interfaz web?

Para ambos módulos también hay una representación gráfica de un gráfico de líneas para el desarrollo de variables individuales: temperatura, humedad en 24 horas, 7 días. La interfaz web también ofrece visualización del valor promedio máximo / mínimo en 24 horas, 7 días para cada termómetro / higrómetro. En el módulo 1 se consideró inicialmente un par de sensores SHT21, pero como no tienen posibilidad de cambiar la dirección I2C, sería necesario utilizar un multiplexor para la comunicación de un bus desde dos sensores con la misma dirección I2C. En caso de datos del sensor defectuosos, el nombre del sensor se almacena en un registro que el administrador del sistema puede abrir en cualquier momento para reparar el bus OneWire y reemplazar el sensor defectuoso, por ejemplo.

Se ha implementado Watchdog en los programas Arduino, que en caso de inicialización defectuosa, "congelación", otro error reinicia de forma segura y al inicio del programa apaga todas las salidas hasta que se establece la conexión a la interfaz web, donde se sincroniza completamente en términos de los productos, que aplica posteriormente.

Puede encontrar más proyectos en: https://arduino.php5.sk?lang=en Done para obtener más ejemplos:

Recomendado: