Tabla de contenido:
Video: Termostato inteligente para el hogar: 4 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:42
Nuestro termostato inteligente para el hogar es un programa que puede ahorrarle dinero a un hogar automáticamente en las facturas de servicios públicos según las preferencias de la persona.
Paso 1: descripción general
El termostato de casa inteligente utiliza un sensor de temperatura para obtener la temperatura de la casa. Esta lectura de temperatura se coloca en el programa donde decidirá si el sistema de aire acondicionado necesita calentar o enfriar la casa según la temperatura deseada por el propietario.
Hay dos modos para el termostato: manual y automático. El modo manual que ajustará la temperatura de la casa a la temperatura deseada por el usuario. Y el modo automático del termostato cambiará automáticamente la temperatura del hogar a temperaturas preestablecidas por el usuario. Habrá dos configuraciones de temperatura para el modo automático: temperatura de salida y temperatura actual. La temperatura de salida se utiliza para ahorrar energía cambiando el termostato a una temperatura de ahorro de energía preestablecida cuando el usuario no está en casa. La temperatura actual se utilizará cuando el usuario esté en casa y desee una temperatura agradable. Cuando está en el modo automático del termostato, los sensores de movimiento buscan activamente movimiento para determinar si alguien está en casa o no. Según su lectura, la temperatura del hogar se establecerá en la temperatura de salida o en la temperatura actual.
Paso 2: Piezas y materiales
(15) Cables de puente
(4) Resistencias de 220 ohmios
(1) Resistencia de 10 K ohmios
(1) Sensor de temperatura
(1) Foto resistencia
(1) Caja de cambios DAGU Mini DC
(1) Diodo
(1) Transistor
(1) Fotorresistor
(1) Tablero de pruebas
(1) Arduino MKR
Paso 3: circuito
Figura 1 = Imagen grande izquierda
Figura 2 = Arriba a la derecha
Figura 3 = Medio a la derecha
Figura 4 = Abajo a la derecha
Figura 1
Usando el diagrama anterior, conectamos cada uno de nuestros tres LED. Separamos cada LED ya que estábamos trabajando con una placa de pan grande. Para tablas de pan más pequeñas, puede ser necesario acercar los LED. Además, no es necesario alimentar la placa de pruebas ya que los LED consumen muy poca energía. No usamos la conexión de 5V en la placa de pruebas para los LED. Cada conexión de los LED a nuestro Arduino se realizó como el cable verde arriba. Nuestros LED rojo, azul y verde están conectados a los pines digitales 8, 9 y 10 respectivamente, designados con un cable rojo, azul y verde en nuestra imagen.
Figura 2
El diagrama de arriba se usó para cablear el fotorresistor. Hicimos algunas correcciones por nuestra cuenta; sin embargo, los conceptos siguen siendo los mismos. El fotorresistor debe estar conectado a un pin analógico que tenemos en el pin A1. Asegúrese de utilizar una resistencia de 10K ohmios para la resistencia más cercana a la fotorresistencia.
figura 3
Este es el diagrama utilizado para cablear el sensor de temperatura. Asegúrese de no confundir el transistor utilizado aquí con el sensor de temperatura. Parecen casi idénticos. Es probable que el sensor de temperatura tenga TMP o algún otro script escrito en el lado plano del sensor. El cableado aquí es muy simple, nuestro sensor de temperatura está conectado al pin analógico A0 con un cable blanco.
Figura 4
La imagen de arriba se usó para cablear la caja de cambios DAGU Mini DC. El cable verde conectado a la caja de cambios es en realidad el cable rojo conectado a él en nuestra imagen. La caja de cambios está conectada al pin digital 11 con un cable naranja en nuestro modelo. Asegúrese de no confundir el transistor utilizado aquí con el sensor de temperatura. Parecen casi idénticos. Es probable que el sensor de temperatura tenga TMP o algún otro script escrito en el lado plano del sensor. Debe usar el transistor aquí y no el sensor de temperatura.
Paso 4: Código Arduino
Aquí se explican las partes más importantes del código. El código no funcionará solo con lo que se proporciona aquí. Para obtener el código de trabajo completo, hay un enlace en la parte inferior de la página.
Al crear el código del termostato programable, una de las primeras cosas que debe hacer es configurar los sensores y crear un bucle for que constantemente obtendrá lecturas de temperatura del sensor de temperatura.
Configuración del sensor de temperatura y LED:
tempPin = 'A0';% define una función anónima que convierte el voltaje en temperatura tempCfromVolts = @ (voltios) (voltios-0.5) * 100; sampleDuration = 5; %segundos. ¿Cuánto tiempo queremos muestrear para sampleInterval = 1; % Cuántos segundos entre lecturas de temperatura% configurado vector de tiempos de muestreo sampleTimes = 0: samplingInterval: sampleDuration; % calcula el número de muestras basándose en la duración y el intervalo numSamples = length (sampleTimes); % preasignar variables temporales y variables para el número de lecturas que almacenará tempC = zeros (numSamples, 1); tempF = tempC; % Usaremos un bucle for esta vez para tomar un número predeterminado de lecturas de% de temperatura
El bucle for:
para index = 1: numSamples% lee el voltaje en tempPin y lo almacena en voltios variables voltios = readVoltage (a, tempPin); tempC (índice) = -1 * tempCfromVolts (voltios + 0,3); tempF (índice) = tempC (índice) * (9/5) +32; % Muestra la salida formateada que comunica la lectura de temperatura actual fprintf ('La temperatura en% d segundos es% 5.2f C o% 5.2f F. / n',… sampleTimes (índice), tempC (índice), tempF (índice)); % tenga en cuenta que esta salida de pantalla solo será visible de una vez después de que el código haya terminado de ejecutarse, a menos que copie / pegue el código en un archivo mfile de secuencia de comandos simple. pause (sampleInterval)% de retraso hasta el siguiente final de la muestra
A continuación, creamos nuestro menú de usuario para que el usuario decida si pone el termostato en modo Manual o Automático. También creamos un código de error si el usuario no selecciona ninguna de las dos opciones.
El menú del modo Manual requiere que el usuario establezca un número para la temperatura del termostato, luego calentará la casa, enfriará la casa o estará inactiva según las lecturas. Para configurar esta parte del código, usó lecturas de temperatura del sensor de temperatura y creó un código que enfriará la casa cuando la lectura de temperatura sea más alta que la temperatura establecida, y calentará la casa cuando la lectura de temperatura sea más baja que la temperatura establecida.
Una vez que tenga las lecturas de temperatura, puede crear el código que le dirá al termostato que enfríe la casa cuando la lectura de temperatura sea más alta que la temperatura establecida y que caliente la casa cuando la lectura de temperatura sea más baja que la temperatura establecida. Para el prototipo, la luz azul se enciende cuando el termostato debería enfriar y la luz roja se enciende cuando el termostato debería calentar.
Configuración del menú:
opciones = {'Automático', 'Manual'}; imode = menú ('Modo', opciones) if imode> 0 h = msgbox (['Elegiste' opciones {imode}]); else h = warndlg ('Cerró el menú sin hacer una elección') end waitfor (h);
El modo manual requiere que el usuario ingrese una temperatura para el termostato, luego, basándose en las lecturas del sensor de temperatura, comenzará a enfriar la casa o calentar la casa. Si la lectura del sensor de temperatura es más alta que la temperatura establecida, comenzará a enfriar la casa. Si la lectura del sensor de temperatura es más baja que la temperatura establecida, calentará la casa.
Se iniciará el modo manual:
if imode == 2 dlg_prompts = {'¿Qué temperatura prefiere?'}; dlg_title = 'Temperatura'; dlg_defaults = {'68'}; opts. Resize = 'encendido'; dlg_ans = inputdlg (dlg_prompts, dlg_title, 1, dlg_defaults, opts); if isempty (dlg_ans) h = warndlg ('Cancelaste el comando inputdlg'); else temp_manual = str2double (dlg_ans {1})% [Agregar diapositiva de configuración de regulación de temperatura a continuación] end
Dentro de la declaración if para el modo manual, debe escribir la interfaz del menú para que el usuario elija la temperatura deseada en el hogar y luego implementar una declaración while que regule la temperatura del hogar.
Configuración de regulación de temperatura:
while temp_manual <tempF writeDigitalPin (a, 'D9', 1) writeDigitalPin (a, 'D11', 1); end while temp_manual> tempF writeDigitalPin (a, 'D8', 1) writeDigitalPin (a, 'D11', 1); fin
El modo automático requiere más entradas que el modo manual. Después de ingresar al modo Automático, el usuario establecerá una temperatura Normal y Ausente para su termostato, después de seleccionarlas, según el modo en que se encuentre el termostato, volverá al modo de regulación de temperatura.
Configure el modo automático:
elseif imode == 1 dlg_prompts = {'Normal', 'Ausente'}; dlg_title = 'Configuración de temperatura'; dlg_defaults = {'68', '64'}; opts. Resize = 'encendido'; dlg_ans = inputdlg (dlg_prompts, dlg_title, 1, dlg_defaults, opts); if isempty (dlg_ans) h = warndlg ('Cancelaste el comando inputdlg'); else temp_normal = str2double (dlg_ans {1}) temp_away = str2double (dlg_ans {2}) end waitfor (h); % [Agregar paso de detector de movimiento a continuación]
También necesitamos configurar el sensor de movimiento para la configuración del modo automático. Cuando el detector de movimiento detecta movimiento, mantendrá la temperatura en la configuración de temperatura actual; de lo contrario, se establecerá en la configuración de temperatura de salida.
Run_Motion_Detector (a, inf) while lightStr == 0 temp = temp_away while temp tempF writeDigitalPin (a, 'D6', 1) cualquier pin de luz roja también es motor para el ventilador writeDigitalPin (a, 'D9', 1); end end while lightStr == 1 temp = temp_normal writeDigitalPin (a, 'D6', 1)% de cambio a cualquier pin en el que se encuentre la luz normal mientras temp tempF writeDigitalPin (a, 'D6', 1) cualquier pin de luz roja también motor para ventilador writeDigitalPin (a, 'D9', 1); fin fin
El código completo se puede encontrar aquí.
Recomendado:
SmartBox - Sistema de hogar inteligente para su habitación: 6 pasos
SmartBox - Sistema de hogar inteligente para su habitación: ¡Hola a todos! En este instructivo, les explicaré cómo hacer un sistema de habitación inteligente. Este sistema contiene dos dispositivos: un dispositivo general con sensor de humedad y sensor de temperatura que mide la calidad de vida actual en su habitación. Tu w
Complemento completo para el hogar inteligente: 8 pasos
El Complemento Completo de Hogar Inteligente: Mi proyecto anterior " El Hogar Inteligente Completo " se está ejecutando con éxito durante casi 5 años sin ningún problema. Ahora que decidí agregar una retroalimentación al mismo sin ninguna modificación al circuito actual y al esquema. Así que este complemento pro
Temporizador inteligente ESP8266-01 IoT para automatización del hogar: 9 pasos (con imágenes)
ESP8266-01 Temporizador inteligente de IoT para automatización del hogar: ACTUALIZACIONES 30/09/2018: Firmware actualizado a la versión 1.09. Ahora con Sonoff Basic Support01 / 10/2018: Versión de prueba de firmware 1.10 disponible para probar en ESP8266-01 con problemas Con las nuevas palabras de moda como Internet de las cosas (IoT) y Automatización del hogar, decidí
Iluminación inteligente para el hogar: 6 pasos
Iluminación inteligente para el hogar: Hola chicos, hoy vamos a crear un proyecto en el que controlamos una bombilla en función de la iluminación circundante. Vamos a utilizar PICO y una resistencia dependiente de la luz (LDR), para detectar la luz y encender o apagar una bombilla dependiendo de cómo inte
Sistema IoT para el hogar inteligente: 8 pasos
Sistema de hogar inteligente IoT: este es el sistema de hogar inteligente Keefe y Jons en iot