Problema con Ethernet Shield para Arduino W5100(SOLUCIONADO)

Que tal este es mi primer post tengo horas buscando infomacion y no encuentro nada parecido a mi problema . lo redacto a continuacion :

tengo un arduino MEGA 2560 y un Ethernet Shield para Arduino W5100, estoy tratando de hacer el servidor o cualquier ejemplo tengo conocimientos basicos sobre redes ., el problema es que mi modem no me detecta el dispositivo como si no conectara nada heee hay lo que me preocupa pues no me da ni IP ni nada es como si no conectara nada .

mi modem es un Thomson TG585 v8

he tratado de encontrar la opcion de agregar dispositivo manualmente pero no lo hay solo funciona por DHCP

a alguien le ha pasado algo asi o tendre que pedir garantia por el producto ..

el producto si enciende y enciende los focos

y esto es lo que pasa si conecto el Ethernet Shield para Arduino W5100 el cable RJ45 directamente a mi computador esta es la ip que me da .

a hora quiero preguntar con que router va mejor alguna recomendacion de router ???? o que hago lo mando a garantia ?

alguna ayuda de ante mano gracias por el espacio.

pone tu code.

proba primero en conectar directo a la pc por e puerto rj45,

y ponele una ip fija.

---- PC
DIRECCION IP: 192.168.1.100
MASCARA : 255.255.255.0
PUERTA DE ENLACE: 192.168.1.72 <— ip ARDUINO ETHERNET
SERVIDOR DNS : 192.168.1.72 <— ip ARDUINO ETHERNET

—ARDUINO EHETNET
IP: 192.168.1.72

teoricamente si pones esta direccion ip : 192.168.1.72 , en el navegador(firefox,internet explore)
deberias ver algo


otra cosa es el cable que usas,
creo que si lo conectas directo a la pc necesitas un cable rj45 cruzado ,
y si lo conectas al moden necesitas un cable rj45 normal o viversa.
no recuerdo bien

si va directo al pc es cable cruzado., y asignas una ip acorde a la que tienes en tu pc.
Si tienes dhcp en el router, pon una fija en arduino en el rango y listo.

Ejemplo:
ves que ip tiene tu pc. 10.0.0.4 mascara 255.255.255.0
En arduino colocas 10.0.0.5 mascara 255.255.255.0
y ya se deberian ver la pc con arduino.

por el momento ya trate de hacer conecion tanto con cables cruzados como normales y nada me sale una duda de la cual solucionaria todo mi poroblema ..

alguien de ustedes a usado realmente este modulo ? me interesaria saber si es nesesario configurar manualmente la ip en el router o si los router comunes le asignan ip normalmente sin hacer nada

. me interesa saber por que ya son 2 modems a los que lo he conectado y no me lo detecta ni nada .

empiezo a creer que el problema es mi modulo , pero quiero asegurarme antes de pedir garantia .

creo que lo mejor sera comprar un ROUTER en el cual pueda yo asignar dispositivos y IP manualmente .

GRACIAS todos.

Hola.
Tal vez estás empezando la casa por el tejado ¿Estás seguro de que el problema es de la red? Creo que deberías comenzar por ver si el módulo está bien instalado y configurado. Comienza por poner un vínculo a tu modelo de shield para ver las características (por ejemplo, qué pin SS utiliza) y el programa que quieres probar.
Saludos

ante todo gracias por su tiempo . lo que sea nesesario lo are.

aqui dejo el link de donde lo compre es identico a las fotos .

http://circuit.banshee.mx/shields-arduino/ethernet-shield-para-arduino-w5100/28

este es el codigo

#include <SPI.h>
#include <Ethernet.h>

//Declaración de la direcciones MAC e IP. También del puerto 80
byte mac[]={0x00,0x22,0x48,0x9f,0xe2,0x3d}; //MAC
IPAddress ip(192,168,1,71); //IP
EthernetServer servidor(80);

int PIN_LED=8;
String readString=String(30);
String state=String(3);

void setup()
{
  Ethernet.begin(mac,ip); //Inicializamos con las direcciones asignadas
  servidor.begin();
  pinMode(PIN_LED,OUTPUT);
  digitalWrite(PIN_LED,HIGH);
  state="OFF";
}

void loop()
{
  EthernetClient cliente= servidor.available();
  
  if(cliente)
  {
    boolean lineaenblanco=true;
    while(cliente.connected())//Cliente conectado
    {
      if(cliente.available())
      {
        char c=cliente.read();
        if(readString.length()<30)//Leemos petición HTTP caracter a caracter
        {
          readString.concat(c); //Almacenar los caracteres en la variable readString
        }
        if(c=='\n' && lineaenblanco)//Si la petición HTTP ha finalizado
        {
          int LED = readString.indexOf("LED=");
          if(readString.substring(LED,LED+5)=="LED=T")
          {
            digitalWrite(PIN_LED,LOW);
            state="ON";
          } else if (readString.substring(LED,LED+5)=="LED=F")
          {
            digitalWrite(PIN_LED,HIGH);
            state="OFF";
          }
          
          
          //Cabecera HTTP estándar
          cliente.println("HTTP/1.1 200 OK");
          cliente.println("Content-Type: text/html");
          cliente.println();
          //Página Web en HTML
          cliente.println("<html>");
          cliente.println("<head>");
          cliente.println("<title>LAMPARA ON/OFF</title>");
          cliente.println("</head>");
          cliente.println("<body width=100% height=100%>");
          cliente.println("<center>");
          cliente.println("<h1>LAMPARA ON/OFF</h1>");
          cliente.print("

");
          cliente.print("Estado de la lampara: ");
          cliente.print(state);
          cliente.print("



");
          cliente.println("<input type=submit value=ON style=width:200px;height:75px onClick=location.href='./?LED=T\'>");
          cliente.println("<input type=submit value=OFF style=width:200px;height:75px onClick=location.href='./?LED=F\'>");
          cliente.println("</center>");
          cliente.println("</body>");
          cliente.println("</html>");
          cliente.stop();//Cierro conexión con el cliente
          readString="";
        }
      }
    }
  }
}

este es un ifconfig de computador de escritorio

estos son los dispositivos totales en mi modem y en ningun momento me detecta el SHIELD W5100 (o la IP 192,168,1,71)

este es mi arduino en funcionamiento

EL problema es que mi modem no me deja agregar dispositivos ni IP de ninguna manera , no se si eso influya la unica manera de agregar dispositivos es por medio automatica por DHCP no se si sea ese el problema .

por eso digo si es nesesario comprar un router el cual yo pueda asignar digamos la ip 192,168,1,71 y la mac 0x00,0x22,0x48,0x9f,0xe2,0x3d directamente al dispositivo de esta manera no usara DHCP para detectar el SHIELD W5100

estoy en lo correcto o no es nesesario comprar router y mando a garantia mi SHIELD W5100 ??

:fearful:
probastes lo que te mencionamos ??
q resultados te arojo ?

cualquier mode funciona.
solo debes poner la ip correcta.

elyokko:
ante todo gracias por su tiempo . lo que sea nesesario lo are.

aqui dejo el link de donde lo compre es identico a las fotos .

http://circuit.banshee.mx/shields-arduino/ethernet-shield-para-arduino-w5100/28

este es el codigo

#include <SPI.h>

#include <Ethernet.h>

//Declaración de la direcciones MAC e IP. También del puerto 80
byte mac={0x00,0x22,0x48,0x9f,0xe2,0x3d}; //MAC
IPAddress ip(192,168,1,71); //IP
EthernetServer servidor(80);

int PIN_LED=8;
String readString=String(30);
String state=String(3);

void setup()
{
 Ethernet.begin(mac,ip); //Inicializamos con las direcciones asignadas
 servidor.begin();
 pinMode(PIN_LED,OUTPUT);
 digitalWrite(PIN_LED,HIGH);
 state=“OFF”;
}

void loop()
{
 EthernetClient cliente= servidor.available();
 
 if(cliente)
 {
   boolean lineaenblanco=true;
   while(cliente.connected())//Cliente conectado
   {
     if(cliente.available())
     {
       char c=cliente.read();
       if(readString.length()<30)//Leemos petición HTTP caracter a caracter
       {
         readString.concat(c); //Almacenar los caracteres en la variable readString
       }
       if(c==’\n’ && lineaenblanco)//Si la petición HTTP ha finalizado
       {
         int LED = readString.indexOf(“LED=”);
         if(readString.substring(LED,LED+5)==“LED=T”)
         {
           digitalWrite(PIN_LED,LOW);
           state=“ON”;
         } else if (readString.substring(LED,LED+5)==“LED=F”)
         {
           digitalWrite(PIN_LED,HIGH);
           state=“OFF”;
         }
         
         
         //Cabecera HTTP estándar
         cliente.println(“HTTP/1.1 200 OK”);
         cliente.println(“Content-Type: text/html”);
         cliente.println();
         //Página Web en HTML
         cliente.println("");
         cliente.println("");
         cliente.println(“LAMPARA ON/OFF”);
         cliente.println("");
         cliente.println("");
         cliente.println("");
         cliente.println(“

LAMPARA ON/OFF

”);
         cliente.print("

");
         cliente.print("Estado de la lampara: “);
         cliente.print(state);
         cliente.print(”

“);
         cliente.println(”<input type=submit value=ON style=width:200px;height:75px onClick=location.href=’./?LED=T’>");
         cliente.println("<input type=submit value=OFF style=width:200px;height:75px onClick=location.href=’./?LED=F’>");
         cliente.println("");
         cliente.println("");
         cliente.println("");
         cliente.stop();//Cierro conexión con el cliente
         readString="";
       }
     }
   }
 }
}




este es un ifconfig de computador de escritorio 

[![](http://sia1.subirimagenes.net/img/2014/07/31/mini_140731123346197750.png)](http://www.subirimagenes.net/i/140731123346197750.png)

estos son los dispositivos totales en mi modem y en ningun momento me detecta el SHIELD W5100 (o la IP 192,168,1,71)

[![](http://sia1.subirimagenes.net/img/2014/07/31/mini_140731123838631867.png)](http://www.subirimagenes.net/i/140731123838631867.png)



este es mi arduino en funcionamiento 
[![](http://sia1.subirimagenes.net/img/2014/07/31/mini_140731124454945141.jpg)](http://www.subirimagenes.net/i/140731124454945141.jpg)

[![](http://sia1.subirimagenes.net/img/2014/07/31/mini_140731124501583647.jpg)](http://www.subirimagenes.net/i/140731124501583647.jpg)

EL problema es que mi modem no me deja agregar dispositivos ni IP de ninguna manera , no se si eso influya la unica manera de agregar dispositivos es por medio automatica por DHCP no se si sea ese el problema .

por eso digo si es nesesario comprar un router el cual yo pueda asignar digamos la ip 192,168,1,71 y la mac 0x00,0x22,0x48,0x9f,0xe2,0x3d directamente al dispositivo de esta manera no usara DHCP para detectar el SHIELD W5100 

estoy en lo correcto o no es nesesario comprar router y mando a garantia mi SHIELD W5100 ??

mirate esto

ya realize lo mensionado en el video paso a paso y sigo sin poder comunicarme con mi arduino enviare mi shield W5100 a garantia ya les contare que pasa ya me rompi la cabeza 2 dias lo dejo por la paz . gracias

cuantos años tenes ?
1?

24 , por que naruto un poco irrelevante no cres, pero agradesco toda tu ayuda como comento mandare mi dispositivo a garantia y ya les contare que paso.

Pero a ver, ¿has probado a hacer un ping al arduino?

A mi, ese código, me funciona perfectamente, con un ethernet shield. Que no aparezca en la lista del router, me parece totalmente irrelevante, vamos, a mi me daría absolutamente igual, mientras funcione, ¿que más me dá que no salga en una lista del router?

Yo lo he probado, me responde a ping, y en un navegador me sale una página con dos botones de on y off para encender y apagar el led en el pin 8. Lo único que veo raro, es que al darle a on, el led se apaga, y al darle a off, se enciende, pero funcionar, funciona.

Bueno agradesco a todos .

mande a garantia mi shield y efectivamente estaba dañado ..

me mandaron un remplazo y en menos de 1 minuto lo eche a andar de manera local en mi computador.

aun sigo sin que el modem me lo detecte . pero eso ya no es problema se que ya hace coneccion solo es cuestion de comprar un router que pueda asignar ip estaticamente .

¿Asignar IP estáticamente? Hay algunos routers, que permiten crear una lista de direcciones MAC, a las que asignarles siempre una misma IP, pero nunca le he visto la utilidad práctica. Para eso, pongo ip's fijas a los dispositivos que me interesa, y dejo un rango fuera del DHCP para las ip's fijas.

Ningun router te asigna una ip estatica si lo que pretendes es luego verlo desde internet.
Ya tienes una ip estatica en tu shield pero es en tu red local.

Para lograr verlo en la red pública o sea INTERNET tienes dos opciones:

  1. contratar la ip fija o estatica (tiene un costo) con tu proveedor

  2. Ve a www.no-ip.com y configura una cuenta.
    Obtendras una direccion de internet que te servirá para redirigirla a tu arduino. Luego de registrarte debes bajar un pequeño programa que corre en la PC.
    Necesitas un router y luego configurar la direccion del arduino para que se convierta en un servidor virtual.
    En mi router figura como DMZ
    http://c2n.me/iDV0zf

Esto hace que la direccion del arduino sea transparente al router y cuando es invocaco via internet, responde sin problemas.

surbyte:
Ningun router te asigna una ip estatica si lo que pretendes es luego verlo desde internet.
Ya tienes una ip estatica en tu shield pero es en tu red local.

Para lograr verlo en la red pública o sea INTERNET tienes dos opciones:

  1. contratar la ip fija o estatica (tiene un costo) con tu proveedor

  2. Ve a www.no-ip.com y configura una cuenta.
    Obtendras una direccion de internet que te servirá para redirigirla a tu arduino. Luego de registrarte debes bajar un pequeño programa que corre en la PC.
    Necesitas un router y luego configurar la direccion del arduino para que se convierta en un servidor virtual.
    En mi router figura como DMZ
    http://c2n.me/iDV0zf

Esto hace que la direccion del arduino sea transparente al router y cuando es invocaco via internet, responde sin problemas.

es correcto mi estimado es exactamente lo que pretendo hacer lamentablemente como comento mi modem esta muy muy limitado no permite ningun tipo de configuracion que no sea abrir puertos , es por eso que nesesito un router para poder hacerlo visible desde internet . gracias

Pues me extrañaría que no se pueda hacer visible el asesino desde internet en tu router. Básicamente lo que tiene que hacer es eso: abrir un puerto para el arduino.

Hola que tal buen día
Tengo un problema no se si me puedan ayudar
tengo mi PC(192.168.1.10) conectado a mi Arduino ethernet(192.168.1.11) y todo funciona correctamente
pero cuando colo con un switch de por medio pierdo la comunicación entre mi pc y arduino
no se si me falte alguna configuracion o algo...
Espero me puedan dar alguna idea para solucinarlo...
Gracias...

Saludos
Ante todo no actives un post que tenga tanto tiempo sin aporte.

Si conectas un switch y luego no hay comunicacion, se puede deber a que tu switch cambia los IP de tu maquina si tiene DHCP activado. Presiona Windows + R colocas cmd y luego escribes en la ventana que emerge “ipconfig”, alli te mostrara la ip que toma tu PC luego de conectar el Switch.

Y coloca lo que te salga.