Índice:
- Etapa 1: Para começar: materiais
- Etapa 2: Etapa 2: Abordando o problema a ser resolvido
- Etapa 3: Etapa 3: Configurando a GUI e o fluxo de código básico
- Etapa 4: Etapa 3: Configuração do sistema de termostato
- Etapa 5: Etapa 4: Configurando o sistema de portas
- Etapa 6: Etapa 6: Configuração do sistema de holofotes
- Etapa 7: Conclusão
Vídeo: Arduino Smart Home System: 7 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:37
Neste Instructable, mostraremos como criar seu próprio sistema de casa inteligente com o App Designer do MATLAB com uma placa Sparkfun Red. Este Instructable pode ser usado para ajudar a obter uma compreensão básica do App Designer do MATLAB, bem como usar um fotorresistor, servomotor e um sensor de movimento PIR.
Etapa 1: Para começar: materiais
Este projeto requer os seguintes materiais:
- Arduino Uno (para este projeto, usamos uma placa Sparkfun Red)
- Um fotorresistor
- Um minisservo motor
- Um servo motor contínuo
- Um sensor de movimento PIR
- Um sensor de temperatura
- 2 LEDs
- Fios e resistores conforme necessário
Etapa 2: Etapa 2: Abordando o problema a ser resolvido
O principal objetivo deste projeto era criar um sistema doméstico inteligente fácil de usar, codificando uma placa Arduino Uno com MATLAB. Inicialmente, pensamos em trabalhar apenas com um sensor de temperatura e umidade; no entanto, se ficássemos com esses dois sensores, nosso sistema de casa inteligente não seria facilmente comercializável para o público em geral. Decidimos que queríamos criar um sistema geral de energia residencial inteligente que funcionasse como um termostato inteligente e sistema de segurança. Por fim, queríamos trabalhar com o AppDesigner do MATLAB para que o usuário pudesse alterar a casa inteligente com facilidade.
Etapa 3: Etapa 3: Configurando a GUI e o fluxo de código básico
Para começar, você precisará abrir o AppDesigner do MATLABs e colocar o seguinte:
Dois campos de edição numéricos para uma entrada de limite quente e fria
Um botão para destrancar a porta
E quatro lâmpadas indicadoras para a lareira, porta, ventilador e holofote.
Duas etiquetas para se comunicar com o usuário.
Para este projeto, achamos mais fácil trabalhar com variáveis globais e a função de inicialização dentro do designer. Você precisará dessas variáveis na função de inicialização:
global a
a = arduino ('COM3', 'uno', 'Bibliotecas', 'Servo'); global s global p global hotUI global coldUI global desbloquear temp global global curr_temp global int_light
No momento, só temos uma atribuição para a variável a para que seu computador possa ler o arduino. COM3 pode ser diferente dependendo de qual porta seu computador pode estar usando.
Quando você executa o código, ele começa na função de inicialização criando as variáveis globais e calibrando o sistema. No final desta função, haverá uma função de timer que chama uma propriedade que chamamos de Timer. Dentro dessa propriedade Timer, colocamos o código que executa o sistema inicial para que o cronômetro não execute novamente o código de calibração.
Nota: Não demos nenhuma instrução de fiação para o sistema. Referimo-nos ao manual que acompanha a placa SparkFun Red.
Etapa 4: Etapa 3: Configuração do sistema de termostato
A função do termostato funciona da seguinte maneira:
O usuário irá inserir a temperatura que considera ser muito quente ou muito fria. Assim que o termômetro fizer uma leitura, se a casa estiver muito fria, a "lareira" (um LED vermelho) acenderá e aquecerá a casa. Se a casa estiver muito quente, um "ventilador" (servo motor contínuo) ligará o resfriamento da casa.
Para codificar o sistema do termostato:
Começaremos na função de inicialização para exibir a temperatura atual e permitir que o usuário insira seus limites de frio e calor.
p = 'A0'% pino fotorresistor
volt = readVoltage (a, temp); celc = (volt-0,5). * 100; curr_temp = celc * 9/5 + 32; app. Label_4. Text = num2str (curr_temp); % O número da etiqueta pode alterar a pausa (10); % Pode querer mudar !!!!!
Em seguida, concluiremos o sistema de termostato dentro da propriedade Timer.
global curr_temp
coldUI global global uma hotUI global se curr_temp hotUI app. FanStateLamp. Color = [0,47 0,67 0,19]; % Torna a lâmpada da GUI verde writePWMDutyCycle (a, 'D11',.9)% As próximas três linhas de código executam a pausa do ventilador servo (10) writePWMDutyCycle (a, 'D11',.0) else app. FireplaceStateLamp. Color = [0,90 0,90 0,90]; % Isso desliga todas as lâmpadas da GUI e o app da lareira. FanStateLamp. Color = [0.9 0.9 0.9]; writeDigitalPin (a, 'D13', 0); fim
Etapa 5: Etapa 4: Configurando o sistema de portas
A função da porta funciona da seguinte forma:
Quando você executa o código MATLAB pela primeira vez, o aplicativo pede que você abra a porta para que o fotorresistor possa fazer uma leitura de luz inicial. Depois de concluído, o cronômetro será ativado e o fotorresistor fará leituras de luz secundária. Se a leitura da luz secundária for mais clara do que a inicial, um servo motor irá travar a porta. Se o usuário quiser a porta destrancada, ele pode pressionar um botão no aplicativo que irá destrancar a porta.
Para configurar o servo motor e fotorresistor:
Para codificar o sistema da porta:
Começaremos na função de inicialização para fazer as leituras de luz iniciais.
s = servo (a, 'D9')% O pino pode mudar com base na fiação
app. Label_4. Text = 'Abra a porta para calibrar o sistema'; pausa (15); % Isso dá tempo para o usuário abrir a porta int_light = readVoltage (a, p); app. Label_4. Text = 'Você pode remover seu dedo';
A seguir, iremos completar o código dentro da propriedade Timer
desbloqueio global
global int_light global s global a% Obtenha uma leitura de luz atual para comparar curr_light = readVoltage (a, p); % - Bloquear porta - se int_light <curr_light writePosition (s, 1)% As posições do servo podem diferir por pausa do motor (0,5); app. DoorStateLamp. Color = [0,47 0,67 0,19]; fim% - Destravar porta - se destravar == 1234 pausa (0,5); writePosition (s,.52) app. DoorStateLamp. Color = [0.85 0.33 0.10]; fim
Por fim, criaremos o retorno de chamada do botão de desbloqueio. Depois que o usuário pressiona o botão de desbloqueio, o desbloqueio da variável global receberá um número que pode completar a instrução if final na propriedade Timer.
desbloqueio global
desbloquear = 1234;
Etapa 6: Etapa 6: Configuração do sistema de holofotes
A função do holofote funciona da seguinte forma:
Ao iniciar o código MATLAB, o sensor de movimento PIR começará a detectar movimento. Assim que detectar algum tipo de movimento, ele cortará o sinal de energia. Assim que o sinal for cortado, um holofote acenderá do lado de fora da casa.
Para configurar o sistema de holofotes:
Para codificar o sistema de holofotes:
Desta vez, podemos pular para a propriedade Timer porque não precisamos escrever nenhuma variável extra.
humano_detectado = readDigitalPin (a, 'D2'); % Pin pode mudar com base na configuração se human_detected == 0 writeDigitalPin (a, 'D7', 1)% Pin pode mudar app. FloodLightStateLamp. Color = [0,47 0,67 0,19]; elseif human_detected == 1 app. FloodLightStateLamp. Color = [0.9 0.9 0.9]; fim de writeDigitalPin (a, 'D7', 0)
Etapa 7: Conclusão
Agora que você tem um rascunho de sua GUI com o App Designer e seu código para o Arduino, está pronto para fazer suas próprias edições ou conectar seu Arduino e pronto!
Recomendado:
Alexa Smart Home System usando o módulo de relé NodeMCU: 10 etapas
Alexa Smart Home System usando o módulo de relé NodeMCU: neste projeto de IoT, fiz o sistema Alexa Smart Home Automation usando o NodeMCU ESP8266 & Módulo de relé. Você pode controlar facilmente a luz, o ventilador e outros eletrodomésticos com o comando de voz. Para conectar o alto-falante inteligente Echo Dot ao
EF 230: Home System 3000 Instrutível: 4 etapas
EF 230: Home System 3000 Instrutível: O Home System 3000 é um dispositivo que usa um Arduino, um sensor de temperatura, uma campainha piezoelétrica, um detector óptico / fototransistor e um servo para exibir maneiras de melhorar a eficiência energética da casa
Sonoff B1 Firmware Home Automation Openhab Google Home: 3 etapas
Sonoff B1 Firmware Home Automation Openhab Google Home: Eu realmente gosto do firmware Tasmota para meus interruptores Sonoff. Mas a não estava muito feliz com o firmware Tasmota no meu Sonoff-B1. Não consegui integrá-lo totalmente ao meu Openhab e controlá-lo por meio do Google Home. Portanto, escrevi minha própria empresa
IoT Smart Home System: 8 etapas
IoT Smart Home System: Este é o Keefe e Jons Smart Home System no iot
GO-4 Smart Home Arduino Bot: 7 etapas (com imagens)
GO-4 Smart Home Arduino Bot: Neste projeto, vou mostrar a você como construir um Smart Home Bot usando a tecnologia IOT para controlar seus eletrodomésticos remotamente através da Internet. Mas antes de começarmos, vamos falar sobre essa técnica que usamos o que fazer … O que é IOT?