MÓDULO ETHERNET ENC28J60

Quem nunca pensou em acionar dispositivos via web, mas não quer gastar muito?

O brinquedo de hoje é o ENC28J60 (custando por volta de R$20,00) , um modulo ethernet desenvolvido pela MICROCHIP compatível com os padrões IEEE 802.3 (O IEEE 802.3 é uma conexão de padrões que especificam as camadas física e a subcamada MAC da camada de ligação de dados do Modelo OSI para o protocolo Ethernet.)

Implementando somente a camada Enlace do modelo TCP/IP, sendo capaz de tratar apenas o endereçamento MAC, detecção de colisão e retransmissão de pacotes. Possui um buffer de transmissão/recepção de 8KBytes e não suporta conexões simultâneas, um ponto a se notar é seu hardware, vemos que o mesmo exige muito mais do Arduino, ao ter a pilha TCP/IP implementada na biblioteca sendo, em poucas palavras a comunicação do hardware com seu roteador é feita toda no arduino.

Para projetos mais simples você não terá problemas, porem exigir um pouco mais do arduino pode fazer com que o resultado seja muito bem esperado.

Vale apena comprar?

A desvantagem de um pode ser vantagem para outro, o maior problema do ENC28J60 é a implementação do TCP/IP em software, o que penaliza seriamente a performance para projetos maiores, neste caso indicaria o wiz5100 ou uma família ESP, assuntos para outros posts. Possui um cristal de 25Mhz, opera em 3.3v com uma tolerância de até 5v.

PINAGEM:

ENC28J60 usa os seguintes pinos para o UNO 101112 13, +3,3v , RESET ( gosto sempre de colocar , para um possível travamento)  GND , para o MEGA a ligação fica a critério das portas 50, 51, 52 ,53. Os pinos 10, 11, 12 e 13 são os utilizados para a comunicação do módulo com o Arduino:

  • Pino 10  CS (Chip Select). Utilizado para habilitar ou desabilitar o dispositivo Slave.
  • Pino 11   – MOSI (Master Output Slave Input). Envia informações do arduino para módulo ENC28J60.
  • Pino 12  – MISO (Master Input Slave Outpu) Envia informações do ENC26j60 para módulo arduino.
  • Pino 13  – SCK  Clock utilizado para sincronização SPI

MATERIAL:

  • Arduino (Uno ou Mega);
  • Jumpers;
  • Módulo ENC28J60;

ESQUEMA:

enc28j60_arduino_esquema

CÓDIGO:

O código é um exemplo encontrado na biblioteca EtherCard.h

 #include   
 static byte mymac[] = { 0x74,0x69,0x69,0x2D,0x30,0x31 };  
 byte Ethernet::buffer[700];  
 void setup () {  
  Serial.begin(57600);  
  Serial.println(F("\n[testDHCP]"));  
  Serial.print("MAC: ");  
  for (byte i = 0; i < 6; ++i) {  
   Serial.print(mymac[i], HEX);  
   if (i < 5)  
    Serial.print(':');  
  }  
  Serial.println();  
  if (ether.begin(sizeof Ethernet::buffer, mymac) == 0)   
   Serial.println(F("Failed to access Ethernet controller"));  
  Serial.println(F("Setting up DHCP"));  
  if (!ether.dhcpSetup())  
   Serial.println(F("DHCP failed"));  
  ether.printIp("My IP: ", ether.myip);  
  ether.printIp("Netmask: ", ether.netmask);  
  ether.printIp("GW IP: ", ether.gwip);  
  ether.printIp("DNS IP: ", ether.dnsip);  
 }  
 void loop () {}  

Artigo por: Jorge Wallace

Anúncios

Um comentário sobre “MÓDULO ETHERNET ENC28J60

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s