Ethernet Shield W5100
Realizar o controle de sensores ou mesmo enviar informações de forma remota é um dos grandes desafios que quem trabalha com o Arduino. 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 ao Arduino , 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 (datasheet) 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 no seu Arduino. Lembrando que a biblioteca Ultrasonic pode ser encontrada nesse link.
//Programa : Arduino Ethernet Shield W5100 e HC-SR04
//Alteracoes e adaptacoes : AFELETRONICA
//Baseado no programa de
//by David A. Mellis e Tom Igoe
//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,1,88); //Define o endereco IP
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); // Aqui está setado para usar no MEGA2560 = pin53, se for usar em outro arduino, tipo UNO R3 Atmega328P mude para 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( );
// an http request ends with a blank line
boolean currentLineIsBlank = true;
while (client.connected( )) {
if (client.available( )) {
char c = client.read();
Serial.write(c);
//novo
// if you've gotten to the end of the line (received a newline
// character) and the line is blank, the http request has ended,
// so you can send a reply
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(" ");
client.println(" ");
//Mostra valor porta digital 4
int porta_digital = digitalRead(4);
client.print("Porta Digital 4 : ");
client.print(" ");
client.print(porta_digital);
client.println(" ");
client.print(" (1 = Ligada, 0 = Desligada)");
client.println(" ");
//Mostra as informacoes lidas pelo sensor ultrasonico
client.print("SensorUS HC-SR04 : ");
client.print(" ");
client.print(cmMsec);
client.print(" cm");
client.print(" ");
client.print("Visite minha pagina na internet www.afeletronica.com.br");
client.println(" ");
client.println(" ");
client.print(" ");
client.print("curta nos no facebook em www.facebook.com.br/afeletronica");
client.print(" ");
client.print("");
client.println("
");
client.print(" ");
client.print("visite www.afeletronica.com.br");
client.print(" ");
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;
}
}
}
// give the web browser time to receive the data
delay(1);
// close the connection:
client.stop();
}
}
ENVIANDO INFORMAÇÕES PELA REDE:
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 6 (pino TIGGERdo sensor) e 7 (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
Comentários
Nenhum comentário encontrado.