Páginas

Arduino - DHT22 - LM35 - LDR - PIR Motion - Editable Switch

                                                                           

Google Play: https://play.google.com/store/apps/details?id=appinventor.ai_antoniosergiosouzaalmeida.Arduino_DHT22_LM35_LDR_PIR_Motion_Editable_Switch

Youtube: https://www.youtube.com/watch?v=_Ahc7BELhNk&t=10s


Veja neste blog:

Programa Arduino;
 Lista de Materiais;
Esquema de Ligações;
Fotos e Vídeos;
Passo a passo, funcionamento e Aplicativo.


Ícones, Telas e Fotos:















Arduino DHT22 LM35 LDR PIR Motion Editable Switch

CARACTERÍSTICAS:

TOTAL 18 canais com todos os botões/chaves EDITÁVEIS e SALVOS no banco de dados do App.
- Automação utiliza Arduino Uno comunicação via Bluetooth HC6;
- 09 CHAVES ON/OFF(ON/OFF 110/220V); 
- 02 BOTÕES DE PULSO PARA PORTA COM TRAVA ELÉTRICA(12V/24V OU 110V/220V);
- 01 LM35 Sensor  de temperatura com leitura e controle de dispositivo com saída a relé;
- 01 LDR Sensor  de Luminosidade com leitura e controle de dispositivo com saída a relé;
- 01 HC SR501-PIR Sensor de Movimento e detecção de ondas de calor com saída a relé;
- 01 DHT22 Sensor de Temperatura e Umidade leitura;
TOTAL 18 canais utilizados.

 LEITURA E CONTROLE DE SENSORES SETUP AJUSTÁVEL:

1)- LM35 Sensor de Temperatura: 
 Leitura do valor de temperatura e controle através de uma saída ligada a um relé para acionamento de forno elétrico, estufa, eletrodomésticos ou resistência elétrica que produza calor. 
Ajuste o valor do setup de temperatura, incrementando ou decrementando.
Quando o valor lido for maior que o valor do setup um relé desliga o dispositivo,     controlando assim sua temperatura religando conforme setup pré ajustado, com as leituras no App..

2)- LDR Sensor de Luminosidade: 
Leitura do valor de luminosidade e controle através de uma saída ligada a um relé para acionamento de uma lâmpada ou luminária. 
Ajuste o valor do setup de luminosidade, incrementando ou decrementando.
Quando o valor lido for maior que o valor do setup um relé desliga o dispositivo,     controlando assim sua luminosidade do ambiente religando conforme setup pré ajustado, com as leituras no App..

3)- HC-SR501-PIR Sensor de movimento e detecção de ondas de calor infra vermelho: Saída ligada a um relé para acionamento de luminária, sirene, porta ou dispositivos com a presença de pessoas ou animais, com as leituras no App.;

4)- DHT22 Sensor de temperatura e Umidade: Todas as Leituras no App.

Resumo:
- Todos os canais ou dispositivos são Editáveis e salvos no banco de dados do App;
- Chaves e Botões com mudança visual de layout(ON/OFF) e luzes sinalizadoras; 
- Botões de Pulso(2 segundos) usados em Trava/Fechadura Elétrica para abertura de  porta ou portão; 
- Leitura e controle dos sensores mais utilizados com Arduino para automação;
- Setup dos sensores ajustável;
- Monitoramento no App. com leitura dos valores em display e luzes sinalizadoras;  
- Arduino Uno R3 - Conexão via Bluetooth HC-06.

Passo a passo:

Ligar o Bluetooth do smartphone, entrar em configurações e parear o dispositivo bluetooth.
Será pedido uma senha para parear o BT, normalmente "0000" ou "1234" e pressione OK.


Neste exemplo meu HC-6 está pareado.


Como funciona o App. Arduino DHT22 LM35 LDR PIR Motion Editable Switch:

Funcionamento do App. após a montagem do dispositivo com programa Arduino carregado(explicaremos detalhes da montagem logo adiante).

Funcionamento do APP.:


1)- Nesta tela inicial pressionar o botão Bluetooth, abrirá outra tela com uma lista para que seja selecionado o MAC de seu Bluetooth.



