Skip to Content

Una guía completa sobre el escudo de red Ethernet 5100 para Arduino UNO

Una guía completa sobre el escudo de red Ethernet 5100 para Arduino UNO

Un escudo de red Arduino le permite llevar sus proyectos a Internet.

Con el aumento de las aplicaciones de IoT (Internet de las cosas), Arduino UNO con un escudo de red (W5100) es una gran opción para llevar la conectividad a Internet a sus proyectos Arduino. 

Puedes utilizar el escudo Arduino en proyectos de automatización, aplicaciones de control remoto y pantallas de lujo que muestren mensajes de medios sociales como Twitter.

En este artículo, te llevaré a través de un recorrido por todo lo que necesitas saber sobre el ethernet shield W5100.

Cubriré las características, capacidades, hacks, y el diagrama de conexión, incluyendo la biblioteca de proyectos de ejemplo. 

Al final de este tutorial, tendrás toda la información necesaria para construir tu proyecto de Internet de las Cosas basado en Arduino.

Comencemos.

Componentes necesarios para construir el Arduino Ethernet Network Shield W5100

Componentes de hardware

Software

Makerguides.com participa en el Programa de Asociados de Amazon Services LLC, un programa de publicidad de afiliados diseñado para proporcionar un medio para que los sitios ganen honorarios de publicidad mediante la publicidad y los enlaces a productos en Amazon.com.

¿Qué es el escudo Ethernet W5100?

El Arduino Ethernet shield W5100 es un shield diseñado para conectarse a un Arduino UNO rápidamente.

Puede montar el escudo W5100 directamente en el Arduino UNO sin ningún cable o conector.

Esa es la mejor parte del escudo.

Puedes encontrar los esquemas del W5100 en este enlace. Asegúrate de que la versión de la muestra que tienes coincide con la versión de la hoja de datos.

Breve introducción al chip W5100

El chip W5100 está diseñado para aplicaciones integradas. Dispone de un controlador Ethernet 10/100 integrado. Dispone de una pila TCP/IP totalmente cableada y un Mac y un PHY Ethernet integrados.

Tener una pila cableada significa que no necesitas un sistema operativo para gestionar TCP/IP en la MCU. 

Puedes comunicarte con este CI a través de la interfaz SPI o del bus directo. Sólo se necesita una API a nivel de socket para programar el CI y permitir la conectividad a Internet en sus proyectos.

Aplicaciones de los proyectos basados en el escudo W5100

A continuación se enumeran varios ejemplos de usos que pueden utilizar el escudo:

  1. Pantallas LED seriales controladas por Ethernet
  2. Sensores de red domésticos (temperatura de la habitación, niveles de humedad, etc., a través de Ethernet)
  3. Control remoto de aparatos como fuentes de alimentación y dispositivos médicos en los que se puede supervisar el estado a través de Internet desde un lugar remoto
  4. Automatización de fábricas 
  5. Cree su servidor de archivos conectando una memoria USB al proyecto, etc.

Características del W5100 Arduino Ethernet Shield

  • El escudo W5100 soporta los siguientes protocolos de hardware: ICMP, TCP, UDP, IGMP, PPPoE, IPv4 ARP, Ethernet.
  • El escudo ayuda a la autonegociación (tanto para el funcionamiento semidúplex como para el dúplex completo).
  • Se admite MDI/MDIX automático.
  • Dispone de 16 kbytes de memoria para almacenar, recibir y transmitir mensajes.
  • Las indicaciones LED para el estado incluyen Enlace, velocidad, colisión, dúplex, etc. Los LEDs ayudan a comprender rápidamente el problema o el estado con sólo mirarlos.

Detalles de la placa W5100 Arduino Ethernet Shield

Detalles de la placa W5100 Arduino Ethernet Shield

La descripción de los elementos que se encuentran en el tablero se enumeran en el orden etiquetado siguiente

  1. Botón de RESET - Al pulsar el botón, se cortocircuitará el pin de reset a tierra. Esto reiniciará el controlador W5100. Al pulsar el botón de reinicio se reinicia tanto el Arduino UNO como el escudo Ethernet.
  2. Regulador de voltaje - El W5100 funciona a 3,3 V. Las líneas IO son compatibles con 5 V. Por lo tanto, puede conectar tanto UNO como Arduino Mega al escudo W5100 sin preocuparse por la compatibilidad del voltaje de la línea IO. 
  3. Conector Ethernet - Aquí debe conectar el cable ethernet RJ45
  4. Chip W5100
  5. Cabezal de expansión para acceder a los GPIOs de Arduino UNO. El pin número 10 se utiliza para la selección de esclavo
  6. SD_CS - La selección de chip para la tarjeta SD se deriva de esta cabecera. El resto de los pines están libres
  7. LEDs para indicar diversos estados (velocidad de enlace, potencia, colisión, etc.)
  8. Conector de la tarjeta SD. Inserte la tarjeta SD aquí

Nota: Los pines analógicos A0 a A5 no están conectados al chip W5100. Tendrás acceso a los pines A0 a A5 de la placa Arduino UNO en el shield cuando montes el shield en la placa UNO. El escudo tiene todos los pines etiquetados y coincide con el etiquetado de la placa Arduino UNO.

¿Cómo se comunica Arduino UNO con el escudo ethernet W5100?

El Arduino se comunica con el escudo Ethernet a través de la interfaz SPI. Los pines SPI están disponibles en la cabecera de programación ICSP.

Aquí está la captura de pantalla de la cabecera de programación ICSP.

La cabecera de programación ICSP

El cabezal de programación ICSP es un conector de 6 pines con los siguientes pines.

  1. 5 V
  2. GND
  3. Línea de reloj SPI
  4. Línea SPI MOSI
  5. Línea SPI MISO
  6. Línea de reinicio

El W5100 también tiene búferes de 3,3 V que son tolerantes a 5 V IO Estos se utilizan para convertir el nivel de 5 V IO de Arduino UNO a nivel de 3,3 V. Esto es para el acceso a la tarjeta SD. 

Propósito de los LEDs en el escudo W5100

Hay 5 LEDs en el escudo W5100. Puedes ver las funciones asociadas a cada LED a continuación.

  1. LED LINK - El LED LINK indica si el enlace está establecido. El LED siempre estará encendido cuando la conexión esté bien. Parpadeará una vez por cada operación de Rx y Tx.
  2. LED SPD - El LED de velocidad se utiliza para indicar la velocidad de la conexión. Siempre se iluminará si la velocidad del enlace es de 100 Mbps
  3. LED FDX - El LED siempre estará encendido si el enlace es full duplex. 
  4. LED COL - El LED de colisión se encenderá si hay un evento de colisión
  5. LED PWR - El LED de alimentación siempre se iluminará si los 3,3 V están disponibles en la placa

Instrucciones paso a paso para conectar el Arduino Ethernet Shield W5100 a una placa Arduino UNO

La siguiente sección ofrece detalles paso a paso para conectar el Ethernet Shield W5100 a su placa Arduino UNO.

La conexión es simple y fácil de completar pronto.

¡Empecemos!

1) Empezar con el Arduino

Empezar con el Arduino

Desconecte el Arduino del PC y de cualquier otro dispositivo. Debe conectar el Arduino al PC sólo después de que todas las conexiones al Arduino UNO y al escudo Arduino estén hechas.

2) Montar el escudo Ethernet Arduino W5100 en el Arduino UNO

Montar el escudo Ethernet Arduino W5100 en el Arduino UNO
Fuente: https: //botland.store/withdrawn-products/16559-ethernet-shield-w5100-for-arduino-microsd-card-reader-okystar-oky2101-5904422344689.html

El escudo Ethernet de Arduino está hecho para entrar en contacto con los conectores del Arduino. Puedes usar la imagen de ejemplo de arriba como referencia.

Presione suavemente el escudo una vez que todos los pines estén orientados. Reverifique la conexión.

3) Ahora conecta un cable USB entre el Arduino UNO y el PC

Esto es para preparar la configuración para la siguiente etapa. El cable USB proporciona tanto energía como la opción de programar utilizando un PC.

Instalación de la librería Arduino W5100 Ethernet Shield y ejemplos de código

En esta sección, mostraré cómo instalar la biblioteca de escudos W5100. Comencemos.

1) Ir a las opciones de gestión de la biblioteca

Abre la aplicación Arduino en tu PC. Ve a la opción Herramientas de la barra de menús. En el menú desplegable que obtienes, pulsa sobre "Gestionar Bibliotecas".

La imagen que aparece a continuación debería servirle de guía para localizar rápidamente la opción.

Ir a las opciones de gestión de la biblioteca

2) Instalar la librería Adafruit Ethernet2

Busca W5100 en la ventana de búsqueda y pulsa enter. Localiza la biblioteca Ethernet 2 en las opciones.

Haga clic en el botón Instalar, y esto descargará e instalará la biblioteca necesaria para la Ethernet de Arduino.

La siguiente imagen debería ayudarle a encontrar el resultado pertinente en la ventana de búsqueda. Continúe con el siguiente paso.

Instalar la librería Adafruit Ethernet2

3) Abrir el código del ejemplo de chat de la biblioteca

Siga los siguientes pasos para abrir los ejemplos de bocetos de Arduino

  1. Haga clic en "Archivo".
  2. Seleccione "Ejemplos" en el menú desplegable
  3. Seleccione la biblioteca "Ethernet2" en la lista de bibliotecas de Adafruit. 
  4. Seleccione su ejemplo favorito. En este caso, he seleccionado el código de ejemplo del servidor de chat.
Abrir el código de ejemplo del chat de la biblioteca

El código de ejemplo que aparece a continuación le ayuda a controlar el estado de la conexión a través del terminal serie.

Una vez que los clientes están conectados, cualquier dato recibido por el escudo ethernet será impreso en el monitor serial. 

Hay otros ejemplos que puedes probar.

#include "SPI.h"
#include "Ethernet2.h"
 
// Enter a MAC address and IP address for your controller below.
// The IP address will be dependent on your local network.
// gateway and subnet are optional:
byte mac[] = {
  0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED
};
IPAddress ip(192, 168, 1, 177);
IPAddress gateway(192, 168, 1, 1);
IPAddress subnet(255, 255, 0, 0);
 
 
// telnet defaults to port 23
EthernetServer server(23);
boolean alreadyConnected = false; // whether or not the client was connected previously
 
void setup() {
  // initialize the ethernet device
  Ethernet.begin(mac, ip, gateway, subnet);
  // start listening for clients
  server.begin();
  // Open serial communications and wait for port to open:
  Serial.begin(9600);
  while (!Serial) {
    ; // wait for serial port to connect. Needed for Leonardo only
  }
 
 
  Serial.print("Chat server address:");
  Serial.println(Ethernet.localIP());
}
 
void loop() {
  // wait for a new client:
  EthernetClient client = server.available();
 
  // when the client sends the first byte, say hello:
  if (client) {
    if (!alreadyConnected) {
      // clead out the input buffer:
      client.flush();
      Serial.println("We have a new client");
      client.println("Hello, client!");
      alreadyConnected = true;
    }
 
    if (client.available() > 0) {
      // read the bytes incoming from the client:
      char thisChar = client.read();
      // echo the bytes back to the client:
      server.write(thisChar);
      // echo the bytes to the server as well:
      Serial.write(thisChar);
    }
  }
}

Preguntas frecuentes sobre el Arduino Ethernet W5100 Shield

En esta sección, he compilado una colección de preguntas frecuentes sobre el escudo ethernet de Arduino basado en el controlador W5100. 

Si tiene una pregunta que no está respondida aquí, por favor, publíquela en la sección de comentarios.

1) ¿Cómo obtiene el escudo Ethernet Arduino la dirección IP?

El escudo Arduino obtiene la dirección IP automáticamente a través de DHCP. DHCP son las siglas de Dynamic Host Configuration Protocol.

También proporciona información de configuración como la máscara de subred y la puerta de enlace predeterminada al escudo automáticamente.

También puedes configurar la opción manualmente si quieres

2) ¿Cómo conecto la tarjeta SD al escudo Ethernet?

Puedes conectar la tarjeta SD al shield fácilmente. Asegúrate de que el Arduino no está alimentado. Inserta suavemente la tarjeta SD en la ranura para tarjetas SD (con la parte superior hacia arriba). Empújala suavemente hacia el interior.

Alimenta la placa Arduino conectando el cable USB entre el UNO y el PC. 

3) ¿Cómo puedo utilizar el escudo Ethernet con Arduino?

 Monte el escudo con cuidado en su Arduino UNO. Una vez que haya montado el escudo, puede alimentar el Arduino UNO. Esto alimentará automáticamente el escudo también.

Sube el sketch de Arduino al Arduino desde tu ordenador. Para la programación, puedes utilizar un cable USB entre el PC y el Arduino UNO. 

Después de la programación, puedes utilizar cualquier fuente de alimentación externa para alimentar el Arduino UNO y el escudo. 

4) ¿Cuál es la diferencia entre los módulos ethernet W5100 y W5300?

Tanto el controlador W5100 como el W5300 son módulos fáciles de usar con Arduino. El W5300 es superior en varios parámetros.

El W5100 tiene cuatro zócalos, mientras que el W5300 tiene ocho.

La memoria combinada de Tx y Rx es de 16 kbytes y 128 kbytes en W5100 y W5300, respectivamente.

Puede encontrar una tabla comparativa completa en este enlace.

Conclusión

Espero haberle proporcionado todos los detalles que buscaba sobre el escudo ethernet Arduino W5100.

Te he explicado las características, los detalles de la placa y los detalles que necesitas para completar la conexión y programar el sketch de Arduino. 

Tendré curiosidad por ver qué proyectos realizas con el escudo ethernet de Arduino. Estaré encantado si proporcionas un enlace a los proyectos que construyas utilizando el escudo Arduino W5100.

Comparta sus proyectos en la sección de comentarios. 

Si te interesa algún otro proyecto de Arduino o ESP32 y quieres saber más sobre él, házmelo saber en los comentarios.

Estaré encantado de crear otro artículo útil sobre el tema. 

No olvides compartir el artículo con tus amigos que también sean entusiastas de Arduino y busquen una opción de conexión a Internet.