Bonjour, je suis nouveau autant sur le forum que dans le monde de l'arduino.
Je cherche à activer et déactiver un relais en réseau en utilisant un arduino UNO, un shield ethernet et un relais arduino. Le montage fonctionne bien, j'ai un souci dans le code.
Après plusieurs recherche sur internet, j'ai trouvé un code correspondant à ce que je voulais. Il devait prendre en charge 8 relais, étant donné que je souhaitais alléger le code, j'ai modifier le code pour qu'il corresponde à ma situation. Seulement, mon code ne fonctionne pas et je n'arrive pas à trouver la solution, ce n'est pas faute de chercher mais parfois à force de trop cherche, on en fini par manquer l'immanquable. Je me dirige donc vers vous pour avoir votre avis.
Voici le code :
#include <SPI.h>
#include <Ethernet.h>
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte ip[] = { 192, 168, 1, 200 };
byte gateway[] = { 192, 168, 1, 200 };
byte subnet[] = { 255, 255, 0, 0 };
EthernetServer server(80);
int Relais1 = 2;
String readString = String();
String Valeur;
void setup()
{
Ethernet.begin(mac, ip, gateway, subnet);
pinMode(Relais1, OUTPUT);
digitalWrite(Relais1, LOW);
Serial.begin(9600);
}
int essai(String n)
{
//Action Relais 1
if (n=='A')
{
digitalWrite(Relais1, HIGH);
}
if (n=='a')
{
digitalWrite(Relais1, LOW);
}
}
void loop()
{
EthernetClient client = server.available();
if (client)
{
while (client.connected())
{
if (client.available())
{
char c = client.read();
if (readString.length() < 30)
{
readString.concat(c);
}
if (c == '\n')
{
Serial.println(readString);
Valeur = readString.substring (9,10);
essai(Valeur);
client.print("<html><head><title>Domotique</title><style language='css'>table{text-align:center; color: white;}h1{color: white;}</style></head>");
client.println("<body BGCOLOR=CornflowerBlue><h1>Arduino</h1>");
client.println("<form method='get'>");
//checkbox Relais 1
if (digitalRead(Relais1)==LOW)
{
//Si le relais n'est pas activé, on créer une checkbox non cochée
client.println("<input type=hidden name=R1 value='A'><input type='checkbox' onclick='this.form.submit();'>Relais 1");
}
else
{
//Si le relais est activé, on créer une checkbox cochée
client.println("<input type=hidden name=R1 value='a'><input type='checkbox' onclick='this.form.submit();' checked>Relais 1");
}
client.println("</form>");
client.println("</body></html>");
readString="";
client.stop();
}
}
}
}
}
Merci par avance de vous pencher sur mon soucis.