Páginas

Arduino Wifi 3G Editable Setup


Arduino Wifi 3G Editable Setup 1.0

Apresentação:



Este app Arduino Wifi 3G Editable Setup, se apresenta com mais duas facilidades;
Dois canais estão equipados com Modo Automatico ou Manual selecionaveis e Setup Mode.



Google Play:
https://play.google.com/store/apps/details?id=appinventor.ai_antoniosergiosouzaalmeida.Arduino_Wifi_3G_Web_Sensor1_6
Youtube:
https://www.youtube.com/watch?v=pmhI2EK9yl0&list=PL70c1gJPe5Bq9MTBG6T6I47wom1fmejOT


Através do primeiro canal podemos setar valores de temperatura do sensor LM35 para controle de temperatura; Então quando o valor da temp for maior ou menor que o valor do Setup o app enviará dados para o Arduino acionar um relé 110/220V para acionar um ventilador, exaustor, ar condicionado, controlando a temperatura ambiente dentro do Setup que voce selecionou como ideal.

Canal 1 ligado ao sensor LM35 pino A0(Input) Arduino e Controle através do pino A3(Output) Arduino.



Através do segundo canal podemos setar valores de luminosidade do sensor LDR para controle de luminosidade; Então quando o valor da luminosidade for maior ou menor que o valor do Setup o app enviará dados para o Arduino acionar um relé 110/220V para ligar uma lâmpada ou luminária, controlando a luminosidade ambiente dentro do Setup que voce selecionou como ideal.

Canal 2 ligado ao sensor LDR pino A1(Input) Arduino e Controle através do pino A4(Output) Arduino.



Atenção: para utilizar este modo de Setup e controle selecione Modo Automático.

Se preferir utilizar como canais normais ON OFF apenas selecione Modo Manual.

Acionamentos de dispositivos ON/OFF = 6 canais sendo 2 canais modo automático ou manual;

Status: Os botões de acionamento dos dispositivos recebem um status ou mensagem enviada  pelo Arduino, indicando qual porta foi acionada;

Leitura de sensores analógicos e digitais = 6canais(Press to go Web);
Arduino A0: LM35 Sensor de temperatura(ºC);
Arduino A1: LDR Sensor de luminosidade(LUX);
Arduino A2: MQ-7 Sensor de monoxido de carbono - CO (ppm);
Arduino D2: DHT11 Sensor de temperatura e humidade(ºC, ºF, ºK, DP e DPF);
Arduino D6 e D7: HC-SR04 Sensor ultrasonico distância(CM);



Botões Editáveis:
Edite o numero de IP e server ;
Edite os nomes dos dispositivos ou locais que estão sendo acionados;

Salvar no banco de dados:
O numero de IP e os nomes dos dispositivos ficaram salvos facilitando sua conexão com a internet e com nomes personalizados;

Através do Setup voce pode inserir valores de temperatura e luminosidade e assim fazer o controle automático
baseado nos valores lidos dos sensores que são mostrados o tempo todo na tela;
Exemplo podemos controlar temperatura ou luminosidade de um ambiente conforme descrito acima.

Conteúdo:
1)- Esquema de ligações com galeria de fotos.
2)- Fotos e Vídeos: Arduino Wifi Ethernet Control.
3)- Descrição de funcionamento e instalações.
4)- Como montar e configurar corretamente o Ethernet Shield com o Arduino:
5)- Programa Arduino.
6)- Lista de Materiais.


 Adiquira o aplicativo - Arduino Wifi 3G Editable Setup.

 Google Play: 
Veja o vídeo no Youtube: 

1)- Esquema de ligações com galeria de fotos.











































































































2)- Fotos e Vídeos: Arduino Wifi 3G Editable Setup












































































































Adiquira o aplicativo Arduino Wifi 3G Editable Setup


Google Play:

Veja o vídeo no Youtube:



3)- Descrição de funcionamento e instalações.

Este app Arduino Wifi 3G Editable Setup, se apresenta com mais duas facilidades;

Dois canais estão equipados com Modo Automatico ou Manual selecionaveis e Setup Mode.


Através do primeiro canal podemos setar valores de temperatura do sensor LM35 para controle de temperatura; Então quando o valor da temp for maior ou menor que o valor do Setup o app enviará dados para o Arduino acionar um relé 110/220V para acionar um ventilador, exaustor, ar condicionado, controlando a temperatura ambiente dentro do Setup que voce selecionou como ideal.
Canal 1 ligado ao sensor LM35 pino A0(Input) Arduino e Controle através do pino A3(Output) Arduino.

Através do segundo canal podemos setar valores de luminosidade do sensor LDR para controle de luminosidade; Então quando o valor da luminosidade for maior ou menor que o valor do Setup o app enviará dados para o Arduino acionar um relé 110/220V para ligar uma lâmpada ou luminária, controlando a luminosidade ambiente dentro do Setup que voce selecionou como ideal.

