Realizar
o controle de sensores ou mesmo enviar informações de forma remota é um dos
grandes desafios de quem trabalha com o Uno, Mega, etc. O Ethernet Shield W5100 é
um dispositivo da família, que possibilita o acesso a informações na sua rede
local, ou monitoramento quando conectado à internet em qualquer lugar do mundo.
Conectando
o Ethernet Shield W5100 à placa , com um simples
cabo de rede em pouco tempo é possível começar a monitorar o estado de sensores, ou
acionamento de um dispositivo à distância através do browser de seu computador
ou celular.
O
Shield Ethernet Shield W5100
utiliza o ethernet chip Wiznet W5100 o
mesmo fornece um endereço IP compatível
com os protocolos TCP e UDP.
Para utilizar o
seu shield ethernet é necessário configurar corretamente com um endereço IP
válido da sua rede à seguir mostramos como obter as informações de rede no
Windows 7, mas o procedimento é o mesmo para outros sistemas operacionais.
Configurando o IP:
Clique
em INICIAR e, na caixa de diálogo, digite CMD. Pressione a tecla ENTER :
Na
janela de comando prompt, digite ipconfig /all em
seguida aperte ENTER
Uma
vez executado o comando será apresentado as informações à seguir na tela do
prompt. Localize pela informação referente à sua placa de rede principal, parecido
como destacado em amarelo na imagem, são essas informações necessárias para
configurar o shield : Endereço IP, Máscara de sub-rede e
Gateway Padrão :
Estas três informações
[parâmetros] serão definidos logo no início do programa, sendo necessário
altera-lo de acordo com a configuração da sua rede :
IPAddress
ip(192.168.2.103) : Substitua 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.2.103,
mas no programa estamos utilizando 192.168.2.102. No entanto antes de usar
qualquer endereço da rede verifique se o mesmo ainda não está em uso por nenhum
outro equipamento/dispositivo.
IPAddress
gateway(192.168.2.1) : Nesta linha utilize o mesmo endereço do Gateway Padrão obtido na janela de prompt
de comando. No nosso caso, 192.168.2.1
IPAddress
subnet(255,255,252,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
Altere
os parâmetros de acordo com a sua configuração de rede, salve, compile o
programa salve o programa e carregue-o na sua placa de desenvolvimento. Lembrando que a
biblioteca Ultrasonic pode ser encontrada nesse link.
//Programa : Ethernet Shield W5100 e HC-SR04
//Alteracoes e adaptacoes : AFELETRONICA
//Baseado no programa de
//by David A. Mellis e
Tom Igoe
#include <SPI.h>
#include <Ethernet.h>
#include
<Ultrasonic.h>
//Define os parametros para o sensor ultrasonico HC-SR04
#define
PINO_TRIGGER 2 //Porta ligada ao pino Trigger do sensor
#define
PINO_ECHO 3 //Porta ligada ao pino Echo do sensor
//Inicializa o sensor ultrasonico
Ultrasonic ultrasonic(PINO_TRIGGER, PINO_ECHO);
//Definicoes de IP, mascara de rede e gateway
byte
mac[] = {0xDE,
0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress ip(192,168,2,102); //Aqui DEFINA SEU ENDEREÇO IP
IPAddress gateway(192,168,2,1); //Define o gateway
IPAddress subnet(255, 255, 255, 0); //Define a máscara de rede
//Inicializa o servidor web na porta 80
EthernetServer server(80);
String
readString;
int Pin
= 4; // pin digital 4 em à 3v3 ou 5V é
mostrado no browser estado pin4
void
setup()
{
pinMode(10, OUTPUT); // SE MEGA2560 = pin53; SE UNO R3 = 10
digitalWrite(10,HIGH);
//Inicializa a interface de rede
pinMode(Pin, OUTPUT);
Ethernet.begin(mac, ip, gateway,
subnet);
server.begin();
}
void loop() {
float cmMsec;
long microsec =
ultrasonic.timing();
//Le e
armazena as informacoes do sensor ultrasonico
cmMsec
= ultrasonic.convert(microsec, Ultrasonic::CM);
//Aguarda conexao do
browser
EthernetClient client =
server.available();
if (client) {
Serial.println("new client");
char c = client.read();
boolean currentLineIsBlank = true;
while (client.connected()) {
if (client.available()) {
char c = client.read();
Serial.write(c);
if (c == '\n' && currentLineIsBlank)
{
// 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: 2");
//Recarrega a pagina a cada 2 segundos
client.println();
client.println("<!DOCTYPE
HTML>");
client.println("<html>");
//Configura o texto e imprime o titulo no browser
client.print("<font
color=#FF0000><b><u>");
client.print("Envio
de informacoes pela rede utilizando Arduino");
client.print("</u></b></font>");
client.println("<br
/>");
client.println("<br
/>");
//Mostra valor porta digital 4
int
porta_digital = digitalRead(4);
client.print("Porta Digital 4 : ");
client.print("<b>");
client.print(porta_digital);
client.println("</b>");
client.print(" (1 = Ligada, 0 = Desligada)");
client.println("<br />");
//Mostra as informacoes lidas pelo sensor ultrasonico
client.print("SensorUS HC-SR04 : ");
client.print("<b>");
client.print(cmMsec);
client.print(" cm");
client.println("<br
/>");
client.print("Visite
minha pagina na internet www.afeletronica.com.br");
client.println("</b></html>");
client.println("<br
/>");
client.print("<font
color=#FF0000><b><u>");
client.print("curta
nos no facebook em www.facebook.com.br/afeletronica");
client.print("</u></b></font>");
client.print("</u></b></font>");
client.println("<br
/>");
client.print("<font
color=#FF0000><b><u>");
client.print("visite
www.afeletronica.com.br");
client.print("</u></b></font>");
break;
}
if (c == '\n') {
// you're starting a new line
currentLineIsBlank = true;
}
else if (c != '\r') {
// you've gotten a character on the
current line
currentLineIsBlank = false;
}
}
}
delay(1);
// close the connection:
client.stop();
}
}
|
|
ENVIANDO INFORMAÇÕES PELA REDE com o arduino:
Conecte
o Arduino ao Ethernet Shield W5100, ligue-o à um roteador ou hub usando um cabo de
rede. Usaremos o webserver embarcado na placa de ethenet para enviar ao browser
duas informações sobre as portas do Arduino, uma informando sobre o estado
(ligado/desligado) de um botão ligado à porta 4, e outro com informações sobre
o US HC-SR04,
ligado às portas 2 (pino TIGGERdo sensor) e 3 (pino echo do sensor) :
Para
testar o funcionamento, abra o browser no seu computador e digite na barra de
endereços o IP que você configurou no programa. No nosso caso 192.168.2.102 :