Hi, I have problem with control diodes by the internet. I touch sliders, but this not work.
#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>
#include <ESP8266mDNS.h>
const char* ssid = "*******";
const char* password = ********";
ESP8266WebServer server(80);
const int R = 14;
const int G = 12;
const int B = 13;
void handleRoot() {
String red = server.arg(0); // read RGB arguments
String green = server.arg(1);
String blue = server.arg(2);
analogWrite(R, red.toInt());
analogWrite(G, green.toInt());
analogWrite(B, blue.toInt());
Serial.println(red.toInt()); // for TESTING
Serial.println(green.toInt()); // for TESTING
Serial.println(blue.toInt()); // for TESTING
String webpage;
webpage += "<!DOCTYPE HTML>\r\n";
webpage += "<html>\r\n";
webpage += "<header><title>ESP8266 RGB LED</title><h1>ESP8266 RGBLED</h1></header>";
webpage += "<head>";
webpage += "<meta name='mobile-web-app-capable' content='yes' />";
webpage += "<meta name='viewport' content='width=device-width' />";
webpage += "</head>";
webpage += "<body>";
webpage += "<center>LED Control:
R:";
webpage += "<input id=\"r\" type=\"range\" min=\"0\" max=\"1023\" step=\"1\" onchange=\"handleEvent();\" />
G:";
webpage += "<input id=\"g\" type=\"range\" min=\"0\" max=\"1023\" step=\"1\" onchange=\"handleEvent();\" />
B:";
webpage += "<input id=\"b\" type=\"range\" min=\"0\" max=\"1023\" step=\"1\" onchange=\"handleEvent();\" />
";
webpage += "</center>";
webpage += "<style type=\"text/css\">body {background: #00bfff;}";
webpage += "</body>";
webpage += "<script type='text/javascript'>";
webpage += " function handleEvent() {";
webpage += " var r = document.getElementById('r').value";
webpage += " var g = document.getElementById('g').value";
webpage += " var b = document.getElementById('b').value";
webpage += " var params = [";
webpage += " 'r=' + r,";
webpage += " 'g=' + g,";
webpage += " 'b=' + b";
webpage += " ].join('&');";
webpage += " var req = new XMLHttpRequest();";
webpage += " req.open('POST', '?' + params);";
webpage += " req.send();";
webpage += " }";
webpage += "</script><html>\r\n";
server.send(200, "text/html", webpage);
}
void testRGB() { // fade in and out of Red, Green, Blue
analogWrite(R, 1023); // R off
analogWrite(G, 1023); // G off
analogWrite(B, 1023); // B off
fade(R); // R
fade(G); // G
fade(B); // B
}
void fade(int pin) {
for (int u = 0; u < 1024; u++) {
analogWrite(pin, 1023 - u);
delay(1);
}
for (int u = 0; u < 1024; u++) {
analogWrite(pin, u);
delay(1);
}
}
void handleNotFound(){
//digitalWrite(led, 1);
String message = "File Not Found\n\n";
message += "URI: ";
message += server.uri();
message += "\nMethod: ";
message += (server.method() == HTTP_GET)?"GET":"POST";
message += "\nArguments: ";
message += server.args();
message += "\n";
for (uint8_t i=0; i<server.args(); i++){
message += " " + server.argName(i) + ": " + server.arg(i) + "\n";
}
server.send(404, "text/plain", message);
//digitalWrite(led, 0);
}
void setup(void){
pinMode(R, OUTPUT);
pinMode(G, OUTPUT);
pinMode(B, OUTPUT);
analogWrite(R, 600); // R
analogWrite(G, 600); // G
analogWrite(B, 600); // B
Serial.begin(115200);
WiFi.begin(ssid, password);
Serial.println("");
// 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());
if (MDNS.begin("esp8266")) {
Serial.println("MDNS responder started");
}
server.on("/", handleRoot);
testRGB();
server.onNotFound(handleNotFound);
server.begin();
Serial.println("HTTP server started");
}
void loop(void){
server.handleClient();
}
I dont get any errors. Maybe anyone have idea?
Thanks