Shield Ethernet

Este es el primer “shield” que analizamos, así que en primer lugar aclaramos que una placa shield es una extensión prediseñada para encajar en los pines del Arduino dotándole así de nuevas funcionalidades.

En nuestro caso analizamos el “Shield Ethernet” basado en el chip Wiznet W5100 que nos da acceso a nuestra red local y además incorpora un lector de tarjetas microSD.

Tras ensamblarlos con cuidado vemos que todos los pines quedan accesibles como antes, de modo que aún es posible añadir encima otra placa shield.

Sólo hay que tener en cuenta que los pines que se usan son 4, 10, 11, 12, 13 que corresponden a SlaveSelect y el puerto SPI.

El W5100 y la micro-SD comparten el bus SPI, por lo que sólo uno de ellos puede ser utilizado a la vez. Para utilizar ambos simultáneamente, hay que tenerlo en cuenta al escribir el código

Ahora conectamos la shield a nuestro router mediante un cable de red RJ45, Si está correcto veremos parpadear los leds. En total tenemos 6 en la placa, veamos lo que significa cada uno:

LED Función
TX Envío de datos
RX Recibe datos
COLL Colisión de red
FULLD Conexión Full Duplex
100M Conexión 100 Mb/s
LINK Enlace de red I/O
PWR Placa alimentada

Lo siguiente es encontrar una IP válida. Se puede conseguir una dirección automáticamente mediante DHCP y también es posible forzar una IP determinada, dentro del rango asignado por el router.

Podemos usar el sketch de ejemplo “Ejemplos/Ethernet/DhcAddressPrinter” que en nuestro caso nos da la IP 192.168.0.157 y ahora basta con abrir un navegador web y escribir la IP en la barra de direcciones, veremos el resultado enviado por Arduino. El acceso por esta IP sólo funciona desde nuestra red local, para acceder desde el exterior hay que configurar el router (ver este enlace)

Aunque no lo haya comentado antes, se sobreentiende que para programar esta placa son necesarios unos conocimientos básicos de HTML.

Se puede configurar como cliente o como servidor web, así podemos interaccionar con la placa y monitorizar el estado de los pines de forma remota. Por ejemplo, conectándolo a sensores y relés podemos implementar fácilmente aplicaciones domóticas.

Ejemplo 1

En este ejemplo leemos el valor de una entrada analógica y enviamos el dato por la red, al mismo tiempo podemos cambiar el estado del led conectado al pin 13

 

Lector de tarjetas microSD

Respecto al lector de tarjetas, probamos con una memoria microSD UHS Clase10 de 16 Gb, usando el programa de ejemplo “Ejemplos/SD/CardInfo” nos reconoce una tarjeta SDHC pero con 2897 Mb es decir sólo 3 Gb, en cualquier caso es mucho más de lo necesario para cualquier proyecto, y en la práctica podemos usar cualquier tarjeta antigua que tengamos a mano SD, SDSC y SDHC (no admite SDXC) formateada en FAT16 o FAT32. Los nombres de ficheros no pueden llevar acentos, ni espacios, ni caracteres que no sean alfanuméricos.

La librería que incluye el IDE (<SD.h>) dispone de funciones que nos permiten manejar ficheros

El uso de una tarjeta de memoria SD requiere de muchos recursos de nuestro Arduino, tanto en memoria como en procesador, por tanto sólo se recomienda para proyectos sencillos. Para proyectos exigentes debemos plantearnos usar una plataforma más potente como Raspberry Pi.

El uso de las tarjetas SD lo estudiamos a parte puesto que existen como módulos independientes. En el siguiente enlace analizamos uno de ellos:

Lector de memorias SD

También te podría gustar...