Descripción
El Ethernet shield W5100 permite que tus tarjetas Arduino se conecten a redes TCP/IP y puedas controlarlas o enviar datos a cualquier dispositivo que este conectado a Internet o a tu red de área local (LAN).
El shield Ethernet para Arduino está basado en el W5100 de la empresa Wiznet, por lo que es completamente compatible con las librerías oficiales incluidas en el entorno de desarrollo de Arduino. Todos los ejemplos incluidos en el IDE de Arduino funcionarán sin cambios, por lo que es sumamente sencillo de programar. Además de un controlador de Ethernet, en esta tarjeta encontraremos un socket para insertar una tarjeta micro SD que podremos utilizar para almacenar archivos o datos de gran tamaño.
Este accesorio es indispensable en aplicaciones de domótica, control de acceso, redes de sensores, dataloggers, conexión con servicios en la nube (webservices) y otras muchas aplicaciones que requieren la implementación de los protocolos de la pila TCP/IP.
Venta de Ethernet shield W5100 para Arduino al mejor precio | Distribuidor | Mayorista | Comprar en México | Tienda de electrónica en línea
Características y especificaciones
- Tipo de tarjeta o modulo: Shield para Arduino
- Función: Interfaz Ethernet
- Compatible con tarjetas: Arduino Uno y Arduino Mega (probada con estas, pero debe funcionar en la mayoría de las tarjetas de la gama Arduino)
- Circuito principal: W5100
- Bus de comunicación: SPI
- Voltaje de operación: 5 VDC
- Botón de reset en la parte superior
- Soporta en hardware los protocolos TCP, UDP, ICMP, IPv4 ARP, IGMP, PPPoE, Ethernet
- Capa física de ethernet 10 BaseT/100 BaseTX
- Soporta Auto MDI/MDIX
- Memoria SRAM: 16 KB para buffers de transmisión y recepción
- Escribe aplicaciones que utilizan protocolos TCP y UDP
- Hasta 4 conexiones (sockets) simultáneos
- Incluye zócalo para tarjeta micro SD
- Incluye leds de estado: TX, RX, Full/Half duplex, Collision, Link, Speed
- Peso: 16 gramos
- Dimensiones
- Largo: 6.9 cm
- Ancho: 5.3 cm
- Alto: 1.5 cm
Uso y función de los pines utilizados por este shield
| Numero de pin | Función |
|---|---|
| 4 | Señal SS (Slave Select) para la tarjeta micro SD |
| 10 | Señal SS (Slave Select) para el controlador Ethernet W5100 |
| 11 (ISP) | MOSI señal de la interfaz SPI para tarjeta micro SD y Ethernet (compartida), se toma del conector ISP |
| 12 (ISP) | MISO señal de la interfaz SPI para tarjeta micro SD y Ethernet (compartida), se toma del conector ISP |
| 13 (ISP) | SCK señal de la interfaz SPI para tarjeta micro SD y Ethernet (compartida), se toma del conector ISP |
| RESET (ISP) | Señal de reset para MAX3421 compartida con la de la placa base Arduino a través de conector ISP |
Los pines de conector ISP y sus números corresponden a la tarjeta Arduino Uno R3. En otras tarjetas como la Arduino Mega 2560 los números de los pines pueden ser diferentes.
Este shield utiliza el conector ISP, por lo que en caso de apilarse encima de otro shield, este debe a su vez tener disponible el conector ISP de 6 pines.
Código de ejemplo para Ethernet shield W5100
El siguiente programa permite controlar un LED conectado al pin 9 de la placa Arduino mediante una página web que se muestra en un navegador de internet.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 | /** Geek Factory - "Dale vuelo a tus proyectos" www.geekfactory.mx PROGRAMA DE PRUEBA PARA ETHERNET SHIELD W5100 CONSULTA EL ARCHIVO LICENCIA.TXT PARA CONOCER MÁS SOBRE LOS DERECHOS DE DISTRIBUCIÓN DE ESTE MATERIAL O LA SIGUIENTE URL: HTTPS://WWW.GEEKFACTORY.MX/LICENCIA-CONTENIDO. PUBLICADO BAJO LICENCIA ATTRIBUTION-NONCOMMERCIAL-SHAREALIKE 4.0 INTERNATIONAL (CC BY-NC-SA 4.0). GEEK FACTORY INVIERTE TIEMPO Y RECURSOS EN DESARROLLAR ESTOS EJEMPLOS Y TUTORIALES. SI ENCUENTRAS ÚTIL ESTE CÓDIGO, CONSIDERA REALIZAR UNA COMPRA CON NOSOTROS. Resumen: Este programa muestra una pagina web en el navegador mediante la cual se puede encender o apagar un LED conectado al pin 9 de la tarjeta Arduino. Probado el 14/04/25 sin problemas de funcionamiento. */ #include <SPI.h> #include <Ethernet.h> // pin donde debemos conectar el LED a controlar const int ledPin = 9; // dirección MAC de la interfaz Ethernet byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; // socket donde escucharemos las peticiones del navegador web EthernetServer server(80); /** Función setup: se ejecuta una vez cuando encendemos el arduino */ void setup() { // iniciar el puerto serial a 9600 baudios Serial.begin(9600); // el pin donde está conectado el LED será una salida pinMode(ledPin, OUTPUT); digitalWrite(ledPin, LOW); // iniciamos el Ethernet shield y el socket a la escucha en el puerto 80 // la dirección IP de la tareta shield Ethernet se obtiene automáticamente mediante DHCP Ethernet.begin(mac); server.begin(); // imprimir la dirección IP al monitor serial Serial.print(F("Server at ")); Serial.println(Ethernet.localIP()); } /** Función loop: se ejecuta continuamente mientras el arduino permanece encendido */ void loop() { // revisar si hay clientes que quieran conectarse al servidor EthernetClient client = server.available(); if (client) { Serial.println(F("Cliente conectado")); // variable para almacenar los encabezados de peticion String reqheaders = ""; // variable para señalizar la detección de una linea vacía boolean blankln = true; while (client.connected()) { // revisar si tenemos datos pendientes de recibir desde el cliente if (client.available()) { // leer el caracter desde el ethernet shield char c = client.read(); // concatenar caracter por caracter para recibir todos elos encabezados en una variable reqheaders += c; // una linea en blanco significa que llegamos al final de los encabezados enviados por el navegador if (c == 'n' && blankln) { // procesamos los encabezados buscando el comando para encender o apagar el LED if (reqheaders.indexOf(F("GET /LED=ON")) != -1) { digitalWrite(ledPin, HIGH); } else if (reqheaders.indexOf(F("GET /LED=OFF")) != -1) { digitalWrite(ledPin, LOW); } // comenzamos el envio de la respuesta // enviar encabezados de respuesta client.print(F("HTTP/1.1 200 OKrnContent-Type: text/htmlrnConnection: closernrn")); // enviar HTML minimo incluyendo el estado actual del LED client.print(F("<!DOCTYPE HTML><html><head><title>LED Control</title></head><body><h1>LED Control</h1><p>LED is now ")); client.print(digitalRead(ledPin) ? F("ON") : F("OFF")); client.println(F("</p><a href="/LED=ON"><button>ON</button></a><a href="/LED=OFF"><button>OFF</button></a></body></html>")); break; } if (c == 'n') blankln = true; else if (c != 'r') blankln = false; } } delay(1); client.stop(); Serial.println(F("Cliente desconectado")); } } |








Valoraciones
No hay valoraciones aún.