¿Alguien me puede ayudar con este código?

Buenas a todos, llevo poco tiempo en el mundo de arduino y aun programar se me queda un poco grande. ¿Me podriais ayudar con mi código?
Es para un proyecto de clase, consta de una placa UNO conectadas a varios sensores que recogen temperatura, humedad, luminosidad y ruido. Todo esto es controlado mediante la placa Ethernet en red local. Además incorpora dos botones para controlar remotamente dos reles. El problema es que consigo hacer que todos los sensores recojan los valores y lo expresen en el navegador pero cuando incorporo lo botones ya la página no me carga. Os dejo el código sin los botones que es el que me funciona y el que integra los botones que es el que no va. He hecho mil pruebas pero no encuentro porque no me carga la página. Gracias por las futuras respuestas y la ayuda.

CODIGO SIN BOTONES:
#include <SPI.h>
#include <Ethernet.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#include <WString.h>
#include "DHT.h"

#define ONE_WIRE_BUS A0 // PIN ANALOGICO SENSOR DS18
#define DHTPIN 2 // PIN CONEXION SENSOR DHT11

#define DHTTYPE DHT11 // DHT 11
// PINES SENSOR DHT11
// Conectar pin 1 (mirado desde frente) VCC +5V
// Conectar pin 2 a Arduino PIN 2
// Conectar pin 4 a masa. 0V
// Conectar resistencia 10K entre pin 2 (data) y pin 1 (VCC+)

DHT dht(DHTPIN, DHTTYPE);
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress ip(192, 168, 1, 30);
EthernetServer server(80);
String HTTP_req;

void setup() {
Ethernet.begin(mac, ip);
server.begin();
Serial.begin(9600);
sensors.begin();

}

void loop() {

EthernetClient client = server.available();
if (client) {
boolean currentLineIsBlank = true;
while (client.connected()) {
if (client.available()) {
char c = client.read();
HTTP_req += c;

if (c == '\n' && currentLineIsBlank) {
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println("Connection: keep-alive");
client.println();

if (HTTP_req.indexOf("ajax_switch") > -1) {
getTemperature(client);
} else {
client.println("");
client.println("");
client.println("");
client.println("CONTROL REMOTO DE BEBES");
client.println("<link href='http://fonts.googleapis.com/css?family=Roboto+Condensed\' rel='stylesheet' type='text/css'>");
client.println("<style type="text/css">p#switch_txt {font-size:37px;margin:0px} body {text-align:center; font-family: 'Roboto Condensed', sans-serif;}");
client.println("");
client.println("");
client.println("<body onload="leerSensores()">");
client.println("

DATOS RECIBIDOS DE LOS SENSORES

");
client.println(
"<p id="switch_txt">Obteniendo...

");
client.println("

VALORES RECIBIDOS

");
client.println("

Proyecto realizado por Toni Caro

");
client.println("");
client.println("");
}
Serial.print(HTTP_req);
HTTP_req = "";
break;
}
}
}
delay(1);
client.stop();
}
}

void getTemperature(EthernetClient cl) {
float h,t;
sensors.requestTemperatures();
cl.print("Temperatura Bebe: ");
cl.print(sensors.getTempCByIndex(0));
cl.println(" ºC");
cl.println();
cl.println("
");
cl.println("
");
cl.println("Humedad habitacion: ");
cl.print(dht.readHumidity());
cl.print(" %");
cl.println("
");
cl.println("
");
cl.print("Temperatura Habitacion: ");
cl.print(dht.readTemperature());
cl.print(" ºC");
cl.println();
cl.println("
");
cl.println("
");
cl.print("Sensor de Sonido "); //Imprimir valor entrada digital client.print("2");
cl.print(" es: "); cl.print(digitalRead(3)); // Lectura del pin 3 (digital)
cl.println("
");
cl.println("
");
cl.print("Luminosidad de la Sala"); //Imprimir valor entrada análoga
cl.print(" "); cl.print(" es ");
cl.print((analogRead(1) * 100 )/(float)1024);// Lectura del pin 1 (analogo)
cl.print("%");
cl.println("
");
cl.println("
");

}

CODIGO CON BOTONES, (NO VA):
#include <SPI.h>
#include <Ethernet.h>
#include <Client.h>
#include <Server.h>
#include <Udp.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#include <WString.h>

#include "DHT.h"

#define ONE_WIRE_BUS A0 // PIN ANALOGICO SENSOR DS18
#define DHTPIN 2 // PIN CONEXION SENSOR DHT11

#define DHTTYPE DHT11 // DHT 11
// PINES SENSOR DHT11
// Conectar pin 1 (mirado desde frente) VCC +5V
// Conectar pin 2 a Arduino PIN 2
// Conectar pin 4 a masa. 0V
// Conectar resistencia 10K entre pin 2 (data) y pin 1 (VCC+)

DHT dht(DHTPIN, DHTTYPE);
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress ip(192, 168, 1, 30);
EthernetServer server(80);
String HTTP_req;

int PinLed1= 7; //esto sera actuador 1 en algun momento
int PinLed2= 8;

String readString = String(30);

void setup()
{
Ethernet.begin(mac, ip);
sensors.begin();
server.begin();
pinMode(PinLed1,OUTPUT);
pinMode(PinLed2,OUTPUT);

}

void loop() {
{

EthernetClient client = server.available();
if (client)
{
boolean currentLineIsBlank = true;
while (client.connected())
{
if (client.available())
{

char c = client.read();
HTTP_req += c;

if (readString.length()<30) //leer peticion HTTP caracter por caracter
{
readString += c;
}

if (c == '\n' )
{
if(readString.indexOf("Led1=On")>0){
digitalWrite(PinLed1,HIGH);
}
if(readString.indexOf("Led1=Off")>0){
digitalWrite(PinLed1,LOW);
}
if(readString.indexOf("Led2=On")>0){
digitalWrite(PinLed2,HIGH);
}
if(readString.indexOf("Led2=Off")>0){
digitalWrite(PinLed2,LOW);
}

}
readString=""; //Vaciar el string que se uso para la lectura
//Enviar cabecera HTTP estandar

client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println("Connection: keep-alive");
client.println();
//
if (HTTP_req.indexOf("ajax_switch") > -1) {
getTemperature(client);
} else {
client.println("");
client.println("");
client.println("");
client.println("CONTROL REMOTO DE BEBES");
client.println("<link href='http://fonts.googleapis.com/css?family=Roboto+Condensed\' rel='stylesheet' type='text/css'>");
client.println("<style type="text/css">p#switch_txt {font-size:37px;margin:0px} body {text-align:center; font-family: 'Roboto Condensed', sans-serif;}");
client.println("");
client.println("");
client.println("<body onload="leerSensores()">");
client.println("

DATOS RECIBIDOS DE LOS SENSORES

");
client.println(
"<p id="switch_txt">Obteniendo...

");
client.println("

VALORES RECIBIDOS

");

client.println("



");
client.println("");
client.println("");
client.println("");
client.println("");
client.println("
LED 1 LED 2
");
client.println("

");

client.println("

Proyecto realizado por Toni Caro

");
client.println("");
client.println("");
}
Serial.print(HTTP_req);
HTTP_req = "";
break;
}
}
}
delay(1);
client.stop();
}
}

void getTemperature(EthernetClient cl) {
float h,t;
sensors.requestTemperatures();
cl.print("Temperatura Bebe: ");
cl.print(sensors.getTempCByIndex(0));
cl.println(" ºC");
cl.println();
cl.println("
");
cl.println("
");
cl.println("Humedad habitacion: ");
cl.print(dht.readHumidity());
cl.print(" %");
cl.println("
");
cl.println("
");
cl.print("Temperatura Habitacion: ");
cl.print(dht.readTemperature());
cl.print(" ºC");
cl.println();
cl.println("
");
cl.println("
");
cl.print("Sensor de Sonido "); //Imprimir valor entrada digital client.print("2");
cl.print(" es: "); cl.print(digitalRead(3)); // Lectura del pin 3 (digital)
cl.println("
");
cl.println("
");
cl.print("Luminosidad de la Sala"); //Imprimir valor entrada análoga
cl.print(" "); cl.print(" es ");
cl.print((analogRead(1) * 100 )/(float)1024);// Lectura del pin 1 (analogo)
cl.print("%");
cl.println("
");
cl.println("
");

}

Buenas Tardes:

Cuando desarrollo con arduino codigo HTLM, utilizo el Fiddler web debugger. Es muy facil de usar y te enteras de todo la mensajeria que produce tu codigo.

Espero que te pueda servir.

Un saludo