Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème LED

Sujet résolu
    27 janvier 2014 à 15:08:42

    Bonjour,

    Etant débutant avec Arduino, j'ai un petit problème que je n'arrive pas à résoudre.

    Je travaille avec une Arduino Ethernet ainsi qu'une LED (port 2). J'essaye de créer un script, qui, une fois lancé en local, proposera deux solutions (checkbox) :
    - Faire clignoter la LED.
    - Allumer de façon fixe la LED.
    Une fois le choix fait, l'utilisateur clique sur le bouton "Submit".

    Le problème : dans n'importe cas, la LED clignote...
    Je n'arrive pas à résoudre l'erreur...

    Voici mon code :

    #include <Ethernet.h>
      #include <SPI.h>
      
      
      byte mac[] = { 0xxxxxxxxxxxxxxxxxxxx  };    // MAC address -> fait exprès
      IPAddress ip(192,168,1,177);                               // IP address
      
      EthernetServer server(80);
      
      char char_in = 0;    // used to store a character from the Ethernet port
      String HTTP_req;     // stores the received HTTP request
      
      const byte LED_pins = 2;
    const byte LED_pins1 = 2;  // the state of each LED
      
      void setup()
      {
          Ethernet.begin(mac, ip);
          server.begin();
          
          pinMode(LED_pins, OUTPUT); 
          pinMode(LED_pins1, OUTPUT);
          digitalWrite(LED_pins, LOW);
          digitalWrite(LED_pins1, LOW);
      }
      
      void loop()
      {
          EthernetClient client = server.available();
      
          if (client) {
              while (client.connected()) {
                  if (client.available()) {
                      char_in = client.read();  // get a single character from the Ethernet port
                      HTTP_req += char_in;      // build a string out of the received characters
      
                      // answer first HTTP request immediately
                      if (char_in == '\n') {
                          // respond to HTTP request
                          client.println("HTTP/1.1 200 OK");
                          client.println("Content-Type: text/html");
                          client.println();
                         // CheckLEDs();              // get state of LED checkboxes from web page
                          DisplayLEDS(&client);     // display checkboxes on web & write to LEDs
                          HTTP_req = "";      // delete string contents
                          client.stop();
                      } // end if (char_in == '\n')
                  } // end if (client.available()
              } // end while (client.connected())
          } // end if (client)
      }
    
    void DisplayLEDS(Client *client) {
          client->print("<div style=\"background:white; color:green; position: absolute; margin:20px; border: grey solid 2px; padding:0 10px 4px 10px;\">");
          client->print("<h1 style=\"font: normal 20px/150% Verdana, Arial, Sans-serif;\">Allumage LED</h1>");
          client->print("<form> <input type=\"hidden\" name=\"LED_form");
          client->print("\" value=\"0\"> <input type=\"checkbox\" name=\"LED_pins1\" value=\"LED_pins1\"");
          client->println(" onSubmit=\"submit();\">LED_clignoter");
          client->println("<br /><input type=\"checkbox\" name=\"LED_pins\" value=\"LED_pins\"");
          client->println(" onSubmit=\"submit();\">LED_fixe");
          client->println("<br /><input type=\"submit\"value=\"Submit\">");
         if (LED_pins1) 
         {
                  for(int x=0; x<5; x++) {
                    digitalWrite(LED_pins, HIGH);
                    delay(100);  // switch LED on
                    digitalWrite(LED_pins, LOW);
                    delay(100);
                  }
          }
          else if(LED_pins) 
          {
                digitalWrite(LED_pins, HIGH); // switch LED on
          }
          else 
          {
                digitalWrite(LED_pins, LOW);  // switch LED off
          }
          
          client->print(" </form>"); 
          client->print("</div>");    
      
    }

    J'ai cherché sur le forum mais je n'ai rien trouvé, désolé si double post...


    Merci d'avance !

    • Partager sur Facebook
    • Partager sur Twitter
      28 janvier 2014 à 0:37:15

      Je ne connait rien sur le shield arduino...

      Je peux donc te dire pourquoi tu as un problème et comment essayer de l résoudre, mais je ne peux pas de donner la solution exact.

      =====

      Donc là, le problème que tu as, c'est que ton Arduino envoie un formulaire, mais qu'il ne fait aucun traitement.

      Ce n'est pas parce que tu envoie un formulaire avec un champ qui s'appelle LED_pins que ta variable LED_pins sera mise à jour lorsque le formulaire sera posté.

      Le client (mozilla et autre) n'a aucun lien avec le serveur (ton arduino) une fois la page envoyée.

      Quand tu valides la form, mozilla fait une nouvelle requete HTTP en y indiquant les données envoyée.

      Il faut donc que ton arduino se charge de lire les entêtes HTTP pour y récupérer la valeur postée et mettre à jour sa variable LED_pins.

      • Partager sur Facebook
      • Partager sur Twitter
        28 janvier 2014 à 10:43:50

        J'ai continué de chercher grâce à ce que tu m'as dit, une autre erreur survient maintenant...

        Lorsque je coche la case clignoter, la LED clignote bien mais une fois l'action terminée, les deux cases se cochent et la LED reste allumée.

        Et lorsque je coche la case LED_fixe, la LED clignote, les deux cases se cochent puis elle reste allumée...

        Voici le nouveau code :

        #include <Ethernet.h>
          #include <SPI.h>
         
         
          byte mac[] = { xxxxxxxxxxxxxxxxxxxxx };    // MAC address
          IPAddress ip(192,168,1,177);                               // IP address
         
          EthernetServer server(80);
         
          char char_in = 0;    // used to store a character from the Ethernet port
          String HTTP_req;     // stores the received HTTP request
         
          byte LED_pins = 2;
          boolean LED_clignoter;
          boolean LED_fixe;
          boolean LED_fixe1 = 0;
          boolean LED_clignoter1 = 0;
          void setup()
          {
              Ethernet.begin(mac, ip);
              server.begin();
             
              pinMode(LED_pins, OUTPUT);
        
              digitalWrite(LED_pins, LOW);
              LED_clignoter = false ;
              LED_fixe = false ;
          }
        
          void loop()
          {
              EthernetClient client = server.available();
         
              if (client) {
                  while (client.connected()) {
                      if (client.available()) {
                          char_in = client.read();  // get a single character from the Ethernet port
                          HTTP_req += char_in;      // build a string out of the received characters
         
                          // answer first HTTP request immediately
                          if (char_in == '\n') {
                              // respond to HTTP request
                              client.println("HTTP/1.1 200 OK");
                              client.println("Content-Type: text/html");
                              client.println();
                              CheckLEDs();              // get state of LED checkboxes from web page
                              DisplayLEDS(&client);     // display checkboxes on web & write to LEDs
                              HTTP_req = "";      // delete string contents
                              client.stop();
                          } // end if (char_in == '\n')
                      } // end if (client.available()
                  } // end while (client.connected())
              } // end if (client)
          }
        
        void CheckLEDs()
        {
           
                if ((HTTP_req.charAt(9) == (LED_clignoter + '0')) &&
                            (HTTP_req.charAt(16) == (LED_clignoter + '0'))) {  // LED box is checked
                    LED_clignoter1 = 1;
                }
                else if (HTTP_req.charAt(9) == (LED_clignoter + '0')) {        // LED box is unchecked
                    LED_clignoter1 = 0;
                }
               
               
                if ((HTTP_req.charAt(9) == (LED_fixe + '0')) &&
                            (HTTP_req.charAt(16) == (LED_fixe + '0'))) {  // LED box is checked
                    LED_fixe1 = 1;
                }
                else if (HTTP_req.charAt(9) == (LED_fixe + '0')) {        // LED box is unchecked
                    LED_fixe1 = 0;
                }
           
        }
        
        
        void DisplayLEDS(Client *client) {
              client->print("<div style=\"background:white; color:green; position: absolute; margin:20px; border: grey solid 2px; padding:0 10px 4px 10px;\">");
              client->print("<h1 style=\"font: normal 20px/150% Verdana, Arial, Sans-serif;\">Allumage LED</h1>");
            
              client->print("<form method=get> <input type=\"hidden\" name=\"LED");
              client->print(LED_clignoter, DEC);
              client->print("\" value=\"0\"> <input type=\"checkbox\" name=\"LED");
              client->print(LED_clignoter, DEC);
              client->print("\" value=\"");
              client->print(LED_clignoter, DEC);
              client->print("\"");
              if (LED_clignoter1 == 0)
               {
                       client->print(" checked ");
                        for(int x=0; x<5; x++) {
                          digitalWrite(LED_pins, HIGH);
                          delay(100);  // switch LED on
                          digitalWrite(LED_pins, LOW);
                          delay(100);
                        }
                       
                }  else
                {
                      digitalWrite(LED_pins, LOW);  // switch LED off
                }
             client->print(" onclick=\"submit();\">LED_clignoter</form>");
           
            
            
              client->print(" <br /><form method =get ><input type=\"hidden\" name=\"LED");
              client->print(LED_fixe, DEC);
              client->print("\" value=\"0\"> <input type=\"checkbox\" name=\"LED");
              client->print(LED_fixe, DEC);
              client->print("\" value=\"");
                
              client->print(LED_fixe, DEC);
              client->print("\"");
             if(LED_fixe1)
              {
                    client->print(" checked ");
                    digitalWrite(LED_pins, HIGH); // switch LED on
              }
              else
              {
                 
                    digitalWrite(LED_pins, LOW);  // switch LED off
                  
              }
              client->print(" onclick=\"submit();\">LED_fixe");
             
              client->print(" </form>"); 
            
             
        
           
             
             
              client->print("</div>");   
         
        }


        Si quelqu'un peut aider, ca serait sympa !

        Thks

        -
        Edité par QuentinHbt 28 janvier 2014 à 10:44:25

        • Partager sur Facebook
        • Partager sur Twitter
          28 janvier 2014 à 13:40:43

          Déjà, tu as 4 variables bool sur les états de ta LED ! Pourquoi ??? Je te conseille de mettre un int (0: éteint, 1: allumé, 2: cligno)

          Ensuite,  tu as 2 form (avec des HIDDEN et des CHECKBOX), ce qui n'est pas du tout souhaitable pour ce genre d'action

          Et franchement, je ne sais pas du tout comment tu t'y retrouve dans cet enchevêtrement de print.

          =====

          Je sais qu'utiliser sprintf et différents buffer n'est pas très optimisé, mais ça, ça devient vraiment nécessaire.

          Dernier point : le HTML support le simple guillemet donc utilises le ;)

          const char *divStyle = "background:white; color:green; position: absolute; margin:20px; border: grey solid 2px; padding: 0 10px 4px 10px;";
          const char *h1Style  = "font: normal 20px/150% Verdana, Arial, Sans-serif;";
          
          char clientBuffer[256];
          
          int ledState = 0;
          
          void displayPage(Client *client) {
          	
          	// <div> : Conteneur
          	sprintf(clientBuffer, "<div style='%s'>", divStyle);
          	client->print(clientBuffer);
          		
          		// <h1>...</h1> : Titre
          		sprintf(clientBuffer, "<h1 style='%s'>Allumage LED</h1>", h1Style);
          		client->print(clientBuffer);
          		
          		// <form> : Formulaire
          		client->print("<form method='get'>");
          			
          			// <input></input> : Sélecteur éteindre
          			sprintf(clientBuffer, "<input type='radio' name='LED' value='0' %s>Eteintdre</input>'", ( ledState == 0 ? "checked" : "" ));
          			client->print(clientBuffer);
          			
          			// <input></input> : Sélecteur allumer
          			sprintf(clientBuffer, "<input type='radio' name='LED' value='1' %s>Allumer</input>'", ( ledState == 1 ? "checked" : "" ));
          			client->print(clientBuffer);
          			
          			// <input></input> : Sélecteur clignoter
          			sprintf(clientBuffer, "<input type='radio' name='LED' value='2' %s>Clignoter</input>'", ( ledState == 2 ? "checked" : "" ));
          			client->print(clientBuffer);
          			
          			// <input></input> : Bouton envoyer
          			client->println("<input type='submit' value='Submit'>");
          			
          		// </form> : 
          		client->print("</form>");
          		
          	// </div> : 
          	client->print("</div>"));
          	
          }

          Avec ce bout de code beaucoup plus clair, le navigateur va charger des page du style pageName?LED=x (avec x = 0, 1 ou 2).

          Maintenant, à toi de joué !

          • Partager sur Facebook
          • Partager sur Twitter
            28 janvier 2014 à 17:20:35

            Merci de ta réponse rapide !

            Ton code est beaucoup plus clair que le mien, aucun doute !

            J'ai encore un problème, j'ai cherché tout l'apres-midi comment récupérer, dans le code Arduino, la valeur choisie dans les boutons radio.

            Voici mon code :

              #include <Ethernet.h>
              #include <SPI.h>
            
            
              const char *divStyle = "background:white; color:green; position: absolute; margin:20px; border: grey solid 2px; padding: 0 10px 4px 10px;";
              const char *h1Style  = "font: normal 20px/150% Verdana, Arial, Sans-serif;";
             
              char clientBuffer[256];
             
              int ledState = 0;
              int LED = 0;
              char choix; 
              byte LED_pins = 2;
             
              byte mac[] = { 0x90, 0xA2, 0xDA, 0x0D, 0x94, 0x82 };    // MAC address
              IPAddress ip(192,168,1,177);                            // IP address
              EthernetServer server(80);
              char char_in = 0;    // used to store a character from the Ethernet port
              String HTTP_req;     // stores the received HTTP request
              
               void setup()
              {
                  Ethernet.begin(mac, ip);
                  server.begin();
                  
                  pinMode(LED_pins, OUTPUT); 
                  digitalWrite(LED_pins, LOW);
                  
              }
              
                void loop()
              {
                  EthernetClient client = server.available();
              
                  if (client) {
                      while (client.connected()) {
                          if (client.available()) {
                              char_in = client.read();  // get a single character from the Ethernet port
                              HTTP_req += char_in;      // build a string out of the received characters
              
                              // answer first HTTP request immediately
                              if (char_in == '\n') {
                                  // respond to HTTP request
                                  client.println("HTTP/1.1 200 OK");
                                  client.println("Content-Type: text/html");
                                  client.println();
                                  //CheckLEDs(&client);              // get state of LED checkboxes from web page
                                  DisplayLEDs(&client);     // display checkboxes on web & write to LEDs
                                  HTTP_req = "";      // delete string contents
                                  client.stop();
                              } // end if (char_in == '\n')
                          } // end if (client.available()
                      } // end while (client.connected())
                  } // end if (client)
              }
              
              
              void DisplayLEDs(Client *client) {
                
                 // <div> : Conteneur
                sprintf(clientBuffer, "<div style='%s'>", divStyle);
                client->print(clientBuffer);
                     
                    // <h1>...</h1> : Titre
                    sprintf(clientBuffer, "<h1 style='%s'>Allumage LED</h1>", h1Style);
                    client->print(clientBuffer);
                     
                    // <form> : Formulaire
                    client->print("<form method='get'>");
                         
                        // <input></input> : Sélecteur éteindre
                        sprintf(clientBuffer, "<input type='radio' name='LED' value='0' %s>Eteindre</input>", ( ledState == 0 ? "checked" : "" ));
                        client->print(clientBuffer);
                         
                        // <input></input> : Sélecteur allumer
                        sprintf(clientBuffer, "<br /><input type='radio' name='LED' value='1' %s>Allumer</input>", ( ledState == 1 ? "checked" : "" ));
                        client->print(clientBuffer);
                         
                        // <input></input> : Sélecteur clignoter
                        sprintf(clientBuffer, "<br /><input type='radio' name='LED' value='2' %s>Clignoter</input>", ( ledState == 2 ? "checked" : "" ));
                        client->print(clientBuffer);
                         
                        // <input></input> : Bouton envoyer
                        client->println("<br /> <input type='submit' value='Submit' onclick='submit();'>");
                         
            
                         if(LED=2) {
                           for(int x=0; x<5; x++) {
                              digitalWrite(LED_pins, HIGH);
                              delay(100);  // switch LED on
                              digitalWrite(LED_pins, LOW);
                              delay(100);
                            }
                         }  
                         
                         if(LED= 1) {
                           digitalWrite(LED_pins, HIGH);
                         }  
                         
                         if(LED= 0) {
                           digitalWrite(LED_pins, LOW);
                         }  
                         
                     
                    // </form> :
                    client->print("</form>");
                     
                // </div> :
                client->print("</div>");
                
              }
              
              
              
              

            Désolé de poser des questions pour tout !

            Thx

            • Partager sur Facebook
            • Partager sur Twitter
              28 janvier 2014 à 18:01:14

              Quand le navigateur demande une page, il envoie des données au serveur.

              Cela s'appelle l'entête HTTP.

              Supposons que je demande http://exemple.com/dir/page

              Alors le navigateur va se connecter sur exemple.com et envoyer la requête suivante :

              GET /dir/page HTTP/1.1
              Host: exemple.com
              User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:19.0) Gecko/20100101 Firefox/19.0
              Accept: text/html

              Là ou c'est intéressant pour toi, c'est que ton formulaire est en method GET donc les paramètre vont se retrouver dans l'url.

              La première ligne que ton arduino va recevoir ressemblera donc à : GET /nomDeTaPage?LED=x HTTP/1.1

              Tous les paramètres se retrouvent après ?, sont séparé entre eux par des & et contiennent un couple name=value

              Tout ce qui tu as à faire, c'est donc analyser cette première ligne pour en déduire tout ce dont tu as besoin ;)

              Cela tombe bien, ton code est prévu pour ce genre de chose ; voici comment l'adapter :

              void loop() {
              
                  EthernetClient client = server.available();
              
                  HTTP_req = ""; // Effacer la requete pour ce nouveau client
               
                  if (client) {
              
                      while (client.connected()) {
              
                          if (client.available()) {
              
                              char_in = client.read();
                              HTTP_req += char_in;
               
                              if (char_in == '\n') {
              
                                  // ICI, HTTP_req contient la première ligne, à toi de joué !!!
                                  // IF ( HTTP_req contient "LED=0" ) => mettre à jour ledState (val: 0)
                                  // IF ( HTTP_req contient "LED=1" ) => mettre à jour ledState (val: 1)
                                  // IF ( HTTP_req contient "LED=2" ) => mettre à jour ledState (val: 2)
              
                                  client.println("HTTP/1.1 200 OK");
                                  client.println("Content-Type: text/html");
                                  client.println();
              
                                  DisplayLEDs(&client);
              
                                  HTTP_req = "";
                                  client.stop();
              
                              }
                          }
                      }
                  }
              }





              • Partager sur Facebook
              • Partager sur Twitter
                29 janvier 2014 à 12:00:22

                Merci beaucoup ! J'ai ENFIN réussi !

                Bon, la méthode n'est sans doute pas la meilleure mais ca marche !

                Voici le code complet pour ceux que ca intéresserait :

                   // Développé sur Windows XP avec Arduino 1.0.5 
                   // 
                   // Programme initialement prévu pour la carte ARDUINO Ethernet 
                 
                  #include <Ethernet.h>
                  #include <SPI.h>
                
                   // creation des variables 
                  const char *divStyle = "background:white; color:green; position: absolute; margin:20px; border: grey solid 2px; padding: 0 10px 4px 10px;";
                  const char *h1Style  = "font: normal 20px/150% Verdana, Arial, Sans-serif;";
                  char clientBuffer[256];
                  int ledState = 0; // Variable de l'etat de la led 
                  byte LED_pins = 2;
                  String readStr; // lecture de l'url 
                  byte mac[] = { 0x90, 0xA2, 0xDA, 0x0D, 0x94, 0x82 };    // MAC address
                  IPAddress ip(192,168,1,177);                            // IP address
                  EthernetServer server(80);
                  char char_in = 0;    // used to store a character from the Ethernet port
                  String HTTP_req;     // stores the received HTTP request
                  
                   void setup()
                  {
                      Ethernet.begin(mac, ip);
                      server.begin();
                      
                      pinMode(LED_pins, OUTPUT); 
                      digitalWrite(LED_pins, LOW);
                      
                  }
                  
                    void loop()
                  {
                      EthernetClient client = server.available();
                  
                      if (client) {
                          while (client.connected()) {
                              if (client.available()) {
                                  char_in = client.read();  // get a single character from the Ethernet port
                                  HTTP_req += char_in;      // build a string out of the received characters
                                  int localisationEgale=HTTP_req.lastIndexOf("="); // trouve le dernier emplacement du egal
                                  int localisationEspace=HTTP_req.lastIndexOf(" ");// trouve le dernier emplacement de l'espace
                                  readStr = HTTP_req.substring(localisationEgale,localisationEspace);// recupère la variable comprise entre l'egal et l'espace
                                  
                                  // answer first HTTP request immediately
                                  if (char_in == '\n') {
                                     // test du contenu de readStr c'est la commande que l'on veut effectuer 
                                     if(readStr == "=0") {
                                        ledState = 0;
                                      }
                                      if(readStr == "=1"){
                                        ledState = 1;
                                      }
                                      if(readStr == "=2") {
                                        ledState = 2;
                                      }
                                      if(readStr == "=3") {
                                        ledState = 3;
                                      }    
                                      if(readStr == "=4") {
                                        ledState = 4;
                                      } 
                                      if(readStr == "=5") {
                                        ledState = 5;
                                      }  
                //                    ligne a ajouter autant que l'on veut pour d'autres options
                //                       if(readStr == "=X") { 
                //                        ledState = X;
                //                      }                
                                        
                                      // respond to HTTP request
                                      client.println("HTTP/1.1 200 OK");
                                      client.println("Content-Type: text/html");
                                      client.println();
                                      //CheckLEDs(&client);              // get state of LED checkboxes from web page
                                      DisplayLEDs(&client);     // display checkboxes on web & write to LEDs
                                      HTTP_req = "";      // delete string contents
                                      client.stop();
                                  } // end if (char_in == '\n')
                              } // end if (client.available()
                          } // end while (client.connected())
                      } // end if (client)
                  }
                  
                  
                  void DisplayLEDs(Client *client) {
                    
                     // <div> : Conteneur
                    sprintf(clientBuffer, "<div style='%s'>", divStyle);
                    client->print(clientBuffer);
                         
                        // <h1>...</h1> : Titre
                        sprintf(clientBuffer, "<h1 style='%s'>Allumage LED</h1>", h1Style);
                        client->print(clientBuffer);
                         
                        // <form> : Formulaire
                        client->print("<form method='get'>");
                             
                            // <input></input> : Sélecteur éteindre
                            sprintf(clientBuffer, "<input type='radio' name='LED' value='0' %s>Eteindre</input>", ( ledState == 0 ? "checked" : "" ));
                            client->print(clientBuffer);
                             
                            // <input></input> : Sélecteur allumer
                            sprintf(clientBuffer, "<br /><input type='radio' name='LED' value='1' %s>Allumer</input>", ( ledState == 1 ? "checked" : "" ));
                            client->print(clientBuffer);
                             
                            // <input></input> : Sélecteur clignoter
                            sprintf(clientBuffer, "<br /><input type='radio' name='LED' value='2' %s>Clignoter</input>", ( ledState == 2 ? "checked" : "" ));
                            client->print(clientBuffer);
                            
                            // <input></input> : Sélecteur allumer 2sec
                            sprintf(clientBuffer, "<br /><input type='radio' name='LED' value='3' %s>Allumer 2 secondes</input>", ( ledState == 3 ? "checked" : "" ));
                            client->print(clientBuffer);
                            
                            // <input></input> : Sélecteur allumer 5sec
                            sprintf(clientBuffer, "<br /><input type='radio' name='LED' value='4' %s>Allumer 5 secondes</input>", ( ledState == 4 ? "checked" : "" ));
                            client->print(clientBuffer);
                            
                            // <input></input> : Sélecteur allumer 10sec
                            sprintf(clientBuffer, "<br /><input type='radio' name='LED' value='5' %s>Allumer 10 secondes</input>", ( ledState == 5 ? "checked" : "" ));
                            client->print(clientBuffer);
                              
                             // ligne a ajouter pour de nouvelles options
                             // <input></input> : information sur le bouton 
                             //sprintf(clientBuffer, "<br /><input type='radio' name='LED' value='X' %s>action du bouton</input>", ( ledState == X ? "checked" : "" ));
                             //client->print(clientBuffer);
                            
                            // <input></input> : Bouton envoyer
                            client->println("<br /> <input type='submit' value='Submit' onclick='submit();'>");
                            // Test du contenue de ledState pour savoir l'action à faire
                              if(ledState == 0) {
                               digitalWrite(LED_pins, LOW);
                             }  
                             if(ledState == 1) {
                               digitalWrite(LED_pins, HIGH);
                             }  
                              if(ledState == 2) {
                               for(int x=0; x<5; x++) {
                                  digitalWrite(LED_pins, HIGH);
                                  delay(100);  // switch LED on
                                  digitalWrite(LED_pins, LOW);
                                  delay(100);
                                }
                             }  
                             if(ledState == 3){
                               digitalWrite(LED_pins, HIGH);
                               delay(2000);
                               digitalWrite(LED_pins, LOW);
                             }  
                             if(ledState == 4){
                               digitalWrite(LED_pins, HIGH);
                               delay(5000);
                               digitalWrite(LED_pins, LOW);
                             }  
                             if(ledState == 5){
                               digitalWrite(LED_pins, HIGH);
                               delay(10000);
                               digitalWrite(LED_pins, LOW);
                             }  
                
                //             nouvelle option d'action
                //              if(ledState == x){
                //               action que fera le bouton 
                //             }  
                    
                        // </form> :
                        client->print("</form>");
                         
                    // </div> :
                    client->print("</div>");
                    
                  }
                  
                  
                  
                  



                Merci à toi lorrio pour ton aide précieuse !

                Thx

                • Partager sur Facebook
                • Partager sur Twitter

                Problème LED

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown