meto los valores con el teclado matricial y el t que es el delay entre leds para que asi dure lo que tiene que durar no me sale. Es decir me sale bien los largos(ida del led) pero no me sale bien el tiempo que tiene que tardar.Ayuda
#include <Keypad.h>
#include <Adafruit_NeoPixel.h> //librerias teclado y de tira leds
#include <Wire.h> // libreria de comunicacion por I2C
#include <LCD.h> // libreria para funciones de LCD
#include <LiquidCrystal_I2C.h> // libreria para LCD por I2C
const byte FILAS = 4; // define numero de filas
const byte COLUMNAS = 4; // define numero de columnas
char keys[FILAS][COLUMNAS] = { // define la distribucion de teclas
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};
byte pinesFilas[FILAS] = {9,8,7,6}; // pines correspondientes a las filas
byte pinesColumnas[COLUMNAS] = {5,4,3,2}; // pines correspondientes a las columnas
Keypad teclado = Keypad(makeKeymap(keys), pinesFilas, pinesColumnas, FILAS, COLUMNAS);
Adafruit_NeoPixel tira = Adafruit_NeoPixel(60,10, NEO_GRB + NEO_KHZ800); //sesenta leds
LiquidCrystal_I2C lcd (0x27, 2, 1, 0, 4, 5, 6, 7); // DIR, E, RW, RS, D4, D5, D6, D7
char TECLA;
char TECLA1;
void setup(){
Serial.begin(9600);
tira.begin(); //inicializo todo
tira.show();
tira.setBrightness(255);// inicializa comunicacion serial
lcd.setBacklightPin(3,POSITIVE); // puerto P3 de PCF8574 como positivo
lcd.setBacklight(HIGH); // habilita iluminacion posterior de LCD
lcd.begin(16, 2); // 16 columnas por 2 lineas para LCD 1602A
lcd.clear(); // limpia pantalla
lcd.setCursor(0, 0); // ubica cursor en columna 0 y linea 0
lcd.print("Numero largos");
}
void loop() {
lcd.clear(); // limpia pantalla
lcd.setCursor(0, 0); // ubica cursor en columna 0 y linea 0
lcd.print("Numero largos");
char TECLA = teclado.waitForKey();
//t sera igual delay de cada led entre el numero de vueltas
switch (TECLA){
case'1':
lcd.setCursor(9,1);
lcd.print("1 largo");
delay(500);
lcd.clear();
lcd.setCursor(0, 0); // ubica cursor en columna 0 y linea 0
lcd.print("Tiempo(s)");
char TECLA1 = teclado.waitForKey();
char TECLA1T = TECLA1-48; //TECLA -48 pasa el caracter puesto a un valor //TECLA es la tecla que recibe del teclado matricial
int tiempo = TECLA1T;
int y = tiempo * 1000 ;
int x = y/60; //lo paso a segundos y lo divido entre 60 que es el numero de leds asi cada led tendra su propio delay ya hecho
int t= x/TECLA1T; //t sera igual delay de cada led entre el numero de vueltas //t sera igual delay de cada led entre el numero de vueltas
lcd.setCursor(15,1);
lcd.print(TECLA1);
for(int i = 0; i < 60; i++){
tira.setPixelColor(i,0,255,0);
tira.show();
delay(t);
tira.setPixelColor(i,0,0,0);}
break;
}
}