{"id":241,"date":"2025-11-28T14:49:36","date_gmt":"2025-11-28T14:49:36","guid":{"rendered":"https:\/\/www.artinteractivo.com\/?page_id=241"},"modified":"2025-11-28T14:49:38","modified_gmt":"2025-11-28T14:49:38","slug":"arduino-ethernet-shield","status":"publish","type":"page","link":"https:\/\/www.artinteractivo.com\/fr\/arduino-ethernet-shield\/","title":{"rendered":"Arduino Ethernet Shield"},"content":{"rendered":"<figure class=\"wp-block-image\"><a class=\"logo-img\" href=\"https:\/\/www.arduineando.com\/\"><img decoding=\"async\" src=\"https:\/\/www.arduineando.com\/wp-content\/uploads\/2018\/02\/logo2.png\" alt=\"arduineando\"\/><\/a><\/figure>\n\n\n\n<h1 class=\"wp-block-heading\">Arduino Ethernet Shield<\/h1>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"http:\/\/www.artinteractivo.com\/wp-content\/uploads\/2013\/07\/51FBYiUGlML__SL500_AA300_.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1024\" src=\"https:\/\/www.artinteractivo.com\/wp-content\/uploads\/2025\/11\/image-2.jpg\" alt=\"\" class=\"wp-image-242\" srcset=\"https:\/\/www.artinteractivo.com\/wp-content\/uploads\/2025\/11\/image-2.jpg 1024w, https:\/\/www.artinteractivo.com\/wp-content\/uploads\/2025\/11\/image-2-300x300.jpg 300w, https:\/\/www.artinteractivo.com\/wp-content\/uploads\/2025\/11\/image-2-150x150.jpg 150w, https:\/\/www.artinteractivo.com\/wp-content\/uploads\/2025\/11\/image-2-768x768.jpg 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">La Arduino Ethernet Shield permite a una placa Arduino conectarse a internet. Est\u00e1 basada en el chip ethernet&nbsp;<a href=\"http:\/\/www.wiznet.co.kr\/en\/pro02.php?&amp;page=1&amp;num=25\">Wiznet&nbsp;<\/a>W5100&nbsp;(datasheet). El Wiznet W5100 provee de una pila de red IP capaz de TCP y UDP. Soporta hasta cuatro conexiones de sockets simult\u00e1neas. Usa la&nbsp;librer\u00eda Ethernet&nbsp;para escribir programas que se conecten a internet usando la shield.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La ethernet shield dispone de unos conectores que permiten conectar a su vez otras placas encima y apilarlas sobre la placa Arduino.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Arduino usa los pines digitales 10, 11, 12, y 13 (SPI) para comunicarse con el W5100 en la ethernet shield. Estos pines no pueden ser usados para e\/s gen\u00e9ricas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La shield provee un conectore ethernet est\u00e1ndar&nbsp;RJ45<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El bot\u00f3n de reset en la shield resetea ambos, el W5100 y la placa Arduino.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La shield contiene un n\u00famero de&nbsp;LEDs&nbsp;para informaci\u00f3n:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>PWR: indica que la placa y la shield est\u00e1n alimentadas<\/li>\n\n\n\n<li>LINK: indica la presencia de un enlace de red y parpadea cuando la shield env\u00eda o recibe datos<\/li>\n\n\n\n<li>FULLD: indica que la conexi\u00f3n de red es full duplex<\/li>\n\n\n\n<li>100M: indica la presencia de una conexi\u00f3n de red de 100 Mb\/s (de forma opuesta a una de 10Mb\/s)<\/li>\n\n\n\n<li>RX: parpadea cuando la shield recibe datos<\/li>\n\n\n\n<li>TX: parpadea cuando la shield env\u00eda datos<\/li>\n\n\n\n<li>COLL: parpadea cuando se detectan colisiones en la red<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">El jumper soldado marcado como \u201cINT\u201d puede ser conectado para permitir a la placa Arduino recibir notificaciones de eventos por interrupci\u00f3n desde el W5100, pero esto no est\u00e1 soportado por la librer\u00eda Ethernet. El jumper conecta el pin INT del W5100 al pin digital 2 de Arduino.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El slot SD en la shield no est\u00e1 soportado por el software Arduino.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para usar la Ethernet Shield solo hay que montarla sobre la placa Arduino. Para cargar los sketches a la placa conectarla al ordenador mediante el cable USB como se hace normalmente. Una vez que el sketch ha sido cargado se puede desconectar la placa del ordenador y alimentarla desde una fuente externa.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Conectar la Ethernet Shield a un ordenador, a un switch o a un router utilizando un cable ethernet standard (CAT5&nbsp;oCAT6&nbsp;con conectores&nbsp;RJ45). La conexi\u00f3n al ordenador puede requerir el uso de un cable cruzado (aunque muchos ordenadores actuales, incluyendo&nbsp;<a href=\"http:\/\/support.apple.com\/kb\/HT2274\">los \u00faltimos modelos Mac<\/a>&nbsp;pueden hacer el cruce de forma interna).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Network Settings<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Al shield se de debe asignar una direcci\u00f3n MAC y una IP fija utilizando la funci\u00f3n&nbsp;<a href=\"http:\/\/arduino.cc\/es\/Reference\/EthernetBegin\">Ethernet.begin()<\/a>. Una direcci\u00f3n MAC es un identificador global \u00fanico para cada dispositivo en particular; asignar una al azar suele funcionar, pero no utilice la misma para mas de una placa.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Conectando Arduino como un Servidor Web&nbsp;<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">El dispositivo ser\u00e1 capaz de responder a una petici\u00f3n HTTP con su Ethernet Shield. Despu\u00e9s de abrir un navegador web e ingresar la direcci\u00f3n IP asiganada al Arduino Ethernet Shield, su Arduino responder\u00e1 mostrando los valores del estado de su entrada an\u00e1loga (A0) y su entrada digital (Pin 2).&nbsp;<strong>&nbsp;<\/strong>&nbsp;<a href=\"http:\/\/www.artinteractivo.com\/wp-content\/uploads\/2013\/07\/T3_Disposicin_red.png\"><\/a>&nbsp;&nbsp; 1. Conectamos Nuestra placa Arduino Uno al Ethernet Shield. 2. Conectamos el Ethernet shield al Router. 3. &nbsp;Tambi\u00e9n conectamos nuestro ordenador al Router para que esten en la misma red. 4. En el Ordenador podemos verificar la IP que nos asigna la red de la siguiente &nbsp;manera: Si estamos en un Mac, entramos al&nbsp;<strong>Terminal<\/strong>&nbsp;y ponemos:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">ifconfig<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Si estamos en Windows vamos a la consola de windows: en Ejecutar ponemos&nbsp;<strong>cmd y ponemos:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">ipconfig\n\n<a href=\"http:\/\/www.artinteractivo.com\/wp-content\/uploads\/2013\/07\/terminal.jpg\"><\/a><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Observamos que nos muestra la configuraci\u00f3n de la red y buscamos en0:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><strong>en0:<\/strong> flags=8863&lt;UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST&gt; mtu 1500\n inet6 fe80::226:b0ff:feef:72a0%en0 prefixlen 64 scopeid 0x4 \n inet <strong>192.168.1.155<\/strong> netmask 0xffffff00 broadcast 192.168.1.255\n ether 00:26:b0:ef:72:a0<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">En mi caso me muestra que mi ordenador tiene asignada la direcci\u00f3n IP :&nbsp;<strong>192.168.1.155<\/strong>&nbsp;Para que est\u00e9n en la misma red, buscamos en el sketch que he puesto a continuaci\u00f3n:&nbsp;<strong>byte ip[] = { 192, 168, 1, 6 };&nbsp;<\/strong>y vemos que la direcci\u00f3n es similar, solo el ultimo numero cambia. Procuremos que la direcci\u00f3n que le asignemos al ethernet shield en el sketch sean iguales todos los n\u00fameros menos el ultimo. de esta forma nos cercioraremos de que est\u00e9n compartiendo la misma mascara de sub red y la misma puerta de enlace pero con dos direcciones IP distintas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Sketch&nbsp;Servidor Web:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">#include &lt;Ethernet.h&gt; \/\/ Incluye la librer&iacute;a Ethernet \n#include &lt;SPI.h&gt;\n\/\/ Identificador Ethernet &uacute;nico\nbyte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; \nbyte ip[] = { 192, 168, 1, 6 }; \/\/ Direcci&oacute;n IP asignanda al Arduino Ethernet Shield\nEthernetServer server(80); \/\/ Es el puerto HTML para conexi&oacute;n a Internet\n \/\/Funci&oacute;n principal\nvoid setup() {\nEthernet.begin(mac, ip); \/\/Inicializa librer&iacute;a y configuraciones de red \nserver.begin(); \/\/Inicia comunicaci&oacute;n a trav&eacute;s del puerto\n}\n\/\/Funci&oacute;n c&iacute;clicla\nvoid loop() {\nEthernetClient client = server.available(); if (client) { \/\/Una petici&oacute;n http termina con una l&iacute;nea en blanco\nboolean current_line_is_blank = true; while (client.connected()) {\nif (client.available()) { char c = client.read();\n\/\/ Si hemos llegado al final de la l&iacute;nea (recibi&oacute; una nueva l&iacute;nea \n\/\/ Car&aacute;cter) y la l&iacute;nea est&aacute; en blanco, la petici&oacute;n http ha terminado, \n\/\/ Para que podamos enviarle una respuesta\nif (c == &#039;\\n&#039; &amp;&amp; current_line_is_blank) {\n}\nclient.println(&quot;HTTP\/1.1 200 OK&quot;); \/\/ Envi&oacute; encabezado est&aacute;ndar de respuesta HTTP \nclient.println(&quot;Content-Type: text\/html&quot;); \nclient.println();\nclient.print(&quot;Entrada digital &quot;); \/\/Imprimir valor entrada digital client.print(&quot;2&quot;);\nclient.print(&quot; es &quot;); client.print(digitalRead(2)); \/\/ Lectura del pin 2 (digital) \nclient.println(&quot;&lt;br \/&gt;&quot;); \nclient.println(&quot;&lt;br \/&gt;&quot;);\nclient.print(&quot;Entrada analoga&quot;); \/\/Imprimir valor entrada an&aacute;loga \nclient.print(&quot;0&quot;); client.print(&quot; es &quot;); client.print(analogRead(0)); \/\/ Lectura del pin 0 (analogo) \nclient.println(&quot;&lt;br \/&gt;&quot;); \nclient.println(&quot;&lt;br \/&gt;&quot;);\nbreak;\nif (c == &#039;\\n&#039;) {\ncurrent_line_is_blank = true; \/\/ Comenzaremos una nueva l&iacute;nea\n} else if (c != &#039;\\r&#039;) {\n current_line_is_blank = false; \/\/ Obtenemos un caracter en la l&iacute;nea actual\n}\n}\n}\n}\n\/\/ Damos un tiempo al servidor web para recibir los datos \ndelay(1); \/\/Retardo de un 1 ms(milisegundo) \nclient.stop();\n}<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Una vez hayamos cargado el programa ponemos en nuestro terminal:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">ping -a 192.168.1.6<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Con el comando \u201cping\u201d vamos a enviar paquetes a la direccion IP que ponemos a continuacion. En mi caso yo he puesto la direccion IP que le he asignado a mi Arduino Ethernet. Al darle \u201cEnter\u201d podemos ver que los leds RX y TX de la Arduino Ethernet se encienden en sincron\u00eda con el env\u00edo de datos del Terminal.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"http:\/\/www.artinteractivo.com\/wp-content\/uploads\/2013\/07\/ping.png\"><img decoding=\"async\" src=\"https:\/\/www.artinteractivo.com\/wp-content\/uploads\/2013\/07\/ping.png\" alt=\"ping\" class=\"wp-image-307\"\/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Vemos en la consola que esta recibiendo 64 bytes desde la direccion IP.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Nota: Para parar el proceso presiona \u201cCntrl-C\u201d \u00f3 \u201cCntrl_Z\u201d.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En este momento ya tenemos configurado Arduino en la red!!!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Push botton y LDR enviando datos a una IP<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Ahora vamos a conectar un circuito y enviar datos a trav\u00e9s de la red.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><a href=\"http:\/\/www.artinteractivo.com\/wp-content\/uploads\/2013\/07\/la-foto.jpg\"><\/a> 5.<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Conectamos al pin Analogico 0 un Fotoresistor (LDR) creando un divisor de tensi\u00f3n con una resistencia de 1kohm como hemos visto en el Tutorial de Arduino . 6. conectamos un Push botton al pin digital 2 como vimos anteriormente en el Tutorial de Arduino junto con una resistencia de 10kohm. 7. Cargamos el sketch a la placa. 8. Abrimos un Navegador de Internet (explorer, Firefox, Chrome, Safari) y ponemos en la barra de busqueda, la direccion IP de nustra Ethernet shield. En mi caso es la&nbsp;<strong>192.168.1.6,<\/strong>&nbsp;que es la que le asign\u00e9 en el sketch.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"http:\/\/www.artinteractivo.com\/wp-content\/uploads\/2013\/07\/ip-arduino.png\"><\/a>&nbsp;Poemos ver que al poner la direccion IP en el Navegador, accedemos via ethernet a los datos que nos envia Arduino. Estos datos los hemos descrito en el siguiente codigo del sketch:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">client.print(&quot;Entrada digital &quot;); \/\/Imprimir valor entrada digital client.print(&quot;2&quot;);\nclient.print(&quot; es &quot;); client.print(digitalRead(2)); \/\/ Lectura del pin 2 (digital) \nclient.println(&quot;&lt;br \/&gt;&quot;); \nclient.println(&quot;&lt;br \/&gt;&quot;);\nclient.print(&quot;Entrada analoga&quot;); \/\/Imprimir valor entrada an&aacute;loga \nclient.print(&quot;0&quot;); client.print(&quot; es &quot;); client.print(analogRead(0)); \/\/ Lectura del pin 0 (analogo)<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">9. Si presionamos el Push botton y refrescamos el navegador, vemos que cambia el valor de la&nbsp;<strong>Entrada digital&nbsp;<\/strong>a 1. 10. si variamos la luz sobre nuestro LDR, y refrescamos el navegador tambien podemos ver que cambian los valores de la&nbsp;<strong>Entrada analoga.<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Web client<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Ahora vamos a cargar el Sketch&nbsp;<strong>WebClient<\/strong>&nbsp;que aparece en los ejemplos de Ethernet de Arduino. En este ejemplo nos vamos a conectar a google para poder recibir datos de google en Arduino.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Vemos que en el Sketch aparece una direccion IP correspondiente a google, esa direccion va cambiando, asi que debemos comprobar que corresponda. Para esto ponemos en nuestro Terminal del mac o en la consola de Windows:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">ping www.google.com<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">y podemos ver a que direcci\u00f3n IP corresponde.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"http:\/\/www.artinteractivo.com\/wp-content\/uploads\/2013\/07\/ping-google.jpg\"><img decoding=\"async\" src=\"https:\/\/www.artinteractivo.com\/wp-content\/uploads\/2013\/07\/ping-google.jpg\" alt=\"ping google\" class=\"wp-image-315\"\/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">En este caso me da la siguiente IP GOOGLE =&nbsp;<strong>173.194.45.16<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Entonces remplazo la direccion IP correspondiente en mi Sketch WebClient.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Sketch Web clent<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">\/*\n Web client\n\n This sketch connects to a website (http:\/\/www.google.com)\n using an Arduino Wiznet Ethernet shield. \n\n Circuit:\n * Ethernet shield attached to pins 10, 11, 12, 13\n\n created 18 Dec 2009\n modified 9 Apr 2012\n by David A. Mellis\n\n *\/\n#include &lt;SPI.h&gt;\n#include &lt;Ethernet.h&gt;\n\/\/ Enter a MAC address for your controller below.\n\/\/ Newer Ethernet shields have a MAC address printed on a sticker on the shield\nbyte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };\nIPAddress server(173,194,45,16); \/\/ Google\n\/\/ Initialize the Ethernet client library\n\/\/ with the IP address and port of the server \n\/\/ that you want to connect to (port 80 is default for HTTP):\nEthernetClient client;\nvoid setup() {\n \/\/ Open serial communications and wait for port to open:\n Serial.begin(9600);\n while (!Serial) {\n ; \/\/ wait for serial port to connect. Needed for Leonardo only\n }\n\/\/ start the Ethernet connection:\n if (Ethernet.begin(mac) == 0) {\n Serial.println(\"Failed to configure Ethernet using DHCP\");\n \/\/ no point in carrying on, so do nothing forevermore:\n for(;;)\n ;\n }\n \/\/ give the Ethernet shield a second to initialize:\n delay(1000);\n Serial.println(\"connecting...\");\n\/\/ if you get a connection, report back via serial:\n if (client.connect(server, 80)) {\n Serial.println(\"connected\");\n \/\/ Make a HTTP request:\n client.println(\"GET \/search?q=arduino HTTP\/1.0\");\n client.println();\n } \n else {\n \/\/ kf you didn't get a connection to the server:\n Serial.println(\"connection failed\");\n }\n}\nvoid loop()\n{\n \/\/ if there are incoming bytes available \n \/\/ from the server, read them and print them:\n if (client.available()) {\n char c = client.read();\n Serial.print(c);\n }\n\/\/ if the server's disconnected, stop the client:\n if (!client.connected()) {\n Serial.println();\n Serial.println(\"disconnecting.\");\n client.stop();\n\/\/ do nothing forevermore:\n for(;;)\n ;\n }\n}<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Despu\u00e9s de cargar el sketch a la placa, abrimos el&nbsp;<strong>monitor serial<\/strong>&nbsp;de Arduino y podemos ver que se descargan los datos de google referentes a la palabra Arduino en<strong>&nbsp;html.<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"http:\/\/www.artinteractivo.com\/wp-content\/uploads\/2013\/07\/monitor-serial1.jpg\"><img decoding=\"async\" src=\"https:\/\/www.artinteractivo.com\/wp-content\/uploads\/2013\/07\/monitor-serial1.jpg\" alt=\"monitor serial\" class=\"wp-image-322\"\/><\/a><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Controlando una Luz con Arduino Ethernet mediante una IP<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\/\/www.youtube.com\/embed\/wol-fhFltp8<br>En este ejemplo se trata de encender y apagar una Luz a trav\u00e9s de Internet y, para ello, vamos a utilizar el Shield Ethernet Arduino. Ser\u00e1n necesarios unos conocimientos b\u00e1sicos de HTML, simplemente para poder hacer la p\u00e1gina Web a nuestro gusto. A trav\u00e9s de esta p\u00e1gina Web, podremos encender y apagar nuestra bombilla cuando queramos. Desde el ordenador, iPad, tablet, o cualquier dispositivo con conexi\u00f3n WI-FI.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Lo que vamos a crear con el Ethernet Shield, es un servidor Web, el cual nos proporcionar\u00e1 el c\u00f3digo HTML para poder verlo en nuestro navegador y poder, as\u00ed, interactuar con \u00e9l.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En Internet, un servidor es un ordenador remoto que provee los datos solicitados por parte de los navegadores de otros ordenadores. En redes locales (LAN, Local Area Network), se entiende como el software que configura un PC como servidor para facilitar el acceso a la red y sus recursos. Los servidores almacenan informaci\u00f3n en forma de p\u00e1ginas Web y, a trav\u00e9s del protocolo HTTP lo entregan a petici\u00f3n de los clientes (navegadores Web) en formato HTML.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Un servidor sirve informaci\u00f3n a los ordenadores que se conecten a \u00e9l. Cuando los usuarios se conectan a un servidor, pueden acceder a programas, archivos y otra informaci\u00f3n del servidor. En la Web, un servidor es un ordenador que usa el protocolo HTTP para enviar p\u00e1ginas Web al equipo de un usuario cuando \u00e9ste las solicita.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"http:\/\/www.artinteractivo.com\/wp-content\/uploads\/2013\/07\/servidor-web-300x176.jpg\"><img decoding=\"async\" src=\"https:\/\/www.artinteractivo.com\/wp-content\/uploads\/2013\/07\/servidor-web-300x176.jpg\" alt=\"servidor-web-300x176\" class=\"wp-image-330\"\/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">En este caso no vamos a utilizar la red Internet sino que lo haremos a nivel local en lo que se denomina una red LAN (Red de Area Local). Para acceder a la p\u00e1gina Web que creemos, deberemos acceder con una direcci\u00f3n IP perteneciente a nuestra red, que ser\u00e1 la que le hayamos asignado al Ethernet Shield.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Vamos a cargar el siguiente sketch pero debermos poner la direcci\u00f3n IP que corresponda a la misma sub mascara y puerta de enlace de nuestra red. En mi caso es:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">IPAddress ip(192,168,1,6);<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Sketch Arduino Ethernet ON\/OFF<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">#include &lt;SPI.h&gt; \n#include &lt;Ethernet.h&gt; \/\/Declaraci\u00f3n de la direcciones MAC e IP. Tambi\u00e9n del puerto 80 \nbyte mac[]={0xDE,0xAD,0xBE,0xEF,0xFE,0xED}; \/\/MAC \nIPAddress ip(192,168,1,6); \/\/IP \nEthernetServer servidor(80); \nint PIN_LED=8; \nString readString=String(30); \nString state=String(3);<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">void setup() {\nEthernet.begin(mac, ip); \/\/Inicializamos con las direcciones asignadas \nservidor.begin(); \npinMode(PIN_LED,OUTPUT);<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">digitalWrite(PIN_LED,LOW);\nstate=\"OFF\";\n}<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">void loop() {\nEthernetClient cliente= servidor.available(); \nif(cliente) {\nboolean lineaenblanco=true; \nwhile(cliente.connected()) {\nif(cliente.available()) {\nchar c=cliente.read(); \nif(readString.length()&amp;lt;30) {\nreadString.concat(c);\n\/\/Cliente conectado\n\/\/Leemos petici&oacute;n HTTP caracter a caracter\n\/\/Almacenar los caracteres en la variable readString\n} \nif(c==&amp;#039;\\n&amp;#039; &amp;amp;&amp;amp; lineaenblanco) \/\/Si la petici&oacute;n HTTP ha finalizado \n{\nint LED = readString.indexOf(&amp;quot;LED=&amp;quot;); \nif(readString.substring(LED,LED+5)==&amp;quot;LED=T&amp;quot;) {\ndigitalWrite(PIN_LED,HIGH);\nstate=&amp;quot;ON&amp;quot;; } \nelse if (readString.substring(LED,LED+5)==&amp;quot;LED=F&amp;quot;) {\ndigitalWrite(PIN_LED,LOW); \nstate=&amp;quot;OFF&amp;quot;;\n}\n\/\/Cabecera HTTP est&aacute;ndar\ncliente.println(&amp;quot;HTTP\/1.1 200 OK&amp;quot;); \ncliente.println(&amp;quot;Content-Type: text\/html&amp;quot;); \ncliente.println(); \/\/P&aacute;gina Web en HTML \ncliente.println(&amp;quot;&lt;html&gt;&quot;); \ncliente.println(&quot;&lt;head&gt;&quot;); \ncliente.println(&quot;&lt;title&gt;LAMPARA ON\/OFF&lt;\/title&gt;&quot;); \ncliente.println(&quot;&lt;\/head&gt;&quot;);\ncliente.println(&quot;&lt;body width=&quot;100%&quot; height=&quot;100%&quot;&gt;&quot;); \ncliente.println(&quot;&lt;center&gt;&quot;); \ncliente.println(&quot;&lt;h1&gt;LAMPARA ON\/OFF&lt;\/h1&gt;&quot;);\ncliente.print(&quot;&lt;br&gt;&lt;br&gt;&quot;); \ncliente.print(&quot;Estado de la lampara: &quot;); \ncliente.print(state); \ncliente.print(&quot;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&quot;); \ncliente.println(&quot;&lt;input type=&quot;submit&quot; value=&quot;ON&quot; style=&quot;width:200px;height:75px&quot; onclick=&quot;location.href=&#039;.\/?LED=T\\&#039;&quot;&gt;&quot;); \ncliente.println(&quot;&lt;input type=&quot;submit&quot; value=&quot;OFF&quot; style=&quot;width:200px;height:75px&quot; onclick=&quot;location.href=&#039;.\/?LED=F\\&#039;&quot;&gt;&quot;); \ncliente.println(&quot;&lt;\/center&gt;&quot;); \ncliente.println(&quot;&lt;\/body&gt;&quot;); \ncliente.println(&quot;&lt;\/html&gt;&quot;); \ncliente.stop();\n\/\/Cierro conexi&oacute;n con el cliente \nreadString=&quot;&quot;;\n}\n}\n}\n}\n}<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\"><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Ahora cargamos el sketch al Arduino y nos sercioramos que tengamos conectada la Ethernet shield a la misma red de nuestro ordenador. Ahora vamos a un navegador y ponemos en la barra de direcciones la IP de nuestra Arduino Ethernet shield, en mi caso es<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">192.168.1.6<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">y nos debe aparecer la siguiente web con la cual podremos encender y apagar el LED:<br><a href=\"http:\/\/www.artinteractivo.com\/wp-content\/uploads\/2013\/07\/lampara-on-off1.jpg\"><\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si tenemos conectado nuestro led al Pin 8, veremos que se encender\u00e1 y apagar\u00e1 cuando le hagamos click en ON y OFF. Este ejemplo tambi\u00e9n podr\u00eda servir para encender y apagar la luz de la casa o la cafetera o el ventilador, lo \u00fanico que necesitar\u00edamos es un circuito de Rel\u00e9, el cual fue explicado anteriormente en el Tutorial de Arduino.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"#\">\u2191<\/a><\/p>\n\n\n\n<ul id=\"sidr-id-menu-tutoriales_arduino\" class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.arduineando.com\/\">Tutoriales<\/a>\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.arduineando.com\/tutoriales_arduino\/\">Tutoriales-Arduino<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.arduineando.com\/xbee-y-arduino\/\">Xbee y Arduino<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.arduineando.com\/arduino-ethernet\/\">Arduino Ethernet<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.arduineando.com\/arduino-pro-mini-2\/\">Arduino Pro mini<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.arduineando.com\/instalar-arduino-en-windows\/\">Instalar Arduino en Windows<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.arduineando.com\/spark-core-y-ubidots\/\">Spark Core y Ubidots<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.arduineando.com\/sensor-interruptor-magnetico-groove\/\">Sensor Interruptor magnetico \u2013 Groove<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.arduineando.com\/spark-core-arduino-wifi\/\">Spark Core (Arduino + Wifi)<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.arduineando.com\/sparkcore-temperatura-y-humedad\/\">Sparkcore temperatura y Humedad<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.arduineando.com\/maxmsp-jitter\/\">Max\/MSP Jitter<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.arduineando.com\/raspberry-pi\/\">Raspberry Pi<\/a><\/li>\n\n\n\n<li><a href=\"http:\/\/manualdetecnicafotografica.com\/?hop=vjduart\">Fotogr\u00e1fia<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.arduineando.com\/bitbloq-arduino\/\">Bitbloq-Espa\u00f1ol<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.arduineando.com\/bitbloq-english\/\">Bitbloq-English<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.arduineando.com\/scratch-arduino\/\">Scratch-Arduino<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.arduineando.com\/impresion-3d\/\">Impresi\u00f3n 3D<\/a><\/li>\n\n\n\n<li><a href=\"http:\/\/www.artinteractivo.com\/fr\/\">Mas Tutoriales<\/a><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><a href=\"https:\/\/www.arduineando.com\">Proyectos<\/a>\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.arduineando.com\/kinect-piano-virtual\/\">Kinect Piano virtual<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.arduineando.com\/kinect-mapping-sobre-cuarpo\/\">Kinect Mapping sobre cuerpo<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.arduineando.com\/bateria-piezos-arduino-y-ableton\/\">Bateria Piezos, Arduino y Ableton<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.arduineando.com\/ledstrip-controled-with-matrix\/\">Ledstrip controled with Matrix<\/a><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><a href=\"https:\/\/www.artinteractivo.com\/fr\/\">Art interactivo<\/a><\/li>\n\n\n\n<li><a href=\"http:\/\/www.andresduarte.com\/\">Contacto<\/a><\/li>\n<\/ul>","protected":false},"excerpt":{"rendered":"<p>Arduino Ethernet Shield La Arduino Ethernet Shield permite a una placa Arduino conectarse a internet. Est\u00e1 basada en el chip ethernet&nbsp;Wiznet&nbsp;W5100&nbsp;(datasheet). El Wiznet W5100 provee de una pila de red IP capaz de TCP y UDP. Soporta hasta cuatro conexiones de sockets simult\u00e1neas. Usa la&nbsp;librer\u00eda Ethernet&nbsp;para escribir programas que se conecten a internet usando la [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"page-with-title","meta":{"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"class_list":["post-241","page","type-page","status-publish","hentry"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.artinteractivo.com\/fr\/wp-json\/wp\/v2\/pages\/241","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.artinteractivo.com\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.artinteractivo.com\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.artinteractivo.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.artinteractivo.com\/fr\/wp-json\/wp\/v2\/comments?post=241"}],"version-history":[{"count":1,"href":"https:\/\/www.artinteractivo.com\/fr\/wp-json\/wp\/v2\/pages\/241\/revisions"}],"predecessor-version":[{"id":243,"href":"https:\/\/www.artinteractivo.com\/fr\/wp-json\/wp\/v2\/pages\/241\/revisions\/243"}],"wp:attachment":[{"href":"https:\/\/www.artinteractivo.com\/fr\/wp-json\/wp\/v2\/media?parent=241"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}