2)- Selecionar o MAC correspondente ao seu Bluetooth, no exemplo HC-06.


3)- Em seguida aparecerá uma notificação "MAC is selected."


4)- Em seguida aparecerá uma notificação "Bluetooth is connected."




5)- Neste instante o Bluetooth do smatphone está conectado com seu Bluetooth HC-06;

Pronto agora você já pode acionar todos os canais:
Acionar relés ou leds;
Monitorar Sensores e Controlar Dispositivos;
Para isso monte o circuito proposto e carregue o Programa Arduino: Arduino DHT22 LM35 LDR PIR Motion Editable Switch.

6)- EDIÇÃO dos nomes dos dispositivos:

Pressionar o botão cadeado verde para desbloquear e entrar no modo de edição, um cadeado vermelho aparece(modo e edição desbloqueado) então clique no Device que deseja editar; Um teclado aparece, digite o novo nome do dispositivo e clique em ok.


7)- Clique no botão cadeado vermelho para bloquear o modo de edição.


8)- Agora vamos salvar a edição do banco de dados do APP., para isso pressione o botão disquete azul e pronto!



Tela com chaves de acionamento(Switches) e Botão de pulso para abertura de porta ou portão com trava elétrica.
Ao lado direito vemos o LM35 e alguns Leds.



Tela de Monitoramento e Controle dos Sensores; Faça o setup, ajustando os valores dos sensores para controle;
Ao lado direito vemos o LM35, DHT22 e o LDR


Nesta imagem podemos ver:
Arduino com o Bluetooth HC-06;
Todos os sensores, inclusive o HC-SR501-PIR Motion;
Relés para acionamento dos dispositivos conectados a rede elétrica 110/220V;


Tela de controle e monitoramento dos sensores:
LM35;
LDR;
HC-SR501-PIR Motion;
DHT22.



IMPORTANTE FAZER SINCRONISMO ENTRE APP. E ARDUINO:


Sempre que você sair do App. e entrar novamente, resetar o Arduino pois os ajustes dos sensores LM35 e LDR estão setados inicialmente para LM34=25C e LDR=50%.

Diagrama de Conexões(Pinagem Arduino - Led, Relé, Bluetooth e Sensores:

/********************************************************************************
 Arduino Uno R3 - I/O

 A0-Switch Device Relay1
 A1-Switch Device Relay2
 A2-Switch Device Relay3
 A3-Switch Device Relay4
 A4-Input LM35 Temperature Sensor
 A5-Input LDR  Light Sensor
 D0-Bluetooth HC-6 - TX
 D1-Bluetooth HC-6 - RX
 D2-Input HC-SR501 Motion Sensor Detector
 D3-Input DHT-22 Temperature/Humidity Sensor
 D4-Switch Device Relay5
 D5-Button - Pulse Relay6
 D6-Switch Device Relay7
 D7-Switch Device Relay8
 D8-Switch Device Relay9
 D9-Switch Device Relay10
 D10-Button - Pulse Relay11
 D11-Output LM35 Temperature Control Relay12
 D12-Output LDR Light Control Relay13
 D13-Output HC-SR501 Motion Control  Relay14
 *******************************************************************************/

Obs.: Atenção evitar conflito entre as seriais(Arduino e HC-06) carregar o programa Arduino sem a placa Bluetooth(HC-06 desconectada) pois a conexão RX -TX do HC-06 está na mesma pinagem RX - TX do Arduino(D0 e D1).

Após carregar o programa ligar o bluetooth HC-06(Vcc, GND, RX e TX), evitando conflito com a serial.



Obs: 
- O esquema de ligações está dividido em 3 partes "Sensores", "Leds" e "Relés", para facilitar a visualização;
- A montagem com Leds é didática para aprendizado e teste de funcionamento;
- A montagem com Sensores e Relés está nesta versão completa;
- Se preferir pode ser montado com apenas 1 sensor ou 1 relé apenas(opcional).

Esquema de Ligações: Arduino DHT22 LM35 LDR PIR Motion Editable Switch.

Esquema das Ligações dos Sensores:

DHT22, PIR, LM35, LDR com Módulo Bluetooth HC-06.


Se necessário estabilizar a leitura da temperatura, utilize um resistor de 10K ohms entre o GND e OUT do LM35, conforme figura abaixo:



Esquema das Ligações dos Leds(didático):


Obs: 
- O esquema de ligações está dividido em 3 partes "Sensores", "Leds" e "Relés", para facilitar a visualização;
- A montagem com Leds é didática para aprendizado e teste de funcionamento;
- A montagem com Sensores e Relés está nesta versão completa;
- Se preferir pode ser montado com apenas 1 sensor ou 1 relé apenas(opcional).




Atenção evitar conflito entre as seriais(Arduino e HC-06) carregar o programa Arduino sem a placa Bluetooth(HC-06 desconectada) pois a conexão RX -TX do HC-06 está na mesma pinagem RX - TX do Arduino(D0 e D1).

Após carregar o programa ligar o bluetooth HC-06(Vcc, GND, RX e TX), evitando conflito com a serial.



Esquema das Ligações dos Relés:


Arduino Portas OUTPUT: A0, A1, A2, A3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13 utilizadas para saídas para acionamento dos relés.

Módulo Bluetooth HC-06 ou JY-MCU nas portas Arduino D0 e D1.

Repetir as ligações para os relés conectados ás saídas Arduino D4, D5, D6, D7, D8, D9, D10, D11, D12, D13.

Acompanhe todas as ligações do Arduino com os Sensores, Relés/Leds e Módulo Bluetooth HC-06.
/********************************************************************************
 Arduino Uno R3 - I/O

 A0-Switch Device Relay1
 A1-Switch Device Relay2
 A2-Switch Device Relay3
 A3-Switch Device Relay4
 A4-Input LM35 Temperature Sensor
 A5-Input LDR  Light Sensor
 D0-Bluetooth HC-6 - TX
 D1-Bluetooth HC-6 - RX
 D2-Input HC-SR501 Motion Sensor Detector
 D3-Input DHT-22 Temperature/Humidity Sensor
 D4-Switch Device Relay5
 D5-Button - Pulse Relay6
 D6-Switch Device Relay7
 D7-Switch Device Relay8
 D8-Switch Device Relay9
 D9-Switch Device Relay10
 D10-Button - Pulse Relay11
 D11-Output LM35 Temperature Control Relay12
 D12-Output LDR Light Control Relay13
 D13-Output HC-SR501 Motion Control  Relay14
 *******************************************************************************/
Obs: 
- O esquema de ligações está dividido em 3 partes "Sensores", "Leds" e "Relés", para facilitar a visualização;
- A montagem com Leds é didática para aprendizado e teste de funcionamento;
- A montagem com Sensores e Relés está nesta versão completa;
- Se preferir pode ser montado com apenas 1 sensor ou 1 relé apenas(opcional).


IMPORTANTE FAZER SINCRONISMO ENTRE APP. E ARDUINO:


Sempre que você sair do App. e entrar novamente, resetar o Arduino pois os ajustes dos sensores LM35 e LDR estão setados inicialmente para LM34=25C e LDR=50%.


Obs.: Se necessário utilizar 2 fontes de alimentação:

Uma fonte de 5V/1000mA para o Arduino e outra fonte de alimentação de 5VDC/2000mA para alimentação dos relés, conectar os "GND´s" em comum(GND do Arduino com GND da Fonte) e aplicar a alimentação 5V diretamente na placa módulo de relé.

Desta forma não estaremos sobrecarregando o regulador de tensão de 5V do Arduino, então desfaça a ligação de 5V entre o Arduino e módulo relé e ligue apenas o 5V da fonte no módulo relé.

Exemplo de ligações utilizando módulo de relés na rede elétrica:
O módulo relé possui uma lógica invertida quando desejamos acionar ou energizar a bobina no relé precisamos colocar nível "0V' na entrada do módulo relé(lógica invertida) com isso um contato normalmente aberto é fechado de forma correta.


Exemplo ligação com uma Lâmpada em rede de 110V:

Atenção evitar conflito entre as seriais(Arduino e HC-06) carregar o programa Arduino sem a placa(desconectada) de bluetooth HC-06 pois a conexão RX -TX do HC-06 está na mesma pinagem RX - TX do Arduino(D0 e D1).

Após carregar o programa ligar o bluetooth HC-06(Vcc, GND, RX e TX), evitando conflito com a serial.

Programa Arduino:
Arduino DHT22 LM35 LDR PIR Motion Editable Switch.


/********************************************************************************
 Arduino Uno R3 - I/O

 A0-Switch Device Relay1
 A1-Switch Device Relay2
 A2-Switch Device Relay3
 A3-Switch Device Relay4
 A4-Input LM35 Temperature Sensor
 A5-Input LDR  Light Sensor
 D0-Bluetooth HC-6 - TX
 D1-Bluetooth HC-6 - RX
 D2-Input HC-SR501 Motion Sensor Detector
 D3-Input DHT-22 Temperature/Humidity Sensor
 D4-Switch Device Relay5
 D5-Button - Pulse Relay6
 D6-Switch Device Relay7
 D7-Switch Device Relay8
 D8-Switch Device Relay9
 D9-Switch Device Relay10
 D10-Button - Pulse Relay11
 D11-Output LM35 Temperature Control Relay12
 D12-Output LDR Light Control Relay13
 D13-Output HC-SR501 Motion Control  Relay14
 *******************************************************************************/

#include <SoftwareSerial.h>//Biblioteca Serial--------------------------
SoftwareSerial mySerial(0, 1);//Biblioteca para serial bluetooth
//Arduino D0(Bluetooth-TX), Arduino D1(Bluetooth-RX)--------------------

#include "DHT.h"
#define DHTPIN 3 
#define DHTTYPE DHT22//DHT11 - You can choose the sensor DHT11 or DHT22; 
DHT dht(DHTPIN, DHTTYPE); 

struct package
{
  float temperature ;
  float humidity ;
};


//------Declaração das variáveis para os pinos A0--A5 e D2--D13 Arduino-
int pinA0 = A0;//A0
int pinA1 = A1;//A1
int pinA2 = A2;//A2
int pinA3 = A3;//A3
int pinD2 = 2;//D2
int pinD3 = 3;//D3
int pinD4 = 4;//D4
int pinD5 = 5;//D5
int pinD6 = 6;//D6
int pinD7 = 7;//D7
int pinD8 = 8;//D8
int pinD9 = 9;//D9
int pinD10 = 10;//D10
int pinD11 = 11;//D11
int pinD12 = 12;//D12
int pinD13 = 13;//D13
//----------------------------------------
int pinSensorA4 = 4;//Analógica A4 conectado ao LM35;
int valueA4 = 0;//Variável para leitura LM35;
int pinSensorA5 = 5;//Analógica A5 conectado ao LDR;
float LM35 = 0;//Variável calcula e armazena valorlido do LM35;
float LDR = 0;//Variável calcula e armazena valorlido do LDR;
byte sensorpir = 2;//Variávelpara leitura do PIR;
int  cont = 0;//Variável para contagem do numero de leituras LM35 e LDR;
int  conta = 0;//Variável para contagem do numero de leituras LM35 e LDR;
float LM35Calc = 0;//Variável tira a média de 100 leituras do LM35;
float LDRCalc = 0;//Variável tira a média de 100 leituras do LDR;
float LM35Setup=25;
float LDRSetup=50;

  float h = dht.readHumidity();
  float t = dht.readTemperature();

  float indoorHumidity = 0;
  float indoorTemperature = 0;

  typedef struct package Package;
  Package data;

void setup() {

  mySerial.begin(9600);//Velocidade da serial em 9600bps-----------
//Obs.: Bluetooth também deve estar na mesma veloc. 9600bps;

dht.begin();
delay(1000);

//-----------------Pinos Arduino, saída para acionamentos---------- 
  pinMode(pinA0,   OUTPUT);
  pinMode(pinA1,   OUTPUT);
  pinMode(pinA2,   OUTPUT);
  pinMode(pinA3,   OUTPUT);
  pinMode(pinD4,   OUTPUT);
  pinMode(pinD5,   OUTPUT);
  pinMode(pinD6,   OUTPUT);
  pinMode(pinD7,   OUTPUT);
  pinMode(pinD8,   OUTPUT);
  pinMode(pinD9,   OUTPUT);
  pinMode(pinD10,  OUTPUT);
  pinMode(pinD11,  OUTPUT);
  pinMode(pinD12,  OUTPUT);
  pinMode(pinD13,  OUTPUT);
//-----------------Pinos Arduino, inicia em nível alto(desligado)--------
//Obs.: Desliga em nível alto(HIGH==OFF) e Liga em nível baixo(LOW==ON)--
  digitalWrite(pinA0,   HIGH);
  digitalWrite(pinA1,   HIGH);
  digitalWrite(pinA2,   HIGH);
  digitalWrite(pinA3,   HIGH);
  digitalWrite(pinD4,   HIGH);
  digitalWrite(pinD5,   HIGH);
  digitalWrite(pinD6,   HIGH);
  digitalWrite(pinD7,   HIGH);
  digitalWrite(pinD8,   HIGH);
  digitalWrite(pinD9,   HIGH);
  digitalWrite(pinD10,  HIGH);
  digitalWrite(pinD11,  HIGH);
  digitalWrite(pinD12,  HIGH);
  digitalWrite(pinD13,  HIGH);  
  }
  void loop() {

  float h = dht.readHumidity();
  float t = dht.readTemperature();

  pinMode(sensorpir,INPUT);

if(conta==0){//Para a contagem na variável cont;
  cont=0;
}
if(conta==1){//Incrementa a contagem na variável cont; 
  cont++;
}
  
  valueA4 =  analogRead(pinSensorA4);//Leitura do LM35;
  LM35 = (valueA4 * 0.00439);// Alimentação LM35=4,5V;
  //LM35 = (valueA4 * 0.00449);// Alimentação LM35=4,6V;
  //LM35 = (valueA4 * 0.00459);  // Alimentação LM35=4,7V;
  //LM35 = (valueA4 * 0.00488);// Alimentação LM35=5,0V; 
  LM35 = (LM35 * 100);
  LM35Calc =(LM35Calc + LM35);
  LDR = analogRead(pinSensorA5);
  LDRCalc =(LDRCalc + LDR);
  //comtém Somatória de 100 valores do LM35 e LDR;
  if(cont==100)//Cálculo e ajuste do valor médio LM35 e LDR;
 {
  cont=0;//Zera contagem;
  
  LM35Calc = (LM35Calc/100);//Calcula o valor médio;
  //LM35Calc = (LM35Calc*0.95);//Ajusta o valor;
  mySerial.println("X");
  mySerial.println(LM35Calc, 0);//Envia para App. Android; 
  //------------------
  LDRCalc = (LDRCalc/1000);//Calcula o valor médio a 100%;
  mySerial.println("Y");
  mySerial.println(LDRCalc, 0);//Envia para o App. Android;
  //------------------
  mySerial.println("Z");
  mySerial.println(t, 0);//Envia para App. Android; 

  mySerial.println("W");
  mySerial.println(h, 0);//Envia para App. Android; 

 //--------------Compara LM35Calc com LM35Setup-------------------
 if (LM35Calc >= LM35Setup){
 digitalWrite(pinD11, HIGH);//Coloca o pino D11 em 5V, Relay12 OFF;   
 mySerial.println("Lm");
 } 
 if (LM35Calc < LM35Setup){
 digitalWrite(pinD11, LOW);//Coloca o pino D11 em 0V, Relay12 ON;
 mySerial.println("LM");
 }
//----------------Compara LDRCalc com LDRSetup--------------------
 if (LDRCalc >= LDRSetup){
 digitalWrite(pinD12, HIGH);//Coloca o pino D12 em 5V, Relay13 OFF;  
 mySerial.println("Ln");
 }
 if (LDRCalc < LDRSetup){
 digitalWrite(pinD12, LOW);//Coloca o pino D12 em 0V, Relay13 ON;
 mySerial.println("LN");
 } 
 //----------------------------------------------------------------

 if(digitalRead(sensorpir) == HIGH)
  {
    digitalWrite(pinD13,LOW);//Coloca o pino D13 em 0V, Relay14 ON;
    mySerial.println("LO");
  }
  if(digitalRead(sensorpir) == LOW)
  {
    digitalWrite(pinD13,HIGH);//Coloca o pino D13 em 5V, Relay14 OFF;
    mySerial.println("Lo");
  }
 //----------------------------------------------------------------
 }

  delay(1);//Tempo para apresentação dos valores dos sensores no App.//5ms
  //----------------------------  
  char caracter = mySerial.read();//Variavel para leitura da serial;
  delay(3);
  /*************************************************************************************
  Acionamento dos 11 canais: 9 Switches(ON/OFF)+ 2 Pulse(ON/OFF);
  APP envia caracteres(via Bluetooth)correspondentes aos pinos de saída do Arduino;
  Arduino faz uma leitura da serial e compara o caracter recebido e 
  liga ou desliga a saída correspondente;
  *************************************************************************************/
  if (caracter == 'A')
  {    
    digitalWrite(pinA0, LOW);    
  }
  if (caracter == 'a')
  {   
    digitalWrite(pinA0, HIGH);   
  } 
  //---------------------------- 
  if (caracter == 'B')
  {    
    digitalWrite(pinA1, LOW);
  }
  if (caracter == 'b')
  {    
    digitalWrite(pinA1, HIGH);
  }
  //---------------------------
 if (caracter == 'C')
  {   
    digitalWrite(pinA2, LOW);
  }
  if (caracter == 'c')
  {  
    digitalWrite(pinA2, HIGH);
  }
  //---------------------------
 if (caracter == 'D')
  {
    digitalWrite(pinA3, LOW);
  }
  if (caracter == 'd')
  {
    digitalWrite(pinA3, HIGH);
  }
  //---------------------------
 if (caracter == 'E')
  {
    digitalWrite(pinD4, LOW);
  }
  if (caracter == 'e')
  {
    digitalWrite(pinD4, HIGH);
  }
  //---------------------------
 if (caracter == 'F')
  {
    digitalWrite(pinD5, LOW);
    delay(2000);
    digitalWrite(pinD5, HIGH);
  }
  //---------------------------
 if (caracter == 'G')
  {
    digitalWrite(pinD6, LOW);
  }
  if (caracter == 'g')
  {
    digitalWrite(pinD6, HIGH);
  }
  //---------------------------
 if (caracter == 'H')
  {
    digitalWrite(pinD7, LOW);
  }
  if (caracter == 'h')
  {
    digitalWrite(pinD7, HIGH);
  }
  //---------------------------
 if (caracter == 'I')
  {
    digitalWrite(pinD8, LOW);
  }
  if (caracter == 'i')
  {
    digitalWrite(pinD8, HIGH);
  }
  //---------------------------
 if (caracter == 'J')
  {
    digitalWrite(pinD9, LOW);
  }
  if (caracter == 'j')
  {
    digitalWrite(pinD9, HIGH);
  }
  //---------------------------
  if (caracter == 'K')
  {
    digitalWrite(pinD10, LOW);
    delay(2000);
    digitalWrite(pinD10, HIGH);  
  }
  //---------------------------

/*******************************************************************************************
Aualização da pagina do APP(Status ON/OFF));
APP envia para o Arduino uma string caracter"S";
Arduino recebe(via bluetooth serial) uma solicitação para leituradas portas;
Arduino retorna para o APP o novo status(leitura atualizada do estado das portas ON/OFF)
******************************************************************************************/  
  
  if(caracter == 'S'){

  //cont=0;//Zera contagem(stop Sensors) e executa leitura dos Switches e buttons;
  
  if(digitalRead(pinA0)==LOW){ 
  mySerial.println("LA");
  }
   if(digitalRead(pinA0)==HIGH){ 
  mySerial.println("La");
  }
  delay(25);
  //--------------------------------------  
  if(digitalRead(pinA1)==LOW){ 
  mySerial.println("LB");
  }
   if(digitalRead(pinA1)==HIGH){ 
  mySerial.println("Lb"); 
  }
  delay(25);
  //--------------------------------------
  if(digitalRead(pinA2)==LOW){ 
  mySerial.println("LC");
  }
   if(digitalRead(pinA2)==HIGH){ 
  mySerial.println("Lc");
  }
  delay(25);
  //-------------------------------------- 
  if(digitalRead(pinA3)==LOW){ 
  mySerial.println("LD");
  }
  if(digitalRead(pinA3)==HIGH){ 
  mySerial.println("Ld");
  }
  delay(25);
  //--------------------------------------  
  if(digitalRead(pinD4)==LOW){ 
  mySerial.println("LE");
  }
  if(digitalRead(pinD4)==HIGH){ 
  mySerial.println("Le");
  }
  delay(25);
  //-------------------------------------- 
  if(digitalRead(pinD5)==LOW){ 
  mySerial.println("LF");
  }
  if(digitalRead(pinD5)==HIGH){ 
  mySerial.println("Lf");
  }
  delay(25);
  //--------------------------------------
  if(digitalRead(pinD6)==LOW){ 
  mySerial.println("LG");
  }
  if(digitalRead(pinD6)==HIGH){ 
  mySerial.println("Lg");
  }
  delay(25);
  //--------------------------------------
  if(digitalRead(pinD7)==LOW){ 
  mySerial.println("LH");
  }
  if(digitalRead(pinD7)==HIGH){ 
  mySerial.println("Lh");
  }
  delay(25);
  //--------------------------------------
  if(digitalRead(pinD8)==LOW){ 
  mySerial.println("LI");
  }
  if(digitalRead(pinD8)==HIGH){ 
  mySerial.println("Li");
  }
  delay(25);
  //--------------------------------------
  if(digitalRead(pinD9)==LOW){ 
  mySerial.println("LJ");
  }
  if(digitalRead(pinD9)==HIGH){ 
  mySerial.println("Lj");
  }
  delay(25);
  //--------------------------------------
  if(digitalRead(pinD10)==LOW){ 
  mySerial.println("LK");
  }
  if(digitalRead(pinD10)==HIGH){ 
  mySerial.println("Lk");
  }
  delay(25);
  //-------------------------------------- 
  }//if

//----------------------------------------
 if(caracter == 'T'){
conta=1;
 }
 if(caracter == 't'){
conta=0;
 }
//---------------------------------------- 
 if(caracter == 'P'){
LM35Setup++;
if(LM35Setup>=100)
{
 LM35Setup=100; 
}
 }
  if(caracter == 'p'){
LM35Setup--;
if(LM35Setup<=0)
{
 LM35Setup=0; 
}
 }
//---------------------------------------  
if(caracter == 'Q'){
LDRSetup++;
if(LDRSetup>=100)
{
 LDRSetup=100; 
}
 }
  if(caracter == 'q'){
LDRSetup--;
if(LDRSetup<=0)
{
 LDRSetup=0; 
}
 }
//----------------------------------------- 
  delay(10);
  }//loop

IMPORTANTE FAZER SINCRONISMO ENTRE APP. E ARDUINO:


Sempre que você sair do App. e entrar novamente, resetar o Arduino pois os ajustes dos sensores LM35 e LDR estão setados inicialmente para LM34=25C e LDR=50%.


Lista de Materiais:

Fonte de Alimentação 9VDC/2000mA com saída P4

Devido a alimentação de 18 Relés, sujerimos uma fonte com 2A para suprir essa demanda de corrente.
Arduino Uno R3:


Módulo Bluetooth HC-06 ou JY-MCU:


LM35 - Sensor de Temperatura:
Resultado de imagem para lm35

LDR - Sensor de Luminosidade:
Resultado de imagem para light sensor

HC-SR501 - Sensor de Movimento e detector de ondas de calor Infra Vermelho:


Resultado de imagem para HC-SR501
DHT22 - Sensor de Temperatura e Unidade:

Módulo de Relés:


Leds:
Resistores de 220 ohms:
Protoboard:



Jumper Wire - Cabos para ligações:
Macho - Fêmea.

Macho - Macho:

Nenhum comentário:

Postar um comentário