Canal 2 ligado ao sensor LDR pino A1(Input) Arduino e Controle através do pino A4(Output) Arduino.



Atenção: para utilizar este modo de Setup e controle selecione Modo Automático.

Se preferir utilizar como canais normais ON OFF apenas selecione Modo Manual.


Acionamentos de dispositivos ON/OFF = 6 canais;
Leitura de sensores analógicos e digitais = 6canais(Press to go Web);

Botões Editáveis:
Edite o numero de IP e server ;
Edite os nomes dos dispositivos ou locais que estão sendo acionados;

Salvar no banco de dados:
O numero de IP e os nomes dos dispositivos ficaram salvos facilitando sua conexão com a internet e com nomes personalizados;


Esta versão comunica com roteador a cabo, wifi ou 3G com rede interna porta:80 ou rede externa porta:8090 utilizando roteador com IP real(entre no site meu IP e descubra qual é seu IP) ou host fazendo um cadastro grátis em "no-ip"(your_name.ddns.net).

Desta forma torna-se este aplicativo bem versátil podendo comunicar a qualquer distância ou local, bastando apenas ter um numero de IP e uma conexão(via cabo, wifi ou 3G)com a internet.


O Aplicativo Arduino Wifi Ethernet Control instalado no smartphone Android controla remotamente o Arduino conectado a um roteador via wifi, cabo de rede ou 3G;

 O aplicativo Arduino Wifi 3G Ethernet: Web Sensor Automation instalado no smartphone controla remotamente o Arduino via cabo, wifi ou 3G com até 6 canais(porta analógica pinos: A3, A4 e A5 e porta digital pinos: D3, D4 e D5);

Através destes pinos podemos conectar uma placa com 6 reles(vendida no ebay ou mercado livre), onde podemos controlar até 6 equipamentos lidados a rede elétrica residencial;

Acionamento(liga e deslida) de lâmpadas, abatjours, luminarias, travas elétricas de portas, motores, solenóides, contatores, forno elétrico, aparelhos eletrodomésticos, etc.

Obs.: Os acionamentos podem atuar de forma independente ou simultânea, facilitando sua operação e abrindo multiplas possibilidades ao projeto como exemplo em automação residêncial onde voce precisa de acionar luminárias dos comodos, salas, quartos, halls, cozinha,  de forma mais  inteligente.

Como funciona:

Arduino Wifi 3G Ethernet: Web Sensor Automation; Este aplicativo permite a comunicação via wifi ou 3G entre o Android e o Arduino, possibilitando inumeras aplicações de automação residencial ou robótica;

A instalação é bem simples um Arduino uno r3 conectado ao módulo ethernet shield faz conexão RJ45 ;com um roteador wifi; Então podemos inserir um numero de IP dado pelo roteador ao programa Arduino;

