Aide couper buzzer

Bonjour dans mon code lorsque j'allume en rouge mon anneau led le buzzer fonctionne mais je n'arrive pas à le stopper,si j'allume en vert ou si je fais off.
j'ai tester la fonction notone mais rien ne marche.

#include <ESP8266WiFi.h>
#include <FastLED.h>

#define NUM_LEDS 24
#define LED_PIN 16

CRGB leds[NUM_LEDS];

 
const char* ssid = "Wifi";
const char* password = "*********";
 
int ledPin = 16;
int frequency=1000; //Specified in Hz
int buzzPin= 2; 
int timeOn=1000; //specified in milliseconds
int timeOff=1000; //specified in millisecods
 
WiFiServer server(80);
int n;
void setup() 
{
  FastLED.addLeds<WS2812B, LED_PIN, GRB>(leds, NUM_LEDS);
  FastLED.setBrightness(100);

  
  // initialisation de la communication série
  Serial.begin(115200);
  
  delay(100);

  // initialisation de la sortie pour la led 
  pinMode(ledPin, OUTPUT);
  digitalWrite(ledPin, LOW);
 
  // Connexion wifi
  Serial.println();
  Serial.print("Connecting to ");
  Serial.println(ssid);
 
  WiFi.begin(ssid, password);

  // connection  en cours ...
  while (WiFi.status() != WL_CONNECTED)
  {
    delay(500);
    Serial.print(".");
  }

  // Wifi connecter
  Serial.println("WiFi connecter");
 
  // Démmarrage du serveur.
  server.begin();
  Serial.println("Serveur demarrer !");
 
  // Affichage de l'adresse IP
  Serial.print("Utiliser cette adresse URL pour la connexion :");
  Serial.print("http://");
  Serial.print(WiFi.localIP());
  Serial.println("/");
 
}
 
void loop() 
{

WiFiClient client;

  
  // Vérification si le client est connecter.
  client = server.available();
  if (!client)
  {
    return;
  }
 
  // Attendre si le client envoie des données ...
  Serial.println("nouveau client");
  while(!client.available()){
    delay(1);
  }
 
  String request = client.readStringUntil('\r');
  Serial.println(request);
  client.flush();

  int value = LOW;
  if (request.indexOf("/LED=GREEN") != -1)  {
      for(int n;n<=24;n++)
      {
        leds[n] = CRGB::Green;
        FastLED.show();
        
      }
  }
  if (request.indexOf("/LED=RED") != -1)  {
      for(int n;n<=24;n++)
      {
        leds[n] = CRGB::Red;
        FastLED.show();
        
      }
      {
      tone(buzzPin, frequency);
        delay(timeOn);
        noTone(buzzPin);
        delay(timeOff);
        }
  }
         if (request.indexOf("/LED=OFF") != -1)  {
      for(int n;n<=24;n++)
      {
        leds[n] = CRGB::Black;
        FastLED.show();
        
      }
    }
  // Réponse
  client.println("HTTP/1.1 200 OK");
  client.println("Content-Type: text/html");
  client.println(""); 
  client.println("<!DOCTYPE HTML>");
  client.println("<html>");
 
  client.print("Etat de la led : ");
 
  if(value == HIGH) {
    client.print("On");
  } else {
    client.print("Off");
  }
  client.println("<br><br>");
  client.println("<a href=\"/LED=GREEN\"\"><button>Libre </button></a>");
  client.println("<a href=\"/LED=RED\"\"><button>Occupe </button></a><br />");
  client.println("<a href=\"/LED=OFF\"\"><button>OFF </button></a><br />");  
  client.println("</html>");
 
  delay(1);
  Serial.println("Client deconnecter");
  Serial.println("");
 
}

:warning:
Post mis dans la mauvaise section, on parle anglais dans les forums généraux. déplacé vers le forum francophone.

Merci de prendre en compte les recommandations listées dans Les bonnes pratiques du Forum Francophone

Salut.
Dans ce if il n'y a pas assez de parenthèses que je mentionne ?

if (request.indexOf("/LED=RED") != -1)  {
      for(int n;n<=24;n++)
      {
        leds[n] = CRGB::Red;
        FastLED.show();
        
//      }
//      {
      tone(buzzPin, frequency);
        delay(timeOn);
        noTone(buzzPin);
        delay(timeOff);
        }
  }

Ou peut-être qu'il manque quelque chose avant la parenthèse qui englobe les fonctions de buzzer.?

Merci

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.