Manual

do

Maker

.

com

Ethernet ENC28J60 fácil com Arduino

Ethernet ENC28J60 fácil com Arduino

Recentemente recebi esse ethernet shield do nosso parceiro Fulltronic para escrever um artigo e dar minha opinião a respeito desse módulo ethernet, que colocará seu Arduino em rede de forma fácil. Bem, comecarei dando minha opinião antes de entrarmos na diversão.

Porque utilizar um modulo através de wiring invés de shield

A começar pelo preço (clique aqui mesmo), que é imbatível, você gasta quasse nada e tem o mesmo recurso que um ethernet shield. Já é um bom motivo caso você deseje economizar uns trocados para comprar mais brinquedos. Mas se não for levar em consideração o preço, ainda há benefícios sobre a utilização de um shield, por exemplo, pelo fato de poder extendê-lo a uma distância um pouco maior do que sobre o próprio Arduino. E isso pode ser ideal em projetos que exijam adaptação de posicionamento, flexibilizando a tarefa. Acredite, se você não precisa desse recurso agora, poderá precisar a qualquer momento, exceto seja para utilizar em seu Arduino de mesa. Por último, a maior vantagem de utilizar esse módulo invés de shields é que você terá flexibilidade para escolher os pinos, invés de ser obrigado a utilizar a definição de pinos por hardware.

Wiring

O wiring é bastante simples, não tem nenhum segredo, bastando atentar-se à alimentação do módulo, que é 3.3V, portanto, não conecte-o ao 5V e sim ao 3.3V. Apenas isso, o resto é tranquilo.

enc28j60_wiring-300x171.webp

Gostaria de dizer previamente que o wiring que disponho é a forma que foi definida na biblioteca, mas se quiser trocar os pinos, basta editar e definir na biblioteca conforme desejar.

CLKOUT-INTDigital 2
WOL-S0Digital 12
SIDigital 11SCKDigital 13
CSDigital 10RESETReset
VCC3.3V do ArduinoGNDGND Arduino

 

Biblioteca

Feito o wiring, hora de codificar. Mas eu não vou escrever nenhum código especial, os exemplos padrão contidos na própria IDE são mais que suficiente. Apenas vou disponibilizar as bibliotecas necessárias porque fui obrigado a dar um pequeno tapa em algumas tipagens, mas nada que valha a pena enaltecer.

Infelizmente o pacote que era recomendado não está mais presente no dropbox. Segue o jogo, afinal, houve atualização e a biblioteca oficial disponível no repositório do Arduino deve servir adequadamente.

Codificando

Como disse, nenhum código especial. Apenas fiz um contador, inclusive sem meta-refresh, você precisará apertar F5 no browser para ver a atualização.

#include "etherShield.h"
#include "ETHER_28J60.h"
 
static uint8_t mac[6] = {0x54, 0x55, 0x58, 0x10, 0x00, 0x24};

static uint8_t ip[4] = {192, 168, 2, 111};
 
static uint16_t port = 80; 
 
ETHER_28J60 e;

void setup()
{ 
  e.setup(mac, ip, port);
}
 
void loop()
{
  if (e.serviceRequest())
  {
    e.print(counter);
    e.respond();
  }
  delay(100);
  counter = counter > 1000 ? 0 : counter+1;
}

Simples demais, não? Por mais tempo que tenham as bibliotecas e módulos ethernet, nenhum vez foi transparente para mim sua utilização, por isso acredito que tenha sido útil escrever esse artigo, espero que tenha gostado.

Inscreva-se no nosso canal Manual do Maker Brasil no YouTube.

Nome do Autor

Djames Suhanko

Autor do blog "Do bit Ao Byte / Manual do Maker".

Viciado em embarcados desde 2006.
LinuxUser 158.760, desde 1997.