Agora podemos editar o numero de IP no App. Android e  pronto já podemos visualizar o status de 6 canais ON/OFF do Arduino(porta analógica A3, A4 e A5 e porta digital D3, D4 e D5);
O aplicativo Arduino Wifi 3G Ethernet: Web Sensor Automation instalado no Smartphone com Android comunica enviando "strings"  ao roteador 
via cabo, wifi ou 3G
 que está conectado à placa Ethernet shield que por sua vez está conectada ao Arduino;

 O Arduino recebe estas strings que por sua vez interpreta e faz o comando dos relés(placa de acionamento de relés)  que está conectada nas portas digitais e analógicas correspondente do Arduino(porta analógica digital pinos  A3, A4 e A5 e D3, D4 e D5;

O Arduino também transmite de volta via wifi do roteador o Staus das portas acionadas, de forma que qualquer modificação de acionamento dos reles possa ser visualizada instantaneamente no smartphone Android; Então no caso de uma automação residencial podemos monitorar o acionamento à distância.
 Arduino Sensors:
Através do botão "Press to go Web" podemos acessar uma página da web que está conectada ao Arduino e ethernet shield através do numero de IP que foi dado; Neste exemplo com código Arduino fornecido podemos acessar até  6 sensores sendo: 
3 sensores analógicos e 3 sensores digitais;
Neste exemplo temos:
Arduino A0: LM35 Sensor de temperatura(ºC);
Arduino A1: LDR Sensor de luminosidade(LUX);
Arduino A2: MQ-7 Sensor de monoxido de carbono - CO (ppm);
Arduino D2: DHT11 Sensor de temperatura e humidade(ºC, ºF, ºK, DP e DPF);
Arduino D6 e D7: HC-SR04 Sensor ultrasonico distância(CM);

Obs.: Estes são sensores que foram utilizados com o  Arduino, que estão acompanhado do programa.
Caso queiram utilizar otros sensores, basta apenas incluir no programa Arduino;
O programa código Arduino está bem fácil de forma a :
Incluir novos sensores;
Incluir novas bibliotecas;
Incluir novos códigos;
Desativar sensores ou deixar apenas como comentário;
Utilizar apenas sensores que voce já possui;

Funcionamento passo a passo:

Monte o ethernet shield no Arduino;
Entre no IDE Arduino  copie o programa fornecido e faça o upload para a placa Arduino;
Conecte o cabo de rede(RJ45) ao roteador sem fio wifi;
Ligue o wifi do smartphone Android;
Abra o App. Arduino Wifi 3G Ethernet: Web Sensor Automation;
Verifique um IP disponível dentro do range de seu roteador;
No App. pressione o botão Change IP e entre com o novo numero de IP com o servidor exemplo: 192.168.1.50:80
Servidor para rede interna 80;(utilize o IP do roteador exemplo: 192.168.1.50:80);
Servidor para rede externa 8090;(utilize um IP real :8090 ou host conforme descrito);
Pressione IP Save para salvar o IP ou Esc IP para sair sem salvar;
Neste instante vocçe deve sair do App e entrar novamente para salvar no banco de dados, neste momento aparecerá uma notificação dinformando que o App parou, de OK e entre novamente;
Veja na parte superior seu IP que foi salvo como exemplo: http://192.168.1.50:80;
Pronto se seu wifi do Android estiver conectado com o wifi do roteador voce já pode acionar os botões ON/OFF
e visualizar o acendimento dos leds ou no caso de relés para acendimento de lampadas 110V/220V;
Veja também  no App o status que te retorna uma mensagem da porta Arduino que foi acionada;
Com o status fica facil saber que uma lampada está acesa ou apagada ou um dispositivo está lidado ou desligado;
Edit Name: com este botão voce poderá incluir ou alterar uma lista com os nomes dos botões;
Com o edit name voce pode editar os nomes dos locais de acionamento exemplo Quarto dos fundos; Sala, Sacada, Fechadura da porta, Abatjour, Esteira Motor1, etc facilitando com isso a identificação dos comodos ou dispositivos;
Pressione Save Name para salvar ou Esc para sair sem salvar
Novamente saia do App. e entre novamente para salvar os dados dos nomes no banco de dados do Android;
Uma notificação aparecerá informando que o App. parou, de ok e entre novamente;
Veja os sensores conectados ao Arduino, pressione o botão Press to go Web;
Press to go Web: Veja todos os sensores ligados ao Arduino enviando dados  de temperatura, umidade, distância, etc;



Gratis:

1)- Esquema de ligações com galeria de fotos.
2)- Fotos e Vídeos: Arduino Wifi Ethernet Control.
3)- Descrição de funcionamento e instalações.
4)- Como montar e configurar corretamente o Ethernet Shield com o Arduino:
5)- Programa Arduino.
6)- Lista de Materiais.

 Adiquira o aplicativo - Arduino Wifi 3G Editable Setup

 Google Play:

Veja o vídeo no Youtube:



























4)- Como montar e configurar corretamente o Ethernet Shield com o Arduino:


Arduino Ethernet Shield W5100 é outro dispositivo dessa família, que além de possibilitar o acesso às informações na sua rede local, ainda pode ser conectado à internet e permitir o seu monitoramento.
Arduino Ethernet Shield W5100
Acoplando o Arduino Ethernet Shield W5100 ao seu Arduino, basta um simples cabo de rede para que, em poucos minutos, você passe a monitorar o estado de sensores, chaves e outros dispositivos à partir do browser do seu computador ou celular. Este Shield é baseado no ethernet chip Wiznet W5100 (datasheet) e fornece um endereço IP compatível com os protocolos TCP e UDP.
O primeiro passo para setar corretamente o seu shield ethernet é configurá-lo com um endereço IP válido da sua rede. Vamos mostrar como obter as informações de rede no Windows 7, mas você pode usar o mesmo princípio para outros sistemas operacionais.
CONFIGURAÇÃO IP:
Clique em INICIAR e, na caixa de diálogo, digite CMD. Em seguida pressione a tecla ENTER :
Windows 7 - Iniciar
Na janela de prompt de comando, digite “ipconfig /all” (sem as aspas) e aperte ENTER :
Prompt de comando - Ipconfig
O comando será executado e várias informações aparecerão na tela. Procure pela informação referente à sua placa de rede principal, semelhante à esta destacada na imagem, pois são essas informações que você irá precisar para configurar o shield : Endereço IP,  Máscara de sub-rede e Gateway Padrão :
IPConfig - Resultados
Esses três parâmetros são definidos logo no início do programa, e devem ser alterados de acordo com a configuração da sua rede:
IPAddress ip(192,168,1,50) : Troque por um endereço IP no mesmo formato daquele que você copiou na janela de prompt de comando, mas o último número deve ser diferente. Exemplo : o IP do nosso equipamento é 192.168.1.120, e no programa utilizamos o 192.168.1.50. Antes de usar qualquer endereço da rede, certifique-se que o mesmo ainda não está em uso por nenhum outro equipamento.
Obs.: utilize um numero de IP que esteja dentro do range de seu roteador e que não esteja sendo utilizado por outro
dispositivo.
IPAddress gateway(192,168,1,1) : Utilize o mesmo endereço do Gateway Padrão que você obteve na janela de prompt de comando. No nosso caso, 192.168.1.1
IPAddress subnet(255,255,255,0) : Utilize o mesmo endereço referente à máscara de sub-rede, que você obteve na janela de prompt de comando : 255.255.255.0
Copie o código Arduino fornecido vá  para o IDE Arduino e cole o código
Veja o código Arduino e não esqueça então de fazer as modificações de IP, Gateway e Subnet capturados de sua rede, conforme explicado acima;

