Problema pilotaggio Relè con ethernet shield

Ciao a tutti.
Ho un problema con la ethernet shield e modulo Relè.
Funziona tutto e con la pagina web riesco a pilotare i quattro relè, l’unico problema è che se ad esempio accendo il primo relè, e lo lascio acceso, se voglio attivare anche il secondo automaticamente si spegne il primo. Stessa cosa per tutti e quattro.
Mi sono ispirato a questo codice e ho fatto delle modifiche per aggiungere anche gli altri 3 relè, in quanto il codice originario ne gestiva solo uno.
Qualcuno saprebbe aiutarmi?
Grazie mille!
Lo sketch è questo:

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

byte mac = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte ip = { 192, 168, 0, 3};
byte gateway = { 192, 168, 0, 1};
byte subnet = {255, 255, 255, 0 };
EthernetServer server(80);
String richiesta;
String richiesta2;
String richiesta3;
String richiesta4;

int pinLed=9;
int pinLed2=8;
int pinLed3=7;
int pinLed4=6;

void setup()
{

Ethernet.begin(mac,ip,gateway,subnet);
pinMode(pinLed,OUTPUT);
pinMode(pinLed2,OUTPUT);
pinMode(pinLed3,OUTPUT);
pinMode(pinLed4,OUTPUT);
Serial.begin(9600);
richiesta = “”;
richiesta2 = “”;
richiesta3 = “”;
richiesta4 = “”;
}

void loop()

{
EthernetClient client = server.available();
if(client)
{
Serial.println(“Qualcosa ha provato a connettersi”);
while(client.connected())
{
if(client.available())
{
char c = client.read();
richiesta.concat(c);

if(c == ‘\n’)
{
Serial.print(richiesta);
if(richiesta.indexOf(“Led=1”)>0)

{
digitalWrite(pinLed,HIGH);
}
else
{
digitalWrite(pinLed,LOW);
}

if(richiesta2.indexOf(“Led2=1”)>0)
{
digitalWrite(pinLed2,HIGH);
}
else
{
digitalWrite(pinLed2,LOW);
}
if(richiesta3.indexOf(“Led3=1”)>0)
{
digitalWrite(pinLed3,HIGH);
}
else
{
digitalWrite(pinLed3,LOW);
}
if(richiesta4.indexOf(“Led4=1”)>0)
{
digitalWrite(pinLed4,HIGH);
}
else
{
digitalWrite(pinLed4,LOW);
}
client.println(“HTTP/1.1 200 OK”);
client.println(“Content-Type: text/html”);
client.println();

client.println(“Prova”);
client.print(“Accendi Spegni “);
client.print(”

”);
client.print(“Accendi Spegni “);
client.print(”

”);
client.print(“Accendi Spegni “);
client.print(”

”);
client.print("Accendi Spegni ");

client.stop();
richiesta = “”;
richiesta2 = “”;
richiesta3 = “”;
richiesta4 = “”;
}
}
}
}
}

Cominciamo male … ::slight_smile:

… prima di tutto, essendo il tuo primo post, ti chiedo di presentarti QUI (spiegando bene quali conoscenze hai di elettronica e di programmazione … possibilmente evitando di scrivere solo una riga di saluto) e di leggere con attenzione il REGOLAMENTO, poi …

… in conformità al suddetto regolamento, punto 7, devi editare il tuo post (in basso a destra del post, bottone More → Modify) e racchiudere il codice all’interno dei tag CODE (… sono quelli che in edit inserisce il bottone fatto così: </>, tutto a sinistra).

Grazie.

Guglielmo