Eu recomendo comprar no dealextreme, porque o preço está em promoção, esse shield geralmente é caro pois tem grande demanda, e o DX está com uma promoção muito boa para componentes eletrônicos e Arduino, mesmo que demore um pouco mais para receber, vale a pena fazer o pedido.
Visão Geral:
A placa é muito bem feita, possui próprio regulador de tensão, e os pinos do Arduino continuam acessíveis:
Ele funciona diretamente com a biblioteca oficial do Arduino e possui um slot para cartão micro-SD, que pode ser usado para armazenar arquivos, como uma pagina na web, ou até mesmo para fazer logs.
É compatível com o Arduino Duemilanove (168 ou 328), Uno,assim como Mega (1280/2560) e pode ser acessadausando a biblioteca SD.O W5100 Wiznet oferece suporte a TCP e UDP,e suporta até quatro conexões de soquete simultânea.
O que as luzes significam:
PWR: indica que a placa e shield são alimentados
LINK: indica a presença de um link de rede e pisca quando o escudo transmite ou recebe dados
FULLD: indica que a conexão de rede é full duplex
100M: indica a presença de uma ligação de rede 100 Mb / s (em vez de 10 Mb / s)
RX: pisca quando o shield recebe dados
TX: pisca quando o shield envia dados
COLL: pisca quando colisões de rede são detectados
O shield não é fornecido com o módulo PoE embutido, que é um componente separado que deve ser adicionada.
Arduino se comunica tanto com o W5100 e cartão SD utilizando o canal SPI (através do conector ICSP). Isto é em pinos digitais 11, 12, e 13 no Duemilanove e os pinos 50, 51, e 52 no Mega. Em ambas as placas, pinos 10 é utilizado para selecionar o W5100 e o pino 4 para o cartão SD. Estes pinos não pode ser usado como i/o. No Mega, o hardware SS pino, 53, não é usado para selecionar o W5100 ou o cartão SD, mas deve ser mantido como uma saída ou a interface SPI não irá funcionar.
Observe que, como o W5100 e SD usam barramento SPI, apenas um pode estar ativo de cada vez. Se você estiver usando ambos os periféricos em seu programa, deve se tomar cuidado de ligar e desligar os periféricos. Se você não está usando um dos periféricos em seu programa, no entanto, você precisa explicitamente desliga-lo. Para fazer isso com o cartão SD, definir pino 4 como uma saída e escrever como saída alta para ele. Para o W5100, definir pino digital 10 como uma saída alta.
Código de exemplo:
Esse código é bem simples, ele vai criar um servidor web sobre o IP do Ethernet Sheild, na porta 80. Nesse client você pode colocar todos tipos de informações, nesse casso ele esta mostrando uma frase, o codigo esta muito bem comentado e fácil de entender, so compilar e gravar.
#include <SPI.h>
#include <Ethernet.h>byte mac[]= {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; // Aqui vc coloca seu MAC
byte ip[] =(192,168,0,120); // Aqui vc coloca um IP, varia de acordo com sua rede
void setup()
{
Serial.begin(9600); // Abre comunicacao serialEthernet.begin(mac, ip); // define seu mac e IP
server.begin(); // inicia servidor
Serial.print("server is at "); // imprime endereco IP na serial
Serial.println(Ethernet.localIP());
}
void loop()
{
EthernetClient client = server.available(); // procura clients conectadosif (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("Connnection: close");
client.println();
client.println("<!DOCTYPE HTML>");
client.println("<html>");
client.println ("<center>");
client.println ("<H1>DEALEXTREME ETHERNET</H1>");
client.println ("</center>");
client.println("</html>");break;
}
if (c == '\n') {
currentLineIsBlank = true;
}
else if (c != '\r') {
currentLineIsBlank = false;
}
}
}
delay(1);
client.stop();
Serial.println("client disonnected");
}
}
Vale lembrar que esses e outros exemplos podem ser encontrados na própria pagina do Arduino, e em meu blog.
Isso é o que vai aparecer quando você abrir o http:// SEU IP:80
Essas são imagens do circuito funcionando:
Esse modulo é muito bom, vale a pena ter, pois eleva o nível dos seus projetos, é relativamente barato, e pode ser usado com todos microcontroladores. Fica na sua imaginação de como vai usar.
Lembrando que ele é 2 em 1 pois tem o cartão SD, que serve para varias outras aplicações. Vou deixar agora umas imagens com zoom, para mostrar como a qualidade das placas é boa:
Mostrando o chip wiznet, que pode esquentar um pouco, é normal:
Mostrando o conector RJ45, o botão de reset :
Slot de cartão SD, muito útil para paginas web grandes:
Os pinos são bem longos, assim ele não encosta no seu Arduino, prevenindo contra curto circuito:
É isso ai, até a próxima!!