Pour réaliser l'application, il vous faut : 

  • une carte arduino;
  • un shield ethernet;
  • une del;
  • un potentiomètre ou un capteur analogique.

Avec ce programme vous pourrez, à partir d'une page html, visualiser la valeur analogique du potentiomètre et allumer une del .

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

//Valeur d'une entree analogique
int valeurDuCAN;

//Pour la gestion de la requete recus
String buffer; //mise en mémolre de la requete
boolean requeteGET ;
char buff[6]; //tableau de char pour recuperer la requete GET
int compteur;

//Pour la gestion des broches digitales

int brocheD;
boolean valeurD;

//Déclaration de l'adresse mac de la carte
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
//byte ip[] = { 192, 168, 1, 102 }; //Si on veut une Adresse IP fixe
EthernetServer server(80); //le protocole http est sur le port 80

void setup()
{
    // start the server
    //Ethernet.begin(mac, ip); //SI on veut une Adresse IP fixe
    Ethernet.begin(mac); //Adresse donnée par DHCP
    server.begin();

    Serial.begin(9600);
    delay(1000); // Delai pour l'initialisation de la carte Ethernet

    //Affichage sur le port serie de l'adresse Ip de la carte
    Serial.print("L'adresse Ip de la carte : ");
    IPAddress monAddressIp = Ethernet.localIP();
    Serial.print(monAddressIp);

    //initialisation de la borne 2
    pinMode( 2 , OUTPUT);

    //intialisation des variables    
   buffer = "";

  compteur = 0;

 

}

void loop()
{
   // Attend une requete
    EthernetClient client = server.available();
    if (client) {
        while (client.connected()) {
            if (client.available()) {
                char c = client.read();
                //Serial.print(c);

            //recupere les donnees recues dans la requete GET
            if ( requeteGET ) { buffer += c ;
                  buff[compteur] = c;
                  compteur++;

           }

            if ( c == '?' ) //Enregistre les données après ?
{requeteGET = true; }
//Recuperation des donnees terminée
if ( c == ' ' && requeteGET )
{requeteGET = false;
Serial.println(buffer);

if (buff[0]='D') {
if (buff[1]='O')
brocheD = int(buff[2]) - 48; //en Ascii 0 = 48
valeurD = int(buff[4]) - 48;
Serial.println(brocheD);
Serial.println(buff[4]);

digitalWrite( brocheD , valeurD);

}
compteur = 0;

buffer = "";

}


// Attend la fin de la requete HTTP reçu pour envoyer la page
if (c == '\n') {
// Protocole HTTP utilisaté pour envoyer la page internet
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println();

//en-tête de la page
client.println("<!DOCTYPE html>");
client.println("<html>");
client.println("<head>");
client.println("<meta charset=\"utf-8\">");

//rafraichissement de la page toutes les 1 secondes
//client.println("<meta http-equiv=\"refresh\" content=\"1\">");
client.println("<title>Ethernet Arduino STI2D</title>");

//style de la page (css)
client.println("<style type=\"text/css\">");
client.println("article,header, footer , div {display: block;}");
client.println("form {display : inline ;}");
client.println("body header { background-color : #008181 ; color : #ffffff ; ");
client.println("border:solid 1px black; text-align : center ; }");
client.println("body article {text-align : center ; height:300px;background-color: #ffffff;}");
client.println("body div {padding : 5px ; width = 300}");
client.println("body footer { padding : 5px ; border:solid 1px black;");
client.println("background-color : #4db7bb ; color : #002325 ;text-align : center ; }");
client.println("</style>");

client.println("</head>");

//corps de la page internet
client.println("<body>");

//en-tete du document
client.println("<header>");
client.println("<h1>Ethernet Arduino STI2D</h1>");
client.println("</header>");


//contenu du document
client.println("<article>");

client.println("<div>");
client.println("Valeur de l'entree analogique A0 :");
//Recuperation de la valeur numérique de l'entrée analogique A0
valeurDuCAN = analogRead(A0);
client.println( valeurDuCAN );
client.println("</div>");

client.println("<div>");
client.println("DEL 2 :");
client.print("<form method=get name=LED ><input type='hidden' name='DO2'");
client.println(" value='0'><input type='submit' value='Off'/></form>");
client.print("<form method=get name=LED ><input type='hidden' name='DO2'");
client.println(" value='1'><input type='submit' value='On'/></form>");
client.println(" Etat ");
client.println( digitalRead(2) );
client.println("</div>");


client.println("</article>");


//pied de page du document
client.println("<footer>");
client.println("Ecrit par Richard GAUTHIER");
client.println("</footer>");

client.println("</body>");
client.println("</html>");

break;
}
}
}
// Temps d'attente pour que les donnees de ia page internet est le temps d'etre envoyee
delay(1);
//fermer la connexion:
client.stop();
}
}

En poursuivant votre navigation sur mon site, vous acceptez l’utilisation des Cookies et autres traceurs  pour réaliser des statistiques de visites et enregistrer sur votre machine vos activités pédagogiques. En savoir plus.