Veja a parte do código onde deve-se fazer as alterações com seus dados de rede;
Para testes você pode usar o MAC padrão como descrito no código abaixo(byte mac[ ]);
Copie o código completo conforme mostra item 5)- e altere os parametros de configuração de rede
com seus dados conforme descrito acima;



















No IDE verifique e Upload o código para a placa Arduino;
Monte o Ethernet Shield no Arduino conforme figura;
Plugar um cabo de rede entre o Ethernet Shield e o roteador;
Se tudo estiver correto, entrar no aplicativo Arduino Wifi Ethernet Control;
Ligue o Wifi do Smartphone e ligue também o roteador wifi  e o Arduino com suas fontes respectivas;
Pressione o botão IP change e digite seu numero de IP igual ao utilizado no código Arduino;
Pressione o botão IP save para salvar este número de IP na memória do smartphone;
Se desejar entrar com outro numero de IP repita a operação anterior ou pressione o botão Esc para sair
sem fazer alterações;
Pronto! Agora é só pressionar os botões de acionamento para ligar e deslidar dispositivos;
Para testar voce pode utilizar leds nas portar do Arduino;
Para efetuar comandos elétricos(ligar/desligar lâmpadas 110V/220V) será necessário utilizar e relés,
conforme descrição;

Resumo:

Para conexão local via wifi  insira no aplicativo smartphone o mesmo  IP com porta:80 do roteador que também está gravado no código Arduino;
Exemplo:192.168.1.50:80. Utilizado para conexão local rede interna.
//----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------//
Para conexão rede externa via cabo de rede, wifi ou 3G insira no aplicativo smartphone o IP com porta:8090 e pronto!
Exemplo:178.161.324.101:8090. Utilizado para conexão rede externa.

Entre na configuração de seu roteador:
Com o roteador conectado na rede digite o IP do roteador exemplo:192.168.1.1 e tecle Enter;
Entre no menu de REDIRECIONAMENTO DE PORTA e insira um nome para o dispositivo exemplo: Arduino e insira a  PORTA INTERNA:80 e PORTA EXTERNA:8090.

E pronto você já pode comunicar com o Arduino pela rede de internet a qualquer distância.
Obs.: não se esqueça de utilizar para isso um IP real;
//----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------//
Para conexão rede externa via cabo de rede, wifi ou 3G criando um Host:

Entre na configuração de seu roteador:
Com o roteador conectado na rede digite o IP do roteador exemplo:192.168.1.1 e tecle Enter;
Entre no menu de REDIRECIONAMENTO DE PORTA e insira um nome para o dispositivo exemplo: Arduino e insira a  PORTA INTERNA:80 e PORTA EXTERNA:8090.


Entre no site meu ip e veja qual é o seu ip anote e copie para o aplicativo smartphone;
Se desejar utilizar um host, isso facilita pois voce não precisará utilizar um numero mas sim 
um host como: seu_nome.ddns.net
Para isso entre no site "no-ip" e faça um cadastro grátis então utilize seu numero de ip real
e também a porta externa 8090.
No aplicativo smartphone insira o host que voçe criou, exemplo:  seu_nome.ddns.net e pronto,
voce está pronto para comunicação com a internet utilizando seu host.

Veja fotos de  exemplo de configuração do roteador:


































Veja no site: http://www.noip.com/

































Atenção para o risco de choque elétrico ou curto-circuitos ao trabalhar com rede elétrica ou partes energizadas com tensões de 110V ou 220V;
 Requer conhecimento de redes elétricas ou acompanhamento técnico especializado.

VEJA FOTOS E VÍDEOS SOBRE TODA A MONTAGEM E UTILIZAÇÃO DO ARDUINO WIFI ETHERNET CONTROL NESTE BLOG.



5)- Programa Arduino para o app. Arduino Wifi 3G Editable Setup

