Добрый день. Подскажите пожалуйста, делаю освещение на адресной ленте через blink. Но проблема в том, что при перезагрузке ардуины она по умолчанию выключена и пока на телефоне в blink не выбирешь цвет лента не включается. Хочу сделать так, что при включении ардуины она горит заданным в скетче цветом, но и чтоб при выборе цвета в blink он менялся. Ниже скетч, в нем закомментил строки которые отвечают за цвет при включении ардуины, но с этим кодом при выборе другого цвета в blink он меняется на 1мс и затем опять меняется на цвет по умолчанию. Не могу понять как прописать условия в скетче, как вариант может добавить физическую кнопку при нажатии на которую будет переключать цикл с цвета по умолчанию на blink?
скетч:
#include <Adafruit_NeoPixel.h>
#include <SPI.h>
#include <BlynkSimpleEsp8266.h>
#include <ESP8266WiFi.h>
#include "FastLED.h"
#define PIN D2
#define NUMPIXELS 10
#define BLYNK_PRINT Serial
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
void setup()
{
Serial.begin(9600);
Blynk.begin("API", "WIFI", "PASS");
pixels.begin();
}
BLYNK_WRITE(V2)
{
int R = param[0].asInt();
int G = param[1].asInt();
int B = param[2].asInt();
Serial.println(R);
Serial.println(G);
Serial.println(B);
for(int i=0;i<NUMPIXELS;i++){
pixels.setPixelColor(i, pixels.Color(R,G,B));
pixels.show();
}
}
void loop()
{
Blynk.run();
//ledss();
}
//void ledss(){
// for (int i = 0; i < NUMPIXELS; i++)
// {
// pixels.setPixelColor(i, pixels.Color(220, 214, 255)); // Цвет по умолчанию при включении.
// }
// pixels.show();
//}
Изменено: