Arduino ed ethernet shield

Ragazzi, scusate se vi faccio una domanda forse banale, ma sono piuttosto inesperto.
Allora ho comprato l’arduino , fatto qualche programma per cominciare a capire come funziona, e fin qui…
Poi ho comprato l’ethernet shield, ed adesso iniziano i problemi!
Ho fatto un piccolo programmino, per cominciare a capiere come funziona, ma non si connette mai alla rete!!!
Sapete aiutarmi ??
Grazie.

Vi allego il programma:
#include <SPI.h>

#include <Client.h>
#include <Ethernet.h>
#include <Server.h>
#include <Udp.h>

#define LEDPIN 9

byte mac = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};

byte ip = {192,168,1,10};
byte gateway = {192,168,1,1};
byte subnet = {255,255,255,0};
byte server = {192,168,1,26};

Client client(server,80);

void setup()
{
Ethernet.begin(mac,ip,gateway,subnet);
Serial.begin(9600);
pinMode(LEDPIN,OUTPUT);

delay(1000);

Serial.println(“Connetting…”);

if(client.connect()) {
Serial.println(“connected”);
}

else
{
Serial.println(“connection failed”);
}
}

void loop()
{
if (client.available()) {
char c = client.read();
Serial.print(c);
}

if (!client.connected()) {
Serial.println();
Serial.println(“disconnecting.”);
client.stop();
for(;:wink:
;
}
}

in teoria

if(client.connect()) {
   Serial.println("connected");
}

 else
 {
   Serial.println("connection failed");
 }

è erronero perchè non dai tempo alla connessione di avvenire, poi in realtà è da vedere se client.connect() è una chiamata loccante (in quel caso nessun problema)

però il loop dovrebbe funzionare lo stesso una volta avvenuta la connessione… hai provato a scrivere lo stesso qualche richiesta alla seriale?

Ti ringrazio della risposta rapida. No, non ho provato. Che potrei fare secondo te ?

darei un'occhiata al reference: http://arduino.cc/en/Reference/ClientConnect

così si scopre che connect() è loccante (perchè restituisce se connesso o no)

poi controllerei se i valori ip sono corretti, che il router non faccia da firewall o che la NAT si astata correttamente impostata

ok ti ringrazio... ovviamento quel tutorial l'ho già visto, una sola domanda, l'indirizzo mac che devo inserire è limitante ? o posso utilizzarne uno qls ? Dato che non lo conosco.

Tratto da http://www.arduino.cc/en/Guide/ArduinoEthernetShield " .....Current Ethernet shields come with a sticker indicating the MAC address you should use with them." In pratica sotto l'ethernet shield ufficiale c'è un'etichetta con il mac address della tua scheda

Il problema è che la mia shield non lo monta questo adesivo, quindi non so il suo indirizzo mac.

http://arduino.cc/playground/Italiano/Pobleminoti#Ethernet

Grazie jumpack, ma credo di aver capito il problema principale, la ethernet shield è la vers 1.1 con chip ENC28J60. Quindi mi è sorto il dubbio che proprio la libreria non vada bene. Devo verificare.