Tengo un problema con la ejecución de ENC28J60 con Arduino con EtherCard.h. Este es el dispositivo que uso: enlace Esta es la biblioteca y ejemplos: enlace Yo uso Arduino IDE 1.5.4 en Windows. La biblioteca y skeches compilados sin ningún error. Intenté conectar ENC28J60 a Arduino MEGA 2560 de esta manera: GND GND VCC 3.3V SO Pin50 SI Pin51 SCK Pin52 CS Pin53
Los LED en el RJ45 estaban activos (verde encendido, amarillo parpadeando), pero el DHCP o la IP estática del ejemplo fallaron o mostraron una IP 0.0.0.0. El enrutador detectó el nuevo dispositivo pero el dispositivo no respondió a los pings. Probé el ejemplo modificado con la línea modificada:
if (ether.begin (sizeof Ethernet :: buffer, mymac, 53) == 0) Serial.println ("Error al acceder al controlador de Ethernet");
Donde el pin 53 se especifica en la función ether.begin (), con el mismo resultado. Entonces intenté conectar ENC28J60 a Arduino Nano de esta manera:
VCC 3.3v GND GND SCK Pin 13 SO Pin 12 SI Pin 11 CS Pin 8
Pero luego, los LED en el RJ45 parpadearon durante la conexión del cable Ethernet y se apagaron. El LED rojo en ENC28J60 estaba encendido durante los experimentos anteriores.
Apreciaría cualquier ayuda. Encontré muchos proyectos con google donde la gente usa ENC28J60 + Arduino Mega / Nano sin ningún problema. Creo que la versión de la biblioteca EtherCard puede no funcionar con el último IDE de Arduino que tengo, pero no sé qué versión debería usar, o tal vez debería usar otra biblioteca.
Necesito el controlador Ethernet para servir una página web simple que permita cambiar el estado de relé ON / OFF.
Algunas actualizaciones:
Después de un poco de depuración puedo ver que el código se cuelga en esta línea:
while (!readOp(ENC28J60_READ_CTRL_REG, ESTAT) & ESTAT_CLKRDY)
;
en el archivo enc28j60.cpp. Sospecho que tengo el módulo enc28j60 defectuoso.