Olá galera, já vimos com testar nossa placa ethernet, com acender led, e agora vamos aprender como acender lâmpada com o Shield Ethernet. Com este projeto você também poderá acionar outros eletrodomésticos, como ventiladores, ar condicionados, entre outros. O shield utilizado é o Ethernet shield Wiznet W5100, onde se pode encontrar facilmente pela internet em lojas especializadas. Então vamos lá galera! Os códigos serão todos comentados para melhor entendimento, podendo ser retirados após a compreensão de cada linha. Bom trabalho !!!
COMPONENTES NECESSÁRIOS
1 Arduino Uno R3
1 Ethernet shield Wiznet W5100
1 Lampada com soquete
1 Plug macho
Fios jumpers
Fio para conexão
CONECTANDO OS COMPONENTES
Primeiro, certifique-se de que seu Arduino esteja desligado, desconectando-o do cabo USB. Agora, conecte o shield ethernet e os demais componentes assim como mostra a figura abaixo.
CONECTANDO O CABO DE REDE
Com o shield devidamente encaixado no Arduino, agora devemos ligá-lo ao cabo de rede e a energia com o cabo USB. Na parte superior temos os leds de indicação que mostram o funcionamento do módulo e o status de conexão da rede como as figuras abaixo:
AGORA VAMOS AO CÓDIGO
// Projeto 23 – Acendendo lâmpada com Shield Ethernet e rele
#include <SPI.h>
// Biblioteca utilizada para comunicação com o Arduino
#include <Ethernet.h>
// A linha abaixo permite definir o endereço físico (MAC ADDRESS) da...
//placa de rede.
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte ip[] = { 192, 168, 2, 103 }; //Define o endereço IP.
// Porta onde estará aberta para comunicação Internet e Arduino.
EthernetServer server(80);
String readString;
int Pin = 9; // Pino digital onde será ligado e desligado o LED.
void setup(){
pinMode(Pin, OUTPUT); // Define o Pino 9 como saída.
Ethernet.begin(mac, ip); // Chama o MAC e o endereço IP da placa Ethernet.
server.begin(); // Inicia o servidor que esta inserido junto a placa Ethernet.
}
void loop(){
EthernetClient client = server.available();
if (client) {
while (client.connected()) {
if (client.available()) {
char c = client.read();
if (readString.length() < 100) {
readString += c;
}
if (c == '\n') {
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println();
// A partir daqui começa os códigos html.
client.println("");
client.println("");
client.println("
Acende Lampada
");
client.println("
Acendendo lampada com Shield Ethernet e rele
");
client.println("
");
client.println("
");
client.println
("Acender lampada");
client.println
("Apagar lampada
");
client.println("");
client.println("");
delay(1);
client.stop();
if(readString.indexOf("facacomarduino/LampadaOn") > 0)
{
digitalWrite(Pin, HIGH); // Liga Lampada.
}
else {
if(readString.indexOf("facacomarduino/LampadaOff") > 0)
{
digitalWrite(Pin, LOW); // Desliga Lampada.
}
}
readString="";
}
}
}
}
}
Para certificar se o código está correto pressione o botão Verify/Compile. Se tudo estiver correto pressione o botão Upload para fazer o upload do código para seu Arduino.
PARA VISUALIZAR AS DEFINIÇÕES DE SUA REDE SIGA OS PASSOS ABAIXO:
1) Entre no campo executar de seu Windows;
2) Digite CMD, irá abrir a tela do DOS;
3) Digite ipconfig, e aperte ENTER;
4) Pronto os dados reais de sua rede serão mostrados;
5) Se o seu IP for 192.168.2.189, você deverá mudar o ultimo digito por 4 por exemplo e preencher no código acima para não haver conflito com seu MAC / IP reais;
ACENDENDO A LAMPADA
Com o programa já copilado vamos verificar se agora está funcionando corretamente, siga os passos abaixo:
1) Entre em seu navegador (Eu usei o Chrome e Firefox: funcionou perfeitamente);
2) Digite na barra de endereço o IP com o ultimo digito diferente do seu, por exemplo 192.168.2.184 e ENTER;
3) Pronto você irá ver um página HTML contendo um pequena descrição e dois links “Acender lampada” e “Apagar lampada”, clique neles e verá a lampada acender ou apagar;
fonte:facacomarduino.info