//----------------------------------------------------------------------------------------------------------//

#include <SPI.h>
#include <String.h>
#include <Ethernet.h>
#include <dht11.h>
#include <Ultrasonic.h>
//-------------------------------------------------------------------
dht11 DHT11;
#define DHT11PIN 2
//-------------------------------------------------------------------
//Define os parametros para o sensor ultrasonico HC-SR04
#define PINO_TRIGGER  6 //Porta ligada ao pino Trigger do sensor
#define PINO_ECHO     7 //Porta ligada ao pino Echo do sensor
//Inicializa o sensor ultrasonico
Ultrasonic ultrasonic(PINO_TRIGGER, PINO_ECHO);
//-------------------------------------------------------------------
byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };//MAC padrão;
IPAddress ip(192, 168, 1, 50);//Inserir aqui seu endereço de IP (ipv4);
IPAddress gateway(192, 168, 1, 1);//Inserir aqui seu gateway;
IPAddress subnet(255, 255, 255, 0); //Inserir aqui sua máscara de rede;
EthernetServer server(80); // Porta de serviço definir como padrão 80;
//-------------------------------------------------------------------
//Declaração das variáveis para leitura da temperatura LM35;
int pinSensorA0 = 0;
int valueA0 = 0;
float LM35 = 0;
//-------------------------------------------------------------------
//Declaração das variáveis para leitura da intensidade luminosa LDR;
int pinSensorA1 = 1;
float LDR = 0;
//-------------------------------------------------------------------
//Declaração das variáveis para leitura do monoxido de carbono MQ-7;
int pinSensorA2 = 2;
int valueA2 = 0;
float gas;
//-------------------------------------------------------------------
int AA3 = A3;//Arduino analogica A3;
int AA4 = A4;//Arduino analogica A4;
int AA5 = A5;//Arduino analogica A5;
//-------------------------------------------------------------------
int D3 = 3;//Arduino digital D3;
int D4 = 4;//Arduino digital D4;
int D5 = 5;//Arduino digital D5;
//-------------------------------------------------------------------
String readString = String(30); // string para buscar dados de endereço;
boolean statusA3 = false; // Variável para o status do led/relé; 
boolean statusA4 = false; // Variável para o status do led/relé; 
boolean statusA5 = false; // Variável para o status do led/relé; 
boolean statusD3 = false; // Variável para o status do led/relé; 
boolean statusD4 = false; // Variável para o status do led/relé; 
boolean statusD5 = false; // Variável para o status do led/relé; 
boolean statusLM35 = false; // Variável para o status do LM35 Alarm;
//--------------------------------------------------------------------
void setup(){
// Inicia o Ethernet;
Ethernet.begin(mac, ip, gateway, subnet);
server.begin();
Serial.begin(9600);// Inicia a comunicação Serial; 
//--------------------------------------------------------------------
//Define pinos como saída;
pinMode(AA3, OUTPUT);
pinMode(AA4, OUTPUT);
pinMode(AA5, OUTPUT);
pinMode(D3, OUTPUT);
pinMode(D4, OUTPUT);
pinMode(D5, OUTPUT);
}

void loop(){
//---------------------------------------------------------------------
//LM35: Contém o Cálculo da temperatura em °C;
valueA0 = analogRead(pinSensorA0);
//Escolher o cálculo de LM35 conforme tensão da fonte do Arduino;
//LM35 = (valueA0 * 0.488);//Cálculo p/ VCC=5.0V;
//LM35 = (valueA0 * 0.479);//Cálculo p/ VCC=4.9V;
//LM35 = (valueA0 * 0.469);//Cálculo p/ VCC=4.8V;
LM35 = (valueA0 * 0.439);//Cálculo p/ VCC=4.5V;
//---------------------------------------------------------------------
//LDR: Contém o valor da intensidade luminosa em LUX;
LDR = analogRead(pinSensorA1);
//----------------------------------------------------------------------
 //Gas sensor MQ-7: Contém a quantidade de gas (CO) no ambiente;
 valueA2 = analogRead(pinSensorA2);
 gas = (valueA2*0.98);//Ajustar o cálculo conforme necessidade;
//----------------------------------------------------------------------
//DHT11: Leitura do sensor de umidade em %, pino D2;
int chk = DHT11.read(DHT11PIN);  
//-----------------------------------------------------------------------
//Ultrasonic Sensor HC-SR04: leituta em Cm, pinos D6 e D7;
float cmMsec;
long microsec = ultrasonic.timing();
//Le e armazena as informacoes do sensor ultrasonico
cmMsec = ultrasonic.convert(microsec, Ultrasonic::CM);
//--------------------------------------------------------------------- 
// Criar uma conexão de cliente;
EthernetClient client = server.available(); 
if (client) {
Serial.println("new client");
boolean currentLineIsBlank = true;
while (client.connected()) {
if (client.available()) {
char d = client.read();
Serial.write(d);
//---------------------------------------------------------------------------    
if (readString.length() < 30)// armazena os caracteres para string
{
readString += (d);
}
//-----------------------------------------------------------------------------        
           if (d == '\n' && currentLineIsBlank) { 
          //Configura o texto e imprime o titulo no browser; 
          // send a standard http response header;
          client.println("HTTP/1.1 200 OK");
          client.println("Content-Type: text/html");
          client.println("Connection: close");
          client.println("Refresh: 5"); //Recarrega a pagina a cada 1seg
          client.println();
          client.println("<!DOCTYPE HTML>");
          client.println("<html>");
                  
          client.print("<font size=3>");//Tamanho da fonte </font>
          client.print("<font color=#000000>");//Fonte da Cor;
          //client.print("<font color=#FF0000><b><u>");//Cor negrito grifado;
//--------------------------------------------------------------------------------------------   
          client.print("Web page: http://sergioarduino.blogspot.com.br/");//Insira aqui o nome
         // de sua página web conforme acima ou numero de IP, exemplo:192.168.1.50:80;
//-------------------------------------------------------------------------------------------        
          client.println("<br />");
          client.println("<br />");
          client.print("</font>");//Fecha Tamanho da fonte </font>
          client.print("</font>");
          client.print("</font color>");//Fecha Cor;
          //------------------------------------------------------------------------
          client.print("<font size=3>");//Tamanho da fonte </font>
          client.print("<font color=#000080>");//Cor;
          client.print("Receiving data from sensors");
          client.println("<br />");
          client.print("connected to the Arduino via");
          client.println("<br />");
          client.print("Ethernet, Network, Wifi or 3G.");
          client.print("</font>");//Fecha Tamanho da fonte </font>
          client.print("</font color>");//Fecha Cor negrito grifado;              
          //client.print("</u></b></font>");//Fecha grifado, negrito e fonte
          client.println("<br />");
          client.println("<br />");
          client.print("</font color>");//Fecha Cor;
 //-----------------------------------------------------------------------------        
       if(readString.indexOf("a3high")>=0)//Arduino Recebe do Android;
          {
            //O Led vai ser ligado;
            digitalWrite(AA3, HIGH);
            statusA3 = true;
          }
          
          if(readString.indexOf("a3low")>=0)//Arduino Recebe do Android;
          {
            //O Led vai ser desligado;
            digitalWrite(AA3, LOW);
            statusA3 = false;
          }
//------------------------------------------------------------------
       if(readString.indexOf("a4high")>=0)//Arduino Recebe do Android;
          {
            // O Led vai ser ligado
            digitalWrite(AA4, HIGH);
            statusA4 = true;
          }
          // Se a string possui o texto L=Desligar
          if(readString.indexOf("a4low")>=0)//Arduino Recebe do Android;
          {
            // O Led vai ser desligado
            digitalWrite(AA4, LOW);
            statusA4 = false;
          }
          
          //------------------------------------------------------------------
       if(readString.indexOf("a5high")>=0)//Arduino Recebe do Android;
          {
            // O Led vai ser ligado
            digitalWrite(AA5, HIGH);
            statusA5 = true;
          }
         
          if(readString.indexOf("a5low")>=0)//Arduino Recebe do Android;
          {
            // O Led vai ser desligado
            digitalWrite(AA5, LOW);
            statusA5 = false;
          }

//------------------------------------------------------------------        
          if(readString.indexOf("d3high")>=0)//Arduino Recebe do Android;
          {
            // O Led vai ser ligado
            digitalWrite(D3, HIGH);
            statusD3 = true;
          }
          
          if(readString.indexOf("d3low")>=0)//Arduino Recebe do Android;
          {
            // O Led vai ser desligado
            digitalWrite(D3, LOW);
            statusD3 = false;
          }
//------------------------------------------------------------------        
          if(readString.indexOf("d4high")>=0)//Arduino Recebe do Android;
          {
            // O Led vai ser ligado
            digitalWrite(D4, HIGH);
            statusD4 = true;
          }
          
          if(readString.indexOf("d4low")>=0)//Arduino Recebe do Android;
          {
            // O Led vai ser desligado
            digitalWrite(D4, LOW);
            statusD4 = false;
          }
//------------------------------------------------------------------        
          if(readString.indexOf("d5high")>=0)//Arduino Recebe do Android;
          {
            // O Led vai ser ligado
            digitalWrite(D5, HIGH);
            statusD5 = true;
          }
          
          if(readString.indexOf("d5low")>=0)//Arduino Recebe do Android;
          {
            // O Led vai ser desligado
            digitalWrite(D5, LOW);
            statusD5 = false;
          }
//-------LM 35 Temperature setup alarm Android envia p/ Arduino------ 
/*
if(readString.indexOf("tempsetup")>=0)//Arduino Recebe do Android;
          {
           LM35 = LM35++;
           
          }          
//------------------LM35 alarm Arduino envia p/ Android-------------- 
if(LM35>=30)
{
 statusLM35 = true; 
 client.print("tempalarmon");//Arduino Ethernet envia para Android; 
}
if(LM35<=29)
{
 statusLM35 = false; 
 client.print("tempalarmoff");//Arduino Ethernet envia para Android; 
}

*/
//------------------------------------------------------------------

client.print("<font size=0>");//Tamanho da fonte </font>
client.print("<font color=#FFFFFF>");//Fonte da cor invisível;

if (statusA3) {
          client.print("athreeon");//Arduino Ethernet envia para Android;
          //String apenas letras;
        } else {
          client.print("athreeof");//Arduino Ethernet envia para Android;
          //String apenas letras;
        }
//------------------------------------------------------------------ 
if (statusA4) {
          client.print("afouron");//Arduino Ethernet envia para Android;
          //String apenas letras;
        } else {
          client.print("afourof");//Arduino Ethernet envia para Android;
          //String apenas letras;
        }
//------------------------------------------------------------------    
if (statusA5) {
          client.print("afiveon");//Arduino Ethernet envia para Android;
          //String apenas letras;
        } else {
          client.print("afiveof");//Arduino Ethernet envia para Android;
          //String apenas letras;
        }

//------------------------------------------------------------------ 
        if (statusD3) {
          client.print("dthreeon");//Arduino Ethernet envia para Android;
        } else {
          client.print("dthreeof");//Arduino Ethernet envia para Android;
          //String apenas letras;
        }
//------------------------------------------------------------------ 
        if (statusD4) {
          client.print("dfouron");//Arduino Ethernet envia para Android;
          //String apenas letras;
        } else {
          client.print("dfourof");//Arduino Ethernet envia para Android;
          //String apenas letras;
        }
//------------------------------------------------------------------ 
        if (statusD5) {
          client.print("dfiveon");//Arduino Ethernet envia para Android;
          //String apenas letras;
        } else {
          client.print("dfiveof");//Arduino Ethernet envia para Android;
          //String apenas letras;
        }
        
        client.print("</font>");//Fecha Tamanho da fonte </font>
        client.print("</font color>");//Fecha Fonte da cor;
//------------------------------------------------------------------ 

        //limpa string para a próxima leitura
        readString="";
//------------------------------------------------------------------------------
          //Código HTML para apresentar na Web valores de temperarura LM35;
          client.print("<font color=#FF0000>");//Fonte da cor;
          client.print("<font size=4>");//Tamanho da fonte </font>
          client.println("<br />");//Pular linha;                   
          
          client.print("<font color=#FF0000>");//Fonte da cor;
          client.print("Temperature---- LM35: ");//Temperature sensor LM35:
          //client.print("<b>");//Negrito;        
          client.print(LM35);//Variável que contém a informação de temp. LM35;
          client.print("C");//Unidade de temperatura em "C" Celsius; 
          client.println("<br />");//Pular linha;
           client.print("</font color>");//Fecha Cor; 
//-------------------------------------------------------------------------------- 
          //Código HTML para apresentar na Web valores de luminodidade LDR;
          client.print("<font color=#00FF00>");//Fonte da cor;
          client.print("Luminosity-- LDR: ");//Luminosidade sensor LDR;
          //client.print("<b>");//Negrito;        
          client.print(LDR);//Variável que contém a informação de LDR;
          client.print("LUX");
          client.println("<br />");//Pular linha;
          client.print("</font color>");//Fecha Cor;
//-------------------------------------------------------------------------------- 
         //Código HTML para apresentar na Web valores de monoxido de carbono (CO) MQ-7;
          client.print("<font color=#0000FF>");//Fonte da cor;
          client.print("Gas sensor --- MQ-7: ");//Carbon Monoxide(CO) Sensor - MQ-7;
          //client.print("<b>");//Negrito;        
          client.print(gas);
          client.print("ppm");
          client.println("<br />");//Pular linha;
          client.print("</font color>");//Fecha Cor negrito grifado; 
//--------------------------------------------------------------------------------- 
          //Código HTML para apresentar na Web valores de umidade DHT11;
          client.print("<font color=#FF00FF>");//Fonte da cor;
          client.print("Humidity ------ DHT11: ");
          //client.print("<b>");//Negrito;        
          client.print((float)DHT11.humidity, 2);
          client.print("%");
          client.println("<br />");//Pular linha;
          client.print("</font color>");//Fecha Cor negrito grifado; 
        
          client.print("<font color=#FFAA00>");//Fonte da cor;
          client.print("Temperature (C) DHT11: ");
          //client.print("<b>");//Negrito;        
          client.print((float)DHT11.temperature, 2);
          client.print("C");//Unidade de temperatura em "C" Celsius;
          client.println("<br />");//Pular linha;
          client.print("</font color>");//Fecha Cor;
          
          client.print("<font color=#800080>");//Fonte da cor;
          client.print("Temperature (F) DHT11: ");
          //client.print("<b>");//Negrito;        
          client.print(Fahrenheit(DHT11.temperature), 2);
          client.print("F");
          client.println("<br />");//Pular linha;
          client.print("</font color>");//Fecha Cor;
         
          client.print("<font color=#008000>");//Fonte da cor;
          client.print("Temperature (K) DHT11: ");
          //client.print("<b>");//Negrito;        
          client.print(Kelvin(DHT11.temperature), 2);
          client.print("K");
          client.println("<br />");//Pular linha;
          client.print("</font color>");//Fecha Cor negrito grifado;
         
          client.print("<font color=#00AAFF>");//Fonte da cor;
          client.print("Dew Point (C)---- DHT11: ");
          //client.print("<b>");//Negrito;        
          client.print(dewPoint(DHT11.temperature, DHT11.humidity));
          client.print("C");//Unidade de temperatura em "C" Celsius;
          client.println("<br />");//Pular linha;
          client.print("</font color>");//Fecha Cor negrito grifado;
         
          client.print("<font color=#808000>");//Fonte da cor;
          client.print("Dew PointFast (C) DHT11: ");
          //client.print("<b>");//Negrito;        
          client.print(dewPointFast(DHT11.temperature, DHT11.humidity));
          client.print("C");//Unidade de temperatura em "C" Celsius;
          client.println("<br />");//Pular linha;
          client.print("</font color>");//Fecha Cor negrito grifado;
 //-------------------------------------------------------------------------------------
          // //Código HTML para apresentar na Web valores do Sensor ultrasonico HC-SR04; 
          client.print("<font color=#800000>");//Fonte da cor;
          client.print("Ultrasonic -HC-SR04: ");
          //client.print("<b>");//Negrito;        
          client.print(cmMsec);//Variável que contém a informação de temp. LM35;
          client.print("CM");//Unidade de temperatura em "C" Celsius;
          client.println("<br />");//Pular linha;
         // client.println("<br />");//Pular linha;
         client.print("</font color>");//Fecha Cor negrito grifado;
                  
         client.println("</b></html>");//Finaliza negrito e html;
 //---------------------------------------------------------------------------------

         break;  
          
         readString="";     
    }    
 //-------------------------------------------------------------------------------    
        if (d == '\n') {
          currentLineIsBlank = true;
        } 
        else if (d != '\r') {
          // you've gotten a character on the current line
          currentLineIsBlank = false;
        }
      
        }
    
        }
    
        delay(1); 
        client.stop();
      
        }
    
        }       
//-----------------------------------------------------------------------  
        //Cálculos para o sensor DHT11;
        //Celsius to Fahrenheit conversion;
double Fahrenheit(double celsius)
{
return 1.812 * celsius + 32;
}

//Celsius to Kelvin conversion
double Kelvin(double celsius)
{
return celsius + 273.15;
}

// dewPoint function NOAA
// reference: http://wahiduddin.net/calc/density_algorithms.htm 
double dewPoint(double celsius, double humidity)
{
double A0= 373.15/(273.15 + celsius);
double SUM = -7.90298 * (A0-1);
SUM += 5.02808 * log10(A0);
SUM += -1.3816e-7 * (pow(10, (11.344*(1-1/A0)))-1) ;
SUM += 8.1328e-3 * (pow(10,(-3.49149*(A0-1)))-1) ;
SUM += log10(1013.246);
double VP = pow(10, SUM-3) * humidity;
double T = log(VP/0.61078);   // temp var
return (241.88 * T) / (17.558-T);
}

// delta max = 0.6544 wrt dewPoint()
// 5x faster than dewPoint()
// reference: http://en.wikipedia.org/wiki/Dew_point
double dewPointFast(double celsius, double humidity)
{
double a = 17.271;
double b = 237.7;
double temp = (a * celsius) / (b + celsius) + log(humidity/100);
double Td = (b * temp) / (a - temp);
return Td;
}
//--------------------------------------------------------------------------------------

6)- Lista de materiais.



Arduino Uno r3.
















Ethernet shield.
















Roteador Wifi.
















Protoboard com leds e jumpers.















Fonte de 9V DC /500mA.



















Bateria de 9V.



















Protoboard.













Jumpers.

















Resistores de 220R ou 330R.



















Módulo com 2 relés ou conforme necesidade.



















Leds.



















Cabo J4 femea para bateria de 9V.



















Cabo USB para conectar o PC ao Arduino.

















Cabo de rede com RJ45.


Nenhum comentário:

Postar um comentário