domotica+arduino+wi-fi e i pulsanti

salve ragazzi.da 3 giorni mi è arrivato l'arduino e mi sono messo subito a lavoro. in pratica sfruttando il soft di blade accendo le luci di casa. in piu ho aggiunto anche lo spengimento e l'accensione contemporanea delle luci cosa che non èra possibile con il programma base.ora però non riesco ad integrare il tutto con i pulsanti della luce di casa.nel senso uso il pin 9 per comandare una lampadina tramite cel. ora usando il pin 6 come input e collegandoci un pulsante vorrei che a ogni cambiamento di stato del pulsante corrispondesse un cambiamento di stato del pin 9 mantenendolo fino al prossimo cambiamento di stato che potrebbe arrivare sia dal cel che dal pulsante.allego le stringhe di quello che ho gia caricato sull'arduino. spero che qualcuno mi possa dare una dritta

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


byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xBE };
byte ip[] = { 192 ,168 ,1 ,10 };
byte gateway[] = { 192 ,168 ,1 ,1 };
byte subnet[] = { 255 ,255 ,255 ,0 };
EthernetServer server(80);

String readString = String(30);


void setup(){
Ethernet.begin(mac, ip, gateway, subnet);
delay(1000);
pinMode(9, OUTPUT);
digitalWrite(9, LOW);
pinMode(8, OUTPUT);
digitalWrite(8, LOW);
pinMode(7, OUTPUT);
digitalWrite(7, LOW);
Serial.begin(9600);
} 

void loop(){
EthernetClient client = server.available();
if (client) {
while (client.connected()) {
if (client.available()) {
char c = client.read();
if (readString.length() < 30)
{
readString = readString + c;
}
if (c == '\n') {
Serial.print(readString);
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println();


if(readString.startsWith("GET /?out=9&status=1"))
{Serial.print("\n 9 HIGH \n");
digitalWrite(9, HIGH);
client.print("{\"status\" : \"1\" , \"out\" : \"");
client.print(9);
client.print("\"}");
}
if(readString.startsWith("GET /?out=9&status=0"))
{Serial.print("\n 9 LOW \n");
digitalWrite(9, LOW);
client.print("{\"status\" : \"0\" , \"out\" : \"");
client.print(9);
client.print("\"}");
}


if(readString.startsWith("GET /?out=8&status=1"))
{Serial.print("\n 8 HIGH \n");
digitalWrite(8, HIGH);
client.print("{\"status\" : \"1\" , \"out\" : \"");
client.print(8);
client.print("\"}");
}
if(readString.startsWith("GET /?out=8&status=0"))
{Serial.print("\n 8 LOW \n");
digitalWrite(8, LOW);
client.print("{\"status\" : \"0\" , \"out\" : \"");
client.print(8);
client.print("\"}");
}


if(readString.startsWith("GET /?out=7&status=1"))
{Serial.print("\n 7 HIGH \n");
digitalWrite(7, HIGH);
client.print("{\"status\" : \"1\" , \"out\" : \"");
client.print(7);
client.print("\"}");
}
if(readString.startsWith("GET /?out=7&status=0"))
{Serial.print("\n 7 LOW \n");
digitalWrite(7, LOW);
client.print("{\"status\" : \"0\" , \"out\" : \"");
client.print(7);
client.print("\"}");
}


if(readString.startsWith("GET /?out=50&status=1"))
{Serial.print("\n 50 HIGH \n");
digitalWrite(7, HIGH);
digitalWrite(8, HIGH);
digitalWrite(9, HIGH);
client.print("{\"status\" : \"1\" , \"out\" : \"");
client.print(50);
client.print("\"}");
}
if(readString.startsWith("GET /?out=50&status=0"))
{Serial.print("\n 50 LOW \n");
digitalWrite(7, LOW);
digitalWrite(8, LOW);
digitalWrite(9, LOW);
client.print("{\"status\" : \"0\" , \"out\" : \"");
client.print(50);
client.print("\"}");
}


if(readString.startsWith("GET /?out=all"))
{
Serial.print("\n OUT ALL\n");
client.print("{\"ip\" : \"192.168.1.10\", ");
client.print("\"devices\" : ");
client.print("[{ \"type\" : \"light\", \"name\" : \"luce bagno\", \"out\" : \"");
client.print("9");
client.print("\"}");
client.print(",{ \"type\" : \"light\", \"name\" : \"luce camera\", \"out\" : \"");
client.print("8");
client.print("\"}");
client.print(",{ \"type\" : \"light\", \"name\" : \"luce sala\", \"out\" : \"");
client.print("7");
client.print("\"}");
client.print(",{ \"type\" : \"light\", \"name\" : \"generale\", \"out\" : \"");
client.print("50");
client.print("\"}");
client.print("]}");
}
readString="";
client.stop();
}
}
}
}
}

ciao

ora usando il pin 6 come input e collegandoci un pulsante vorrei che a ogni cambiamento di stato del pulsante corrispondesse un cambiamento di stato del pin

per capire come utilizzare un pulsante:
http://www.arduino.cc/en/Tutorial/Switch

ciao pituso. grazie per l'interessamento.come comandare un led con un pulsante lo so.il fatto che dovrei comandare un led sia con il pulsante che con il telefonino.è qui il problema ora a forza di tentare riesco a comandare il let con il pulsante a ogni cambio di stato quindi o mi rimane spento o mi rimane acceso con l'impulso del pulsante e questo è una parte.però quando lo comando con il cel mi lampeggia per un attimo e basta non rimane acceso