Índice:

Automação residencial: toque um alarme e exiba no LCD quando a temperatura estiver acima do valor limite: 5 etapas
Automação residencial: toque um alarme e exiba no LCD quando a temperatura estiver acima do valor limite: 5 etapas

Vídeo: Automação residencial: toque um alarme e exiba no LCD quando a temperatura estiver acima do valor limite: 5 etapas

Vídeo: Automação residencial: toque um alarme e exiba no LCD quando a temperatura estiver acima do valor limite: 5 etapas
Vídeo: 3 в 1 ZigBee датчик температуры, влажности и освещения с LCD дисплеем 2024, Julho
Anonim
Automação residencial: toque um alarme e exiba no LCD quando a temperatura estiver acima do valor limite
Automação residencial: toque um alarme e exiba no LCD quando a temperatura estiver acima do valor limite

Este blog irá demonstrar como fazer um sistema de automação residencial que começará a soar um alarme sempre que a temperatura atingir mais do que o valor limite programado. Ele continuará exibindo a temperatura atual da sala no LCD e a ação necessária (Ex: Diminuir a temperatura) quando a temperatura atingir mais do que o valor limite. Neste tutorial, estou usando o sensor de temperatura AD22100 que é fabricado pela Analog Devices e AG-1005G Buzzer. AD22100 é um sensor de temperatura de saída de tensão com condicionamento de sinal

Etapa 1: peças

Você precisa dessas peças com você antes de começar este indestrutível para funcionar

1. Placa Arduino UNO

2. Display LCD (16x2)

3. Campainha - 2 pinos (AC-1005G)

4. Sensor de temperatura - 3 pinos (AD22100)

Etapa 2: conexão das diferentes partes com o Arduino UNO

Conexão LCD com placa Arduino UNO

Pino RS LCD (Pino 4) com Pino 7 da Placa Arduino

Pin de habilitação do LCD (pino 6) com o pino 8 da placa Arduino

Pin LCD D4 (pino 11) com pino 9 da placa Arduino

Pin D5 LCD (pino 12) com pino 10 da placa Arduino

Pin LCD D6 (pino 13) com pino 11 da placa Arduino

Pin LCD D7 (pino 14) com pino 12 da placa Arduino

Adicione um Pot 10 KΩ a + 5v (Pot Pin 1) e GND (Pot Pin 3), Conecte o pino do meio do potenciômetro (pino 2 do potenciômetro) ao pino V0 do LCD (pino 3).

Pino LCD VDD (pino 2) e pino LCD A (pino 15) com + 5v na placa Arduino.

Pin VSS LCD (pino 1) e pino K LCD (pino 16) com GND na placa Arduino.

Conexão do sensor de temperatura AD22100 com placa Arduino UNO

O pino 1 (V +) do AD22100 deve ser conectado a +5 v na placa Arduino.

O pino 2 (Vo) do AD22100 deve ser conectado ao pino A1 na placa Arduino.

Pino 3 (GND) de AD22100 deve ser conectado ao GND na placa Arduino

Conexão Buzzer (AC-1005G) com Placa Arduino UNO

A saída PWM do pino 6 da placa Arduino deve ser conectada a + ve entrada do Buzzer.

O GND da placa Arduino deve ser conectado com a entrada -ve do Buzzer

Etapa 3: Códigos Arduino

Compile e carregue na placa Arduino e observe a demonstração do sistema de automação residencial

// O programa começa aqui

int val;

int tempPin = A1;

campainha interna = 6;

#include LiquidCrystal lcd (7, 8, 9, 10, 11, 12);

void setup () {

// coloque seu código de configuração aqui, para ser executado uma vez:

lcd.begin (16, 2);

lcd.clear ();

Serial.begin (9600);

pinMode (campainha, OUTPUT);

}

void loop () {// coloque seu código principal aqui, para executar repetidamente:

val = analogRead (tempPin); // AD22100 está conectado no Pino A1

/*

* Para 25C, val vem como 900, o que significa

* 900 corresponde a 1,9375 v

* A função de transferência é (V + / 5) * (1,375 + 22,5 mv / degC * 25 degC), * Leia a folha de dados do AD22100

*/

float cel = ((((1,9375 / 900) * val) - 1,375) /22,5) * 1000;

float farh = (cel * 9) / 5 + 32;

Serial.print (val);

Serial.println ();

Serial.print (“TEMPRATURA =“);

Serial.print (cel); Serial.print (“* C”);

Serial.println ();

if (cel> 26) {

tom (campainha, 1000);

lcd.clear ();

lcd.print (“Temperatura acima do limite”);

lcd.setCursor (0, 1);

lcd.print (“Diminuir a temperatura”);

}

outro

{noTone (campainha);

lcd.clear ();

lcd.print (“Temp sob controle”);

lcd.setCursor (0, 1);

lcd.print (“Temp =“);

lcd.print (cel);

lcd.print (“degC”);

}

atraso (500);

}

// O programa termina aqui

Etapa 4: Compreendendo o programa em detalhes

Vou tentar explicar algumas seções do código.

Funções relacionadas à instrução If / else

Se a temperatura for maior que o valor limite, estou enviando um sinal para a campainha para soar um alarme e exibindo no LCD para diminuir a temperatura com a seção abaixo do código

if (cel> 26)

{tom (campainha, 1000);

lcd.clear ();

lcd.print (“Temperatura acima do limite”);

lcd.setCursor (0, 1);

lcd.print (“Diminuir a temperatura”);

}

Caso contrário, o envio do valor atual da temperatura para o LCD e a exibição dessa temperatura estão sob controle.

outro

{noTone (campainha);

lcd.clear ();

lcd.print (“Temp sob controle”);

lcd.setCursor (0, 1);

lcd.print (“Temp =“);

lcd.print (cel);

lcd.print (“degC”);

}

Funções relacionadas ao Buzzer

tone (buzzer, 1000) - esta função irá enviar um sinal de 1 khz para o pino denominado buzzer que é definido como pino 6 e o buzzer magnético está conectado no pino 6.noTone (buzzer) - irá parar de enviar sinal de 1 khz. Portanto, o toque irá parar

Funções relacionadas ao sensor de temperatura

A conversão do valor analógico da leitura de temp para o valor de graus C é feita usando uma função de transferência que pode ser encontrada na folha de dados AD22100 conforme escrito abaixo.

Vout = (V + / 5 V) × (1,375 V + 22,5 mV / ° C × TA) e o mesmo valor é impresso no visor LCD.

Etapa 5: Demonstração dos Instructables

Uma vez que o programa é compilado e carregado na placa Arduino UNO

deixe-nos tentar aumentar a temperatura detectada pelo sensor de temperatura AD22100 e desfrutar do sistema de Domótica.

Para aumentar a temperatura do sensor, estou tocando-o com um ferro de solda disponível no laboratório.

Você pode dar uma olhada na demonstração aqui..

Demonstração do sistema de automação residencial

Recomendado: