Reconhecer Ethernet Shield

Galera!

Preciso de uma ajuda urgente!

Comprei o ethernet shield, mas não to conseguindo fazer que a minha rede localhost enxergue a placa…

SEGUE O MEU PASSO-A-PASSO:

  1. FIZ UMA REDE LOCAL COM UM ROTEADOR, ONDE LIGUEI EM UMA PORTA DE SAIDA MEU NOTEBOOK E NA OUTRA O ETHERNET SHIELD

  2. FIZ UM PING DA REDE, QUE OFERECEU ESTES DADOS:
    IP: 192.168.1.101
    MASK: 255.255.255.0
    GATEWAY: 192.168.1.1

  3. ESTOU UTILIZANDO ESTE CÓDIGO, PARA QUE A PLACA SE COMUNIQUE COM O MEU LOCALHOST (127.0.0.1:81), DE TAL FORMA QUE EU POSSA ACIONAR O COMANDO VIA BROWSER PARA O ARDUINO:

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

byte mac = { 0x33, 0xA2, 0x33, 0x00, 0x33, 0x7A };
byte ip = { 192, 168, 1, 101 };
byte server = { 127, 0, 0, 1};
char temp[2];
int x=0;
int r5pin=5;
int r6pin=6;
int r7pin=7;
int r8pin=8;
int r9pin=9;
int powerOn=HIGH;
int powerOff=LOW;

EthernetClient client;

void setup() {
pinMode(r5pin,OUTPUT);
pinMode(r6pin,OUTPUT);
pinMode(r7pin,OUTPUT);
pinMode(r8pin,OUTPUT);
pinMode(r9pin,OUTPUT);
Ethernet.begin(mac, ip);
Serial.begin(9600);
delay(1000);
Serial.println(“connecting…”);
if (client.connect(server,81)) {
Serial.println(“connected”);
client.println(“GET /robo.php HTTP/1.0”);
client.println();
} else {
Serial.println(“connection failed”);
Serial.println();
Serial.println(“disconnecting.”);
client.stop();
}
}

void loop(){
if (client.connect(server,81)) {
Serial.println(“connected”);
client.println(“GET /robo.php HTTP/1.0”);
client.println();
}
do {
if (client.available()) {
char c = client.read();
temp=c;
Serial.print(temp);
x++;
}
}
while(x<2);
x=0;
if(temp[0]==‘L’ && temp[1]==‘1’) {
Serial.println(“Liga relay1”);
digitalWrite(r7pin,powerOn);
}
if(temp[0]==‘L’ && temp[1]==‘2’) {
Serial.println(“Liga relay2”);
digitalWrite(r7pin,powerOn);
}
if(temp[0]==‘D’ && temp[1]==‘1’) {
Serial.println(“Desliga relay1”);
digitalWrite(r7pin,powerOff);
}
if(temp[0]==‘D’ && temp[1]==‘2’) {
Serial.println(“Desliga relay2”);
digitalWrite(r7pin,powerOff);
}
if (!client.connected()) {
Serial.println();
Serial.println(“disconnecting.”);
client.stop();
delay(500);
}
}

OBS: JÁ TENTEI OUTROS CODIGOS NA INTERNET PARA ACHAR O ARDUINO NA REDE, MAS NÃO CONSIGO.

ME AJUDEM, POR FAVOR!!!

MUITO OBRIGADO!

ABS

Se calhar explicaste-te mal...

Se o Arduino vai ser um cliente, ele tem de aceder um servidor. O teu localhost é interno ao teu computador... o teu computador consegue aceder-lhe, mas mais nada lá chega. Para o Arduino aceder ao teu computador tens de colocar o IP do teu computador na variável server. E o IP do Arduino não pode ser igual ao IP do teu computador... senão dá barraca.

Divida seu problema em problemas menores:

Seu shield é baseado do chip W5100? Se sim, já tentou usar o exemplo que o acompanha? Este sempre funciona. Um teste de ping é suficiente para saber se a interface de rede do arduino está respondendo.

Alguns roteadores bloqueiam o tráfego entre as interfaces de rede. Tente colocar ip fixo no computador e ligar o arduino diretamente a este para o teste com o ping.

Como o bubulindo comentou, localhost (127.0.0.1) é um endereço de loopback que se refere a mesma interface de rede. Quando coloca este para o arduino acessar, ele consulta ele mesmo. Tem que colocar o ip do computador na mesma rede (192.168.1.algumacoisa).

Quanto tiver conectividade entre o computador e o arduino, parta para a comunicação.

Galera!

Obrigado pela resposta..mas sou um pouco leigo ainda...

Lago, meu chip é o W5100...qual é o exemplo que o acompanha? onde pego?

Vamos lá:

1) ENTÃO, COMO MINHA REDE É 192.168.1.101, POSSO COLOCAR UM IP FIXO NO COMPUTADOR: POR EXEMPLO: 192.168.1.200, certo? ESTÁ NO MESMO RANGE;

2) COMO ATRIBUO UM IP PARA O ARDUINO?

3) COMO CONFIGURO ESTA PARTE DO CÓDIGO? byte mac[] = { 0x33, 0xA2, 0x33, 0x00, 0x33, 0x7A }; byte ip[] = { 192, 168, 1, 101 }; byte server[] = { 127, 0, 0, 1}

OBRIGADO GENTE!

Menu File, Exeamples, Ethernet. Pode usar qualquer um. Teste primeiro com o WebServer, configure IP e a máscara e tente acessar do computador (se pingar) pelo browser.

Obrigado bubulindo e Lago!

Já consegui colocar a placa na rede....o roteador estava matando...rs

AGORA UMA OUTRA AJUDINHA...RS...

ALGUEM TEM ALGUM CODIGO QUE ACIONA RELE VIA WEB? SE TIVER, ME AJUDA MUITO, POIS NAO PRECISO CRIAR TUDO...SÓ EDITAR..... =)

MUITO OBRIGADO!