Índice:
Vídeo: Termostato doméstico inteligente: 4 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:38
Nosso termostato doméstico inteligente é um programa que pode economizar automaticamente o dinheiro de uma família em contas de serviços públicos com base nas preferências de uma pessoa.
Etapa 1: Visão geral
O Smart Home Thermostat usa um sensor de temperatura para medir a temperatura da casa. Esta leitura de temperatura é inserida no programa onde decidirá se o sistema de ar condicionado precisa aquecer ou resfriar a casa com base na temperatura desejada do proprietário.
Existem dois modos para o termostato: manual e automático. O modo manual que irá ajustar a temperatura da casa para qualquer temperatura desejada definida pelo usuário. E o modo automático do termostato mudará automaticamente a temperatura da casa para temperaturas predefinidas pelo usuário. Haverá duas configurações de temperatura para o modo automático: temperatura externa e temperatura atual. A temperatura externa é usada para economizar energia alterando o termostato para uma temperatura predefinida de economia de energia sempre que o usuário não estiver em casa. A temperatura atual será usada quando o usuário estiver em casa e desejar uma temperatura confortável. Quando no modo automático do termostato, os sensores de movimento procuram ativamente por movimento para determinar se alguém está em casa ou não. Com base em sua leitura, a temperatura doméstica será definida para a temperatura ambiente ou para a temperatura atual.
Etapa 2: peças e materiais
(15) Fios de ligação
(4) Resistores de 220 Ohms
(1) Resistor de 10K Ohm
(1) Sensor de temperatura
(1) Resistor de foto
(1) DAGU Mini DC Gearbox
(1) Diodo
(1) Transistor
(1) Fotorresistor
(1) Placa de ensaio
(1) Arduino MKR
Etapa 3: circuito
Figura 1 = imagem grande à esquerda
Figura 2 = Cima direita
Figura 3 = Meio Direito
Figura 4 = Inferior Direito
figura 1
Usando o diagrama acima, conectamos cada um de nossos três LEDs. Espaçamos cada LED, pois estávamos trabalhando com uma grande placa de pão. Para placas de pão menores, pode ser necessário colocar os LEDs mais próximos. Além disso, não é necessário alimentar a placa de ensaio, pois os LEDs consomem muito pouca energia. Não usamos a conexão de 5 V na placa de ensaio para os LEDs. Cada conexão dos LEDs ao nosso Arduino foi feita como o fio verde acima. Nossos LEDs vermelho, azul e verde são conectados aos pinos digitais 8, 9 e 10 respectivamente, designados com um fio vermelho, azul e verde em nossa imagem.
Figura 2
O diagrama acima foi usado para conectar o fotorresistor. Fizemos algumas correções por conta própria; no entanto, os conceitos ainda são os mesmos. O fotorresistor deve ser conectado a um pino analógico que temos no pino A1. Certifique-se de usar um resistor de 10K ohm para o resistor mais próximo do fotorresistor.
Figura 3
Este é o diagrama usado para conectar o sensor de temperatura. Certifique-se de não confundir o transistor usado aqui com o sensor de temperatura. Eles parecem quase idênticos. O sensor de temperatura provavelmente terá TMP ou algum outro script escrito no lado plano do sensor. A fiação aqui é muito simples, nosso sensor de temperatura é conectado ao pino analógico A0 com um fio branco.
Figura 4
A imagem acima foi usada para conectar a caixa de engrenagens DAGU Mini DC. O fio verde conectado à caixa de engrenagens é na verdade o fio vermelho conectado a ela em nossa foto. A caixa de engrenagens é conectada ao pino digital 11 com um fio laranja em nosso modelo. Certifique-se de não confundir o transistor usado aqui com o sensor de temperatura. Eles parecem quase idênticos. O sensor de temperatura provavelmente terá TMP ou algum outro script escrito no lado plano do sensor. Você deve usar o transistor aqui e não o sensor de temperatura.
Etapa 4: Código Arduino
Aqui, as partes mais importantes do código são explicadas. O código não funcionará apenas com o que é fornecido aqui. Para obter o código de funcionamento completo, há um link na parte inferior da página.
Ao criar o código do termostato programável, uma das primeiras coisas que você faz é configurar os sensores e criar um loop for que obterá constantemente leituras de temperatura do sensor de temperatura.
Configurando o sensor de temperatura e LED:
tempPin = 'A0';% define a função anônima que converte a tensão em temperatura tempCfromVolts = @ (volts) (volts-0,5) * 100; amostragemDuração = 5; % segundos. Por quanto tempo queremos amostrar para samplingInterval = 1; % Quantos segundos entre as leituras de temperatura% vetor definido de tempos de amostragem samplingTimes = 0: samplingInterval: samplingDuration; % calcula o número de amostras com base na duração e no intervalo numSamples = length (samplingTimes); % pré-alocar variáveis temporárias e variáveis para o número de leituras que armazenará tempC = zeros (numSamples, 1); tempF = tempC; % Usaremos um loop for desta vez para fazer um número pré-determinado de% leituras de temperatura
O loop for:
para índice = 1: numSamples% lê a tensão em tempPin e armazena volts volts = readVoltage (a, tempPin); tempC (índice) = -1 * tempCdeVolts (volts + 0,3); tempF (índice) = tempC (índice) * (9/5) +32; % Display formatado de saída comunicando a leitura de temperatura atual fprintf ('Temperatura em% d segundos é% 5,2f C ou% 5,2f F. / n',… samplingTimes (índice), tempC (índice), tempF (índice)); % note que esta saída de exibição só se tornará visível de uma vez depois que a execução do código estiver%% concluída, a menos que você copie / cole o código em um arquivo mfile de script simples. pause (samplingInterval)% atraso até o próximo final de amostra
A seguir, criamos nosso menu de usuário para que o usuário decida se deseja colocar o termostato no modo manual ou automático. Também criamos um código de erro se o usuário não selecionar nenhuma das duas opções.
O menu do modo Manual requer que o usuário defina um número para a temperatura do termostato e, em seguida, ele aquecerá, resfriará ou ficará ocioso com base nas leituras. Para configurar esta parte do código, você usou leituras de temperatura do sensor de temperatura e criou um código que resfriará a casa quando a leitura de temperatura for superior à temperatura definida e aquecerá a casa quando a leitura de temperatura for inferior à temperatura definida.
Depois de obter as leituras de temperatura, você pode criar o código que dirá ao termostato para resfriar a casa quando a leitura de temperatura for superior à temperatura definida e aquecer a casa quando a leitura de temperatura for inferior à temperatura definida. Para o protótipo, a luz azul acende quando o termostato deve esfriar e a luz vermelha acende quando o termostato deve aquecer.
Configuração do menu:
escolhas = {'Automático', 'Manual'}; imode = menu ('Modo', escolhas) se imode> 0 h = msgbox (['Você escolheu' escolhas {imode}]); else h = warndlg ('Você fechou o menu sem fazer uma escolha') end waitfor (h);
O modo Manual requer que o usuário insira uma temperatura para o termostato e, em seguida, com base nas leituras do sensor de temperatura, ele começará a resfriar ou aquecer a casa. Se a leitura do sensor de temperatura for superior à temperatura definida, ele começará a resfriar a casa. Se a leitura do sensor de temperatura for inferior à temperatura definida, ele aquecerá a casa.
O modo manual irá iniciar:
if imode == 2 dlg_prompts = {'Qual temperatura você prefere?'}; dlg_title = 'Temperatura'; dlg_defaults = {'68'}; opts. Resize = 'ligado'; dlg_ans = inputdlg (dlg_prompts, dlg_title, 1, dlg_defaults, opts); if isempty (dlg_ans) h = warndlg ('Você cancelou o comando inputdlg'); else temp_manual = str2double (dlg_ans {1})% [Adicionar slide de configuração de regulação de temperatura abaixo] end
Dentro da instrução if para o modo manual, você precisa escrever a interface do menu para o usuário escolher a temperatura doméstica desejada e, em seguida, implementar uma instrução while que regulará a temperatura doméstica.
Configuração do regulamento de temperatura:
enquanto temp_manual <tempF writeDigitalPin (a, 'D9', 1) writeDigitalPin (a, 'D11', 1); terminar enquanto temp_manual> tempF writeDigitalPin (a, 'D8', 1) writeDigitalPin (a, 'D11', 1); fim
O modo automático requer mais entradas do que o modo manual. Depois de entrar no modo Automático, o usuário irá definir uma temperatura Normal e Ausente para seu termostato. Depois de selecioná-los, com base no modo em que o termostato está, ele voltará para o modo de regulação de temperatura
Configure o modo automático:
elseif imode == 1 dlg_prompts = {'Normal', 'Ausente'}; dlg_title = 'Configurações de temperatura'; dlg_defaults = {'68', '64'}; opts. Resize = 'ligado'; dlg_ans = inputdlg (dlg_prompts, dlg_title, 1, dlg_defaults, opts); if isempty (dlg_ans) h = warndlg ('Você cancelou o comando inputdlg'); senão temp_normal = str2double (dlg_ans {1}) temp_away = str2double (dlg_ans {2}) end waitfor (h); % [Adicionar etapa do detector de movimento abaixo]
Também precisamos configurar o sensor de movimento para as configurações do modo Automático. Quando o detector de movimento detecta movimento, ele manterá a temperatura na configuração de temperatura atual, caso contrário, ele será definido como a configuração de temperatura externa.
Run_Motion_Detector (a, inf) while lightStr == 0 temp = temp_away while temp tempF writeDigitalPin (a, 'D6', 1) qualquer pino de luz vermelha está em também motor para fan writeDigitalPin (a, 'D9', 1); end end while lightStr == 1 temp = temp_normal writeDigitalPin (a, 'D6', 1)% muda para qualquer pino em que a luz normal está enquanto temp tempF writeDigitalPin (a, 'D6', 1) qualquer pino de luz vermelha também motor para ventilador writeDigitalPin (a, 'D9', 1); fim fim
O código completo pode ser encontrado aqui.
Recomendado:
Termostato inteligente ESP8266: 6 etapas (com fotos)
Smart Thermostat ESP8266: Bienvenue sur ce nouvel article. On se retrouve aujourd'hui pour un projet that j'ai réalisé durant tout ce temps libre que m'a offert le confinement. Ce projet m'a été proposé par mon père, en effet il vient de déménager dans une vieille maison et l
Despertador inteligente: um despertador inteligente feito com Raspberry Pi: 10 etapas (com imagens)
Despertador inteligente: um despertador inteligente feito com Raspberry Pi: Você sempre quis um relógio inteligente? Se sim, esta é a solução para você! Fiz o Smart Alarm Clock, é um relógio que você pode alterar a hora do alarme de acordo com o site. Quando o alarme disparar, haverá um som (campainha) e 2 luzes
Campainha inteligente para assistente doméstico: 4 etapas
Smart Doorbell for HomeAssistant: Então, eu queria uma campainha com os seguintes recursos: Vídeo da porta Áudio bidirecional Dois botões Integração com tablet montado na parede mostrando HomeAssistant UISome opções vieram como Doorbird (caro e eles não têm calli de áudio bidirecional
HestiaPi Touch - Abrir termostato inteligente: 9 etapas (com imagens)
HestiaPi Touch - Open Smart Thermostat: Sobre o HestiaPi TouchHestiaPi Touch é um termostato inteligente de código aberto para sua casa. Todos os arquivos digitais e informações estão disponíveis abaixo e em nosso site principal. Com ele, você pode monitorar a temperatura, umidade relativa e atmosfera da sua casa
Sistema doméstico inteligente barato e fácil: 7 etapas
Sistema doméstico inteligente barato e fácil: Olá, sou Ed. Tenho 15 anos e sou apaixonado por computação, programação e engenharia elétrica. Desde muito jovem que moro na casa dos meus pais, este projecto começou quando decidi mudar para o sótão / sótão, em processo de desig