Sei sulla pagina 1di 9

Tutorial creado por Luis de

Uso del mdulo ethernet ENC28J60 con Arduino : Parte 1


Hola, en esta ocacin quiero compartir un tutorial para utilizar un mdulo ENC28J60 que proporciona conectividad ethernet a cualquier microcontrolador, en este caso lo usaremos mediante un Arduino o sea un Atmega328 En el mercado encontraremos diferentes presentaciones de este mdulo, algunas vienen en formato de Shield, yo consegui una tarjeta mas pequea pero que se cablea facilmente al Arduino El mdulo que se uso para este tutorial es el siguiente:

Tamben existe la version "shield":

En las bibliotecas de Arduino ya encontramos una librera ethernet, el problema es que esta librera esta diseada para operar con un mdulo diferente, el WIZnet W5100, por lo que no es compatible, despues de probar varias opciones al fin

encontre una que funcion sin problemas y que se puede descargar desde la sig. liga: http://www.infinitecrobotics.com/Extras/Ethernet/EtherCard.zip

Bueno empezaremos cableando el mdulo ethernet al Arduino, para esto usamos el siguiente diagrama:

Cabe mencionar que la comunicacion entre el mdulo ethernet y el arduino se lleva acabo utilizando un protocolo que se llama SPI o Serial Peripheral Interface

SPI es un protocolo serial sincrono que se utiliza para comunicar un microcontrolador con otro y con perifricos a distancias cortas. Para hacer una conexion SPI siempre habr un dispositivo maestro (usualmente un microcontrolador) que controlar uno o varios perifricos (esclavos), se utilizan por lo generar 3 lineas de conexin y una de seleccin que son: * SO o MISO (Master In Slave Out). La linea que utiliza el esclavo para enviar datos al maestro * SI o MOSI (Master Out Slave In). Datos del maestro al esclavo. * SCK (Serial clock). Pulsos de reloj para sincronizar la comunicacin * CS o Select. Se usa por el master para habilitar o deshabilitar un determinado perifrico

Los microcontroladores atmel incluyen las 4 lineas para usar protocolo SPI las cuales obviamente estn presentes en los pines del arduino, para el arduino uno se deben usar: Pin digital 10 para CS, Pin digital 11 para SI, Pin digital 12 para SO y Pin digital 13 para SCK, en el caso del arduino mega se usara los sig. pines: 50 (MISO), 51 (MOSI), 52 (SCK), and 53 (CS). La alimentacin del mdulo puede ser a 3.3 o 5V, yo us ambos para las pruebas y no encontr ninguna diferencia as que lo deje puesto a 3.3V.

As queda nuestro mdulo cableado:

Despus de cablear el mdulo lo que sigue es instalar la librera, como estoy usando la versin de Windows, las rutas sern en ese formato, primero busco el archivo que descargu, el mio qued guardado con el mismo nombre EtherCard.zip

A continuacin descomprimo el archivo y envo la carpeta descomprimida al directorio de Arduino/libraries (o la ruta donde est instalado el ide de arduino)

Despus de este paso abrimos el IDE de arduino y en el menu de Ejemplos ya deben aparecer los ejemplos de la libreria EtherCard

Seleccionamos el ejemplo pingsStaticIP

En las variables myip y gwip colocamos primero la ip que querramos asignar al arduino (en mi caso 192.168.1.188) y despus la ip de nuestra puerta de enlace o gateway, en mxico para las redes de infinitum y una gran mayora de las redes domsticas este valor es el que se muestra (192.168.1.254), una vez hecho este pequeo cambio descargamos el script al arduino y abrimos el monitor serial donde vemos el arranque del script:

Si analizamos el script vemos que hay una rutina que obtiene via dns la direccion ip del dominio www.google.com y se queda envindole pings, en el monitor vemos los tiempos de respuesta del servidor de google (Esta parte solo funcionar si estamos conectados a internet). Si nosotros abrimos una ventana de comandos y hacemos ping a la direccin ip del arduino debemos ver una respuesta como la de abajo, en la pantalla del monitor serial tamben podemos ver las solicitudes de ping enviadas por la pc y recibidas por el arduino

Si lograron llevar acabo con xito todos los pasos felicidades! oficialmente acaban de darle conectividad de red a su arduino. En la segunda parte del tutorial aprenderemos como convertir nuestro arduino en un servidor web para poder monitorear y controlar las salidas y entradas de la placa, hasta la prxima!

Potrebbero piacerti anche