Tutorial Ethernet - Arduino
Tutorial Ethernet - Arduino
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.
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
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!