O Arduino Ethernet Shield W5100 conecta a sua placa Arduino à Internet de uma forma rápida e fácil. Basta encaixar este Shield na sua placa Arduino e ligá-lo à rede e a partir daí pode aceder ao seu Arduino pelo computador ou telemóvel de qualquer parte do mundo! Isto incentiva a criação de novos projetos à distância.
A grande vantagem do Ethernet Shield W5100 é o seu formato de shield que proporciona maior facilidade e rapidez na instalação junto ao Arduino.
Outra característica que merece ser destaca é que o Arduino Ethernet Shield W5100 entra em operação quando ligado ao Arduino e ainda assim mantém a grande maioria das saídas da plataforma livre para ligação com outros acessórios.
Este Arduino Ethernet Shield baseia-se no chip WIZnet ethernet W5100 que fornece acesso à rede (IP) nos protocolos TCP ou UDP e é facilmente utilizado usando a biblioteca Ethernet Library e SD Library.
É compatível tanto com o Arduino Uno e Mega e possui um slot para cartão micro-SD que pode ser usado para armazenar arquivos que vão servir na rede.
Características:
• Shield de fácil aplicação;
• Compatível com Arduino Uno e Mega;
• Indicado para a conexão do Arduino com a Internet;
• Ligação por meio do cabo RJ45 (não incluído);
• Slot para cartão micro-SD;
• Suporta até 4 conexões simultâneas.
Especificações:
• Tensão de operação 5V (fornecida pela placa Arduino);
• Controlador Ethernet: W5100 com buffer interno 16K;
• Velocidade da conexão: 10/100Mb;
• Conexão com o Arduino na porta SPI;
• Dimensões(CxLxA): 68x53x10mm;
• Peso: 25g.
Possível Esquema de Ligação:
Código Exemplo:
#include <Ultrasonic.h>
#include <SPI.h>
#include <Ethernet.h>
#define PINO_TRIGGER 6 //Porta ligada ao pino Trigger do sensor
#define PINO_ECHO 7 //Porta ligada ao pino Echo do sensor
Ultrasonic ultrasonic(PINO_TRIGGER, PINO_ECHO);
byte mac[] = {
0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress ip(192,168,1,88);
IPAddress gateway(192,168,1,1);
IPAddress subnet(255, 255, 255, 0);
EthernetServer server(80);
void
setup()
{
Ethernet.begin(mac, ip, gateway, subnet);
server.begin();
}
void
loop() {
float
cmMsec;
long
microsec = ultrasonic.timing();
cmMsec = ultrasonic.convert(microsec, Ultrasonic::CM);
EthernetClient client = server.available();
if
(client) {
Serial.println(
"new client"
);
boolean currentLineIsBlank =
true
;
while
(client.connected()) {
if
(client.available()) {
char
c = client.read();
Serial.write(c);
if
(c ==
'n'
&& currentLineIsBlank) {
client.println(
"HTTP/1.1 200 OK"
);
client.println(
"Content-Type: text/html"
);
client.println(
"Connection: close"
);
client.println(
"Refresh: 2"
);
client.println();
client.println(
"<!DOCTYPE HTML>"
);
client.println(
"<html>"
);
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 />"
);
int
porta_digital = digitalRead(3);
client.print(
"Porta Digital 3 : "
);
client.print(
"<b>"
);
client.print(porta_digital);
client.println(
"</b>"
);
client.print(
" (0 = Desligada, 1 = Ligada)"
);
client.println(
"<br />"
);
client.print(
"Sensor Ultrasonico : "
);
client.print(
"<b>"
);
client.print(cmMsec);
client.print(
" cm"
);
client.println(
"</b></html>"
);
break
;
}
if
(c ==
'n'
) {
currentLineIsBlank =
true
;
}
else
if
(c !=
'r'
) {
currentLineIsBlank =
false
;
}
}
}
delay(1);
client.stop();
}
}