Problema con Arduino Ethernet Shield

Salve a tutti,

sto cercando di realizzare un piccolo impianto domotico e gestire un paio di led utilizzando arduino uno + arduino ethernet shield.
Sono riuscito a fare il tutto e ora sto cercando di fare un passo in più ed è dove mi sono bloccato. Voglio accendere/spegnere
i led tramite pulsante e la cosa mi riesce. Il problema è che non so come faccio a cambiare lo stato del led sul pc! Facendo l' accensione/spegnimento da pc non ci sono problemi invece utilizzando il bottone(quello classico che si trova negli starter kit) non capisco come si faccia. Cercando in rete ho trovato qualcosa con ajax ma non capivo molto bene il codice.
Come posso risolvere questo problema?

Grazie mille in anticipo.

Ti invito alla lettura del regolamento:
http://forum.arduino.cc/index.php?topic=149082.0

Stai aprendo thread in lingua italiana nella sezione internazionale ma, soprattutto, thread doppi perché non trovi esaurienti le risposte che ricevi e pensi che domandare 2 volte la stessa cosa possa aiutare. Forse sarebbe il caso di chiedersi se, come da regolamento, sei tu che non hai fornito tutte le informazioni circa il problema da risolvere e gli altri non possono aiutarti perché non sanno cosa vuoi fare.

@Munna94, vediamo se ho capito cosa vuoi fare.
Hai una pagina web per accendere/spegnere un led dalla pagina, però vuoi avere anche fisicamente un pulsante.
Naturalmente il pulsante se cambia stato del led, deve anche "modificare" lo stato del led sulla pagina web.
Ho capito quello che vuoi fare?

si esattamente

Nel tuo attuale sketch, lo stato del led (acceso/spento) lo memorizzi in una variabile?

Questo è il codice che utilizzo. E' la gestione di 2 led da web, ma appena il tutto funziona li aumenterò.
E solo un led ha il bottone perchè finchè non va non ha senso metterlo anche all' altro.

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

byte mac[] = { 0xDD, 0xAB, 0xCE, 0xFF, 0xEE, 0xED }; // MAC ADDRESS della scheda ethernet arduino
byte ip[] = { 192, 168, 1, 9}; 

EthernetServer server(80); // la porta 80 è quella comune per la comunicazione

const int pin_uno = 2; 
const int pin_due = 7;  
int bottone = 8;
int statoLed = LOW;
  
void setup() 
{
  Serial.begin(9600);        
  pinMode(pin_uno, OUTPUT);   
  pinMode(pin_due, OUTPUT);
  
  // Connetto la shield e attivo il server su arduino per la comunicazione 
  Ethernet.begin(mac, ip);
  server.begin();
  
  digitalWrite(pin_uno, LOW);
  digitalWrite(pin_due, LOW);
}

void loop() 
{
  // Controllo se un client sta inviando richieste al server
  EthernetClient client = server.available();
  
  //gestione del bottone di un led
  int leggiBottone=digitalRead(bottone);
  if (leggiBottone == 1)
  {
     if (statoLed == LOW)
     {
       statoLed = HIGH;
       digitalWrite(pin_uno, statoLed);
       delay(500);
 
     } else {
       statoLed = LOW;
       digitalWrite(pin_uno, statoLed);
       delay(500);
     }
  } 
  //fine gestione led
 
  
  // Se esiste il client di arduino
  if (client) 
  {
    // ed è connesso
    while (client.connected()) 
    {
      // ed è raggiungibile
      if (client.available()) 
      {
        // vado a vedere se sono stati inserite delle richieste
        if ( client.find("GET /") ) 
        {
          if(client.findUntil("?", "\n\r")){ // finduntil è una funzione che mi permette di vedere quel che c'è tra il ? e la fine riga indentificata da \n\r
            char carattere = client.read();
            if ( carattere == 'u' ) { onoff( pin_uno ); }
            if ( carattere == 'd' ) { onoff( pin_due ); }
          }
          
          // html
          client.println("HTTP/1.1 200 OK");
          client.println("Content-Type: text/html");

          client.println();  

          int uno = digitalRead(pin_uno);
          int due = digitalRead(pin_due);
            
          client.print("
");
          client.print("<a href='http://192.168.1.9");
          client.print("?u'>");
          client.print("LUCE UNO: ");
          client.print("</a>");
          if (uno==0) { client.print("<span style='color:red'><b>SPENTO</b></span>"); }
          else        { client.println("<span style='color:green'><b>ACCESO</b></span>"); }

          client.print("
");
          client.print("<a href='http://192.168.1.9");
          client.print("?d'>");
          client.print("LUCE DUE: ");
          client.print(
          if (due==0) { client.print("<span style='color:red'><b>SPENTO</b></span>"); }
          else        { client.println("<span style='color:green'><b>ACCESO</b></span>"); }
          
          break;  //mi evita un loop e che si blocchi.. ? non ho ben capito perchè ci vada..
        }
      }
    }
    // finita la richiesta fermo il client
    delay(1);
    client.stop();
  }
}


//funzione per aggiornare le luci
void onoff(int pin_acc)
{
  int stato_led = digitalRead(pin_acc);
  if ( stato_led == LOW ) { digitalWrite(pin_acc, HIGH); }
  else if ( stato_led == HIGH ) { digitalWrite(pin_acc, LOW); }
}

Non conosco la programmazione web, leggendo qualche post, credo che o si usi Ajax oppure JQeury per poter modificare solo una parte della pagina quando premi il pulsante. E' solo una indicazione generica.
Attendi un parere mooolto più attendibile e utile del mio. Sorry.