Um componente muito interessante que temos para o Arduíno é o módulo Arduino Ethernet Shield W5100. Com ele podemos conectar o nosso Arduino à rede local e também à internet, possibilitando acesso remoto, transferência de dados, verificação remota de status de sensores, criar projetos de IoT (Internet das Coisas) e muito mais.

Arduino Ethernet Shield

Este assunto é um pouco complexo em alguns pontos por causa das configurações de rede e permite muitas possibilidades de programação, então estou separando esse assunto em dois posts, sendo:

  • Post 1 – Este post, onde faremos a montagem e configuração IP com Arduino
  • Post 2Neste link, onde mostro como enviar dados do Arduino para um browser, via rede local/ethernet

Vamos lá?

O Arduino Ethernet Shield W5100

O módulo que eu vou usar é o ethernet shield com chipset Wiznet W5100, como esse da foto. Este módulo é compatível tanto com Arduino Uno como com o Arduino Mega, e possui também um leitor de cartões microSD:

ethernet shield w5100

Esse módulo é ligado ao Arduino Uno simplesmente encaixando o módulo na parte superior:

Se você tem o Arduino Mega, o encaixe será feito desta maneira:

A princípio o encaixe fica um pouco estranho, com o shield longe da placa do Arduino, isso ocorre porque os pinos do shield são longos, mas se você reparar na foto abaixo, verá que isso evita que o shield toque no conector USB:

Arduino Ethernet Shield - Detalhe

Com o shield ethernet devidamente encaixado na placa do Arduino, basta ligar o cabo de rede. Na parte superior, temos os leds de status, que mostram o funcionamento do módulo e o status de conexão à rede:

Leds do Ethernet Shield

Placa em funcionamento:

W5100 em funcionamento

Como você pode ver, a conexão da placa com o Arduino não tem muito segredo. Seguimos para a parte de programação e configuração do shield.

Configurando a rede

Vamos testar o funcionamento da placa  utilizando um programa que simplesmente configura o endereço IP, utilizando os valores abaixo. Os valores apresentados são alguns dos mais comuns usados na comunicação IP. Talvez a sua rede use endereços diferentes. Se tiver dúvidas, verifique suas configurações de rede ou deixe um comentário para que eu possa ajudá-lo :

Configuração IP do Ethernet Shield

Carregue o seguinte programa no Arduino:

// Programa: Ethernet Shield Wiznet W5100 - Define endereço IP
// Autor: Arduino e Cia

#include <SPI.h>
#include <Ethernet.h>

// A linha abaixo permite que voce defina o endereço 
// fisico (MAC ADDRESS) da placa de rede
byte mac[] = { 0xAB, 0xCD, 0x12, 0x34, 0xFF, 0xCA };

// Os valores abaixo definem o endereço IP, gateway e máscara. 
// Configure de acordo com a sua rede.
IPAddress ip(192,168,0,100);         //Define o endereço IP
IPAddress gateway(192,168,0,1);    //Define o gateway
IPAddress subnet(255, 255, 255, 0); //Define a máscara de rede

void setup() 
{
  Ethernet.begin(mac, ip, gateway, subnet); //Inicializa o Ethernet Shield
}

void loop() {}

Note que os endereços IP são separados por vírgula, ao invés de ponto, como é habitual. Para verificar o funcionamento da placa, abra um prompt de comando (janela DOS, para os mais antigos) no seu computador, e digite o seguinte comando, seguido de ENTER:

ping 192.168.0.100

Se tudo estiver ok, uma tela parecida com essa será apresentada, indicando que o módulo ethernet foi corretamente configurado e consegue enviar e receber dados pela rede:

Comando Ping rede Arduino

Isso encerra a parte básica de montagem e configuração IP do módulo ethernet. Confira no próximo artigo como enviar dados do módulo para o browser.

1/5 - (328 votos)