не заметил каких-либо проблем, т.к. все эффекты последовательно выполнялись, как написано в скетче.а от 3в логики нормально лента работает?
Проблемы могут возникнуть, если питание ленты будет больше 5,5 вольт, а у ЕСП будет 3,1 вольт или меньше. В таком случае у меня начинало глючить. Снижение питания ленты до 4,9 вольт полностью ситуацию выправляло даже при 3,1 на ЕСП.а от 3в логики нормально лента работает?
Очень полезно. Спасибо.Проблемы могут возникнуть, если питание ленты будет больше 5,5 вольт, а у ЕСП будет 3,1 вольт или меньше. В таком случае у меня начинало глючить. Снижение питания ленты до 4,9 вольт полностью ситуацию выправляло даже при 3,1 на ЕСП.
Попробовал - не помогло.Попробуйте подать 5В через диод.
digitalWrite(5,HIGH);
digitalWrite(14,HIGH);
delay(2000);
digitalWrite(5,LOW);
digitalWrite(14,LOW);
delay(2000);
Привет! Вопрос - а какая версия была? Столкнулся с такой-же какашкой, на ардуине пашет - на еsp12 (wemos d1) никак. На пине осциллом вижу пачки испульсов, а ленте пофиг.Поборол связку NodeMCU+WS2812.
Если опустить промежуточные шаги адаптации к ситуации, то вылечилось обновлением библиотеки Adafruit_NeoPixel.
К слову, вполне устойчиво работает при питании системы от 5 В: на ленту - напрямую, на ESP8266 - через штатный AMS1117-3.3 на плате NodeMCU. D5 (GPIO14) напрямую к ленте подключен.
Спасибо всем за помощь.
PS. Подключил ленту через резистор 330 Ом - работает.
Номер не скажу, но устанавливалась в конце 2016 года. И у меня не наблюдалось импульсов со старой библиотекой ("светодиодным" тестом).а какая версия была?
/*
* ESP8266 SPIFFS HTML Web Page with JPEG, PNG Image
* https://circuits4you.com
*/
#include <NeoPixelBus.h>
#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
#include <FS.h> //Include File System Headers
const uint16_t PixelCount = 32; // make sure to set this to the number of pixels in your strip
const uint16_t PixelPin = 2; // make sure to set this to the correct pin, ignored for Esp8266
const char* htmlfile = "/index.html";
//WiFi Connection configuration
const char *ssid = "RGBW_Ring";
const char *password = "password";
NeoPixelBus<NeoGrbwFeature, NeoEsp8266Uart1800KbpsMethod> strip(PixelCount, PixelPin);
ESP8266WebServer server(80);
RgbwColor color = RgbwColor(10,10,10,10);
void handlePWM(){
String R = server.arg("R");
String G = server.arg("G");
String B = server.arg("B");
String W = server.arg("W");
// int p = 1024 - (PWM.toInt())*10;
Serial.println(R);
Serial.println(G);
Serial.println(B);
Serial.println(W);
//--my--//analogWrite(LED,p);
color = RgbwColor(R.toInt(), G.toInt(), B.toInt(), W.toInt());
server.send(200, "text/plane","");
}
void handleRoot(){
server.sendHeader("Location", "/index.html",true); //Redirect to our html web page
server.send(302, "text/plane","");
}
void handleWebRequests(){
if(loadFromSpiffs(server.uri())) return;
String message = "File Not Detected\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 += " NAME:"+server.argName(i) + "\n VALUE:" + server.arg(i) + "\n";
}
server.send(404, "text/plain", message);
Serial.println(message);
}
void setup() {
delay(1000);
Serial.begin(115200);
Serial.println();
strip.Begin();
strip.Show();
//Initialize File System
SPIFFS.begin();
Serial.println("File System Initialized");
//Connect to wifi Network
//WiFi.begin(ssid, password); //Connect to your WiFi router
WiFi.softAP(ssid, password);
WiFi.begin("AndroidAP79A7", "jrcc4744"); //Connect to your WiFi router
Serial.println("");
// Wait for connection
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
//If connection successful show IP address in serial monitor
Serial.println("");
Serial.print("Connected to ");
Serial.println(ssid);
Serial.print("IP address: ");
Serial.println(WiFi.localIP()); //IP address assigned to your ESP
//Initialize Webserver
server.on("/",handleRoot);
server.on("/setLED",handlePWM); //Reads ADC function is called from out index.html
server.onNotFound(handleWebRequests); //Set setver all paths are not found so we can handle as per URI
server.begin();
}
void loop() {
server.handleClient();
strip.ClearTo(color);
strip.Show();
}
bool loadFromSpiffs(String path){
String dataType = "text/plain";
if(path.endsWith("/")) path += "index.htm";
if(path.endsWith(".src")) path = path.substring(0, path.lastIndexOf("."));
else if(path.endsWith(".html")) dataType = "text/html";
else if(path.endsWith(".htm")) dataType = "text/html";
else if(path.endsWith(".css")) dataType = "text/css";
else if(path.endsWith(".js")) dataType = "application/javascript";
File dataFile = SPIFFS.open(path.c_str(), "r");
if (server.hasArg("download")) dataType = "application/octet-stream";
if (server.streamFile(dataFile, dataType) != dataFile.size()) {
}
dataFile.close();
return true;
}
Не настолько поборол, однако, насколько хотелось.Поборол связку NodeMCU+WS2812.
По ссылке пишут о проблемах и нестабильном wifi при некоторых вариантах подключения => Makuna/NeoPixelBus