Bonjour,
J'ai actuellement un problème avec mon esp8266.
Au départ, j'ai simplement essayé de faire une petite animation avec ma bande LED et la librairie FastLED, j'ai ensuite décidé de créer un serveur web pour contrôler tout avec simplement 2 types de requêtes:
- /LEDOn
- /LEDOff
Seulement, au moment de mettre les deux codes ensemble, il y a un petit soucis bizarre, le programme se connecte au Wifi, puis la bande LED clignote normalement 5 fois mais après... seulement la 1ere LED de la bande se met à clignoter
Si je met en commentaire le code du serveur, tout marche parfaitement.
Il n'y a rien dans le port série indiquant une requête
Voici le code:
#include <FastLED.h>
#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>
#define LED_PIN 0
#define NUM_LEDS 60
CRGB leds[NUM_LEDS];
const char* ssid = "SSID";
const char* password = "PASSWORD";
String header;
ESP8266WebServer server(80);
bool ledState = true;
// Current time
unsigned long currentTime = millis();
// Previous time
unsigned long previousTime = 0;
// Define timeout time in milliseconds (example: 2000ms = 2s)
const long timeoutTime = 2000;
void setup() {
FastLED.addLeds<WS2812, LED_PIN, RGB>(leds, NUM_LEDS);
FastLED.setBrightness(32);
FastLED.clear();
FastLED.show();
Serial.begin(115200);
WiFi.begin(ssid, password); //begin WiFi connection
// Wait for connection
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.print("Connected to ");
Serial.println(ssid);
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
server.on("/LEDOn", [](){
server.send(200, "text/html", "OK Led on");
ledState = true;
delay(1000);
});
server.on("/LEDOff", [](){
server.send(200, "text/html", "Ok Led off");
ledState = false;
delay(1000);
});
Serial.println("Web server started!");
}
void loop() {
server.stop();
FastLED.clear();
for(int led; led<NUM_LEDS; led++) {
delay(10);
leds[led] = CRGB(0, 255, 0);
}
FastLED.show();
delay(1000);
FastLED.clear();
for(int led; led<NUM_LEDS; led++) {
delay(10);
leds[led] = CRGB(255, 0, 0);
}
FastLED.show();
delay(1000);
server.begin();
server.handleClient();
}
Merci d'avance