Buen dia ps aqui haciendo este letrero me encuentro con el problema este consta de arduino uno el modulo blue y por el momento 63 led ws2811 el cual trato de controlar para hacer el cronometro este tiene dos botones en blynk uno para iniciar pausar y para resetear con el metod de los millis en arduino funciona de maravilla con el monitor seria el proble es cuando quiero pasar el contador a los leds ws2811 no responde ni el serial el marcador de goles si funciona correctamente solo para directo el valor del pin virtual al codigo de ws2811 he estado consultado que hay una librería de blynk time pe gustaría si pueden orientarme sobre la utilización`#define BLYNK_PRINT Serial
#include <SoftwareSerial.h>
SoftwareSerial SwSerial(13, 12); // RX, TX
#include <BlynkSimpleSerialBLE.h>
#include <SoftwareSerial.h>
char auth[] = “be5a4b8371ef4296bde92d401b24924a”;
SoftwareSerial SerialBLE(13, 12); // RX, TX
#include <Adafruit_NeoPixel.h>
#define PIN 8
Adafruit_NeoPixel strip = Adafruit_NeoPixel(63, PIN, NEO_GRB + NEO_KHZ800);
unsigned long DigitBytes[] = {
0x0003FFFF, // 0
0x000001F8, // 1
0x001C7E3F, // 2
0x001C0FFF, // 3
0x001F81F8, // 4
0x001F8FC7, // 5
0x001FFFC7, // 6
0x000001FF, // 7
0x001FFFFF, // 8
0x001F81FF // 9
};
int AD=0;
int AS=0;
unsigned long tiempoContabilizado = 0; // Variable que nos guardará en milisegundos el tiempo que ha contabilizdo el cronómetro
unsigned long instanteAnterior = 0; // Variable auxiliar que nos ayudará a calcular el tiempo trancurrido entre cada iteración de loop()
unsigned long instanteActual = 0;
int m, mu=0,md=0;
int s, su=0,sd=0;
int l, lu=0,ld=0,lc1=0;
BLYNK_WRITE(V1)
{
int x=(param.asInt());
Serial.print(“x=”);Serial.println(x);
}
BLYNK_WRITE(V2)
{
int y=(param.asInt());
Serial.print(“y=”);Serial.println(y);
}
BLYNK_WRITE(V3) // CRONOMETRO RESET
{
AS = param.asInt();
Serial.print(“boton1”);Serial.println(AS);
if (AS==1)
{
tiempoContabilizado=0; /// Poner el cronometro en cero reset
}
}
BLYNK_WRITE(V4) // CRONOMETRO
{
AD=param.asInt();
Serial.print(“boton”);Serial.println(AD);
if (AD==1) {
tiempoContabilizado += instanteActual - instanteAnterior; // Sumamos el tiempo transcurrido desde la vez anterior, para contabilizar el tiempo
}
}
void setup()
{
// Debug console
Serial.begin(9600);
SerialBLE.begin(9600);
Blynk.begin(SerialBLE, auth);
strip.begin();
}
void showDigit(int d, int offset) {
unsigned long digit = DigitBytes[d];
for (int i = offset; i < offset + 21; i++) {
if (digit & 1) {
strip.setPixelColor(i, 0xF8F8FF);
} else {
strip.setPixelColor(i, 0x000000);
}
digit = digit >> 1;
}
strip.show();
}
void loop()
{
Blynk.run();
instanteAnterior = instanteActual; // Lo que antes era el instante actual, ahora es el anterior
instanteActual = millis(); // Averiguamos cual es el instante actual
m=(tiempoContabilizado/1000)/60; //Calculamos los minutos
mu=m%10; //Descomponemos los minutos y sacamos el valor de las unidades
md=(m-mu)/10; //Descomponemos los minutos y sacamos el valor de las decenas
s=(tiempoContabilizado/1000)%60; //Calculamos los segundos
su=s%10; //Descomponemos los segundos y sacamos el valor de las unidades
sd=(s-su)/10; //Descomponemos los segundos y sacamos el valor de las decenas
l=(tiempoContabilizado%1000); //Calculamos las milesimas de segundo
lu=l%10; //Descomponemos las milesimas y sacamos el valor de las unidades
ld=((l-lu)/10)%10; //Descomponemos las milesimas y sacamos el valor de las decenas
lc1=(l-(ld*10)-lu)/100; //Descomponemos las milesimas y sacamos el valor de las centenas
Serial.print("seg");Serial.println(s);
showDigit(su, 0);
showDigit(sd, 21);
showDigit(md, 42);
}
`