Tutorial Módulo Ethernet ENC28J60 y Arduino
Tutorial Módulo Ethernet ENC28J60 y Arduino
En este tutorial aprenderemos a usar el Módulo Ethernet ENC28J60, con un ejemplo sencillo en
donde accederemos a nuestro Arduino desde internet, encenderemos un LED y visualizaremos
la lectura de un potenciómetro desde un navegador web.
https://naylampmechatronics.com/blog/17_Tutorial-Módulo-Ethernet-ENC28J60-y-Arduino.html 1/8
30/3/2020 Tutorial Módulo Ethernet ENC28J60 y Arduino
El Módulo Ethernet ENC28J60 es popular por su bajo costo, si bien esta desarrollado por
Microchip, existen librerías para hacerlo trabajar con Arduino, consume mucho más memoria
que el Ethernet Shield, pero para aplicaciones básicas es muy útil.
Existe gran información y ejemplos de este módulo en la red, así como diferentes librerías, para
este tutorial utilizaremos una de las librerías más usadas, la librería Ethercard.
https://naylampmechatronics.com/blog/17_Tutorial-Módulo-Ethernet-ENC28J60-y-Arduino.html 2/8
30/3/2020 Tutorial Módulo Ethernet ENC28J60 y Arduino
SS (CS) Pin 10
SCK Pin 13
Hay que resaltar que las conexiones son válidas para el Arduino Uno o placas basadas en el
Atmega328 (Arduino mini pro, Arduino nano, etc) pues el Módulo ENC28J60 usa la
comunicación SPI, por lo que si se trabaja con el Mega, se tiene que conectarse a sus pines
https://naylampmechatronics.com/blog/17_Tutorial-Módulo-Ethernet-ENC28J60-y-Arduino.html 3/8
30/3/2020 Tutorial Módulo Ethernet ENC28J60 y Arduino
SPI correspondientes.
Una vez hecho toda la conexión pasamos a programar el sketch para el Arduino
Si es la Primera vez que estamos programando este módulo es necesario descargar e importar
a nuestro IDE de Arduino la librería Ethercard.
#include <EtherCard.h>
char* EstadoLed="OFF";
void setup () {
Serial.begin(9600);
Serial.println("Test del Modulo ENC28J60");
if (!ether.staticSetup(myip))
Serial.println("No se pudo establecer la dirección IP");
Serial.println();
pinMode(ledPin, OUTPUT);
digitalWrite(ledPin, LOW);
}
https://naylampmechatronics.com/blog/17_Tutorial-Módulo-Ethernet-ENC28J60-y-Arduino.html 4/8
30/3/2020 Tutorial Módulo Ethernet ENC28J60 y Arduino
"<a href=\"/?status=ON\"><input type=\"button\" value=\"ON\"></a>"
"<a href=\"/?status=OFF\"><input type=\"button\" value=\"OFF\"></a>"
"<br /><br />Potenciómetro: $D (resolución de 1024)"
"<br /><br />"
"<a href='http://www.naylampmechatronics.com/'>www.naylampmechatronics.com</a>"
"</body></html>"
),millis()/1000,EstadoLed,analogRead(0));
return bfill.position();
}
void loop() {
if(pos) {
Aquí configuramos nuestra Mac y la IP , podemos poner cualquier valor, evitando duplicar con
algún otro equipo conectado a nuestra red.
En void setup () inicializamos el módulo Ethernet y reportamos por el puerto serial, aquí
también configuramos el pin del led como salida.
https://naylampmechatronics.com/blog/17_Tutorial-Módulo-Ethernet-ENC28J60-y-Arduino.html 5/8
30/3/2020 Tutorial Módulo Ethernet ENC28J60 y Arduino
En la función static word homePage() escribimos nuestra página web, la cual debe estar en
formato HTML:
return bfill.position();
}
Notar que para enviar datos de variables hay que usar los marcadores $L $S $D para después
enviar los datos de tipo Long, cadena, y decimal respectivamente.
También estamos configurando para que el navegador vuelva a cargar la página cada 5
segundos esto se hace con “Refresh: 5”, es necesario cunado estamos mostrando datos que
cambian constantemente. El tiempo de actualización dependerá del tipo de dato que se está
mostrando. En algunas aplicaciones esto no es necesario o se opta por poner un botón para
actualizar. Si no se desea simplemente quitar “Refresh: 5” en la función de la página web.
La siguiente comparación se hace para ver si se han enviado datos desde el navegador
mediante el método GET
En este caso estamos comparando si se ha recibido un dato con el método GET de la siguiente
forma ?status=ON , esto sucede si en el navegador se presiona el botón ON (ver el código
https://naylampmechatronics.com/blog/17_Tutorial-Módulo-Ethernet-ENC28J60-y-Arduino.html 6/8
30/3/2020 Tutorial Módulo Ethernet ENC28J60 y Arduino
Ahora desde un navegador web de nuestra laptop, celular o tablet, accedemos a nuestro
Arduino escribiendo la IP (para nuestro ejemplo 192.168.1.177) en el navegador.
Modificando el código HTML se pueden lograr diseños da paginas mas complejas, se pueden
agregar imágenes, cambiar la fuente y tamaño del texto, agregar tablas, pero esto dependerá
de la habilidad de programación en HTML que tengamos.
Arduino Uno R3
Cable Dupont, hembra a macho 20cm x 20Und
Protoboard 170
Tutoriales Relacionados
Tutorial Ethernet Shield y Arduino
Tutorial ESP8266 Parte I
Tags: Ethernet
https://naylampmechatronics.com/blog/17_Tutorial-Módulo-Ethernet-ENC28J60-y-Arduino.html 8/8