Módulo Ethernet ENC28j60 no arduino

25 SET
2015

Autor: Leonardo Dalla Porta

Já pensou em desenvolver um projeto, seja na área de automação por exemplo, onde você precisa um script para se comunicar com a internet, para poder usar em qualquer dispositivo seja em algum celular, ou até no PC, isso só é possível com o Shield Ethernet. Nesse tutorial estaremos mostrando como utilizar esse Módulo Ethernet ENC28j60, através de um Arduino e uma pagina de “hello world” na web, muito simples!

 

Você vai precisar de:

  • Arduino
  • Módulo Ethernet ENC28j60
  • Jumpers
  • Protoboard

 

Conexões:

Agora é hora de ligar o módulo. Você pode usar um conector para colocar no módulo Ethernet ou solde diretamente sobre os pinos. Você vai precisar de apenas seis jumpers. Liga se da seguinte forma:

Liga-se da seguinte forma (ENC > Arduino):

– ENC SO -> pino Arduino 12

– ENC SI -> pino Arduino 11

– ENC SCK -> Arduino pino 13

– ENC CS -> Arduino pino 8

– ENC VCC -> Arduino 3V3 pin

– ENC GND -> Arduino Gnd

 

ENC28J60

Se tudo estiver certo ao ligar o Arduino o módulo deverá acender alguns leds.

 

Código

O último passo é fazer upload de código Arduino para se conectar à Internet. Para o módulo ENC28J60, existem duas bibliotecas Arduino disponíveis: Ethershield (desenvolvimento parado) e EtherCard (o mais novo).Coloque um esboço e vamos ver o Arduino como um servidor web, Nesse caso, ao você conectar seu Módulo ENC28J60 na sua rede, e ao conectar na rede no seu navegador basta digitar o IP disponível no código como: “static byte myip[] = { 192,168,1,203 };”, antes de testar, veja se isso está disponível na sua rede:

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
// This is a demo of the RBBB running as webserver with the Ether Card
// 2010-05-28 <jc@wippler.nl> http://opensource.org/licenses/mit-license.php
 
#include <EtherCard.h>
 
// ethernet interface mac address, must be unique on the LAN
static byte mymac[] = { 0x74,0x69,0x69,0x2D,0x30,0x31 };
static byte myip[] = { 192,168,1,203 };
 
byte Ethernet::buffer[500];
BufferFiller bfill;
 
void setup () {
 if (ether.begin(sizeof Ethernet::buffer, mymac) == 0)
 Serial.println( "Failed to access Ethernet controller");
 ether.staticSetup(myip);
}
 
static word homePage() {
 long t = millis() / 1000;
 word h = t / 3600;
 byte m = (t / 60) % 60;
 byte s = t % 60;
 bfill = ether.tcpOffset();
 bfill.emit_p(PSTR(
 "HTTP/1.0 200 OK\r\n"
 "Content-Type: text/html\r\n"
 "Pragma: no-cache\r\n"
 "\r\n"
 "<meta http-equiv='refresh' content='1'/>"
 "<title>RBBB server</title>"
 "<h1>$D$D:$D$D:$D$D</h1>"),
 h/10, h%10, m/10, m%10, s/10, s%10);
 return bfill.position();
}
 
void loop () {
 word len = ether.packetReceive();
 word pos = ether.packetLoop(len);
 
 if (pos) // check if valid tcp data is received
 ether.httpServerReply(homePage()); // send web page data
}

Com um pouco de hacking, você pode facilmente adicionar o código para exibir os valores analógicos lido os pinos analógicos, por exemplo.

Qualquer dúvida deixe seu comentário abaixo, espero ter sido esclarecedor, um abraço e até a próxima!

Faça um bom uso! Att. Equipe Nadiel Comércio.

Deixe um comentário

mugen 2d fighting games

*

 
mugen 2d fighting games
WordPress Themes