#include <Adafruit_NeoPixel.h>
int PIN_1= 9; // pin donde esta conectada la tira de leds
int PIN_2= 10;
int PIN_3= 11;
int PIN_4= 12;
int NUMPIXELS1= 14; // numero conectados
int NUMPIXELS2= 10;
int NUMPIXELS3= 12;
int NUMPIXELS4= 14;
int pulsador1= 13;
int pulsador2= A0;
int pulsador3= A1;
int pulsador4= A2;
int pulsador5= A3;
int pulsador6= A4;
int pulsador7= A5;
int rojo_1=8;
int verde_1=7;
int rojo_2=6;
int verde_2=5;
int delayval= 200; // tiempo de espera
Adafruit_NeoPixel pixels1 = Adafruit_NeoPixel (NUMPIXELS1, PIN_1, NEO_GRB+NEO_KHZ800);
Adafruit_NeoPixel pixels2 = Adafruit_NeoPixel (NUMPIXELS2, PIN_2, NEO_GRB+NEO_KHZ800);
Adafruit_NeoPixel pixels3 = Adafruit_NeoPixel (NUMPIXELS3, PIN_3, NEO_GRB+NEO_KHZ800);
Adafruit_NeoPixel pixels4 = Adafruit_NeoPixel (NUMPIXELS4, PIN_4, NEO_GRB+NEO_KHZ800);
void setup(){
pixels1.begin(); //Inicia los leds
pixels1.show();// apaga los leds
pixels2.begin();
pixels2.show();
pixels3.begin();
pixels3.show();
pixels4.begin();
pixels4.show();
pinMode(pulsador1, INPUT);
pinMode(pulsador2, INPUT);
pinMode(pulsador3, INPUT);
pinMode(pulsador4, INPUT);
pinMode(pulsador5, INPUT);
pinMode(pulsador6, INPUT);
pinMode(pulsador7, INPUT);
pinMode(rojo_1, OUTPUT);
pinMode(verde_1,OUTPUT);
pinMode(rojo_2, OUTPUT);
pinMode(verde_2,OUTPUT);
}
void loop(){ //parametro 1
while(digitalRead(pulsador1)==HIGH){
analogWrite(verde_1,255);
analogWrite(verde_2,255);
//enciende la tira led
for (int i=14-1;i>=0;i--){
pixels1.setPixelColor(i,0,255,0);//brillo moderado led rojo
pixels1.show();//envia al hardware
delay(100);
pixels1.setPixelColor(i,pixels3.Color (0,0,0));//brillo moderado led rojo
pixels1.show();//envia al hardware
delay(delayval);
// apaga la tira led
}
for (int i=0;i<2;i++){
pixels3.setPixelColor(i,0,255,0);//brillo moderado led rojo
pixels3.show();//envia al hardware
delay(delayval);
pixels3.setPixelColor(i,pixels3.Color(0,0,0));//brillo moderado led rojo
pixels3.show();//envia al hardware
delay(delayval);
}
for (int i=1;i<=8;i++){
pixels2.setPixelColor(i,0,255,0);//brillo moderado led rojo
pixels2.show();//envia al hardware
delay(delayval);
// apaga la tira led
pixels2.setPixelColor(i,pixels2.Color (0,0,0));//brillo moderado led rojo
pixels2.show();//envia al hardware
delay(delayval);
}
for (int i=10;i<12;i++){
pixels3.setPixelColor(i,0,255,0);//brillo moderado led rojo
pixels3.show();//envia al hardware
delay(delayval);
}
pixels4.setPixelColor(13,0,255,0);//brillo moderado led rojo
pixels4.show();//envia al hardware
delay(delayval);
pixels4.setPixelColor(13,pixels4.Color (0,0,0));
pixels4.show();//envia al hardware
analogWrite(verde_2,0);
analogWrite(verde_1,0);
delay(delayval);
}
//parametro 2
while(digitalRead(pulsador2)==HIGH){
for (int i=NUMPIXELS1-1;i>=0;i--){
pixels1.setPixelColor(i,0,255,0);//brillo moderado led rojo
pixels1.show();//envia al hardware
analogWrite(verde_1,255);
analogWrite(verde_2,255);
delay(delayval);
// apaga la tira led
pixels1.setPixelColor(i,pixels1.Color (0,0,0));//brillo moderado led rojo
pixels1.show();//envia al hardware
}
analogWrite(verde_1,0);
analogWrite(verde_2,0);
delay(delayval);
}
//parametro 3
while(digitalRead(pulsador3)==HIGH){
for (int i=NUMPIXELS1-1;i>=12;i--){
pixels1.setPixelColor(i,200,65,0);
pixels1.show();//envia al hardware
analogWrite(rojo_1,255);
analogWrite(rojo_2,255);
delay(delayval);
// apaga la tira led
pixels1.setPixelColor(i,pixels1.Color (0,0,0));//brillo moderado led rojo
pixels1.show();//envia al hardware
}
pixels2.setPixelColor(9,200,65,0);//brillo moderado led rojo
pixels2.show();//envia al hardware
delay(delayval);
pixels2.setPixelColor(9,pixels2.Color (0,0,0));
pixels2.show();//envia al hardware
for (int i=11-1;i>=1;i--){
pixels3.setPixelColor(i,200,65,0);//brillo moderado led rojo
pixels3.show();//envia al hardware
delay(delayval);
pixels3.setPixelColor(i,pixels3.Color (0,0,0));//brillo moderado led rojo
pixels3.show();//envia al hardware
delay(delayval);
}
pixels2.setPixelColor(0,200,65,0);//brillo moderado led rojo
pixels2.show();//envia al hardware
delay(delayval);
pixels2.setPixelColor(0,pixels2.Color (0,0,0));
pixels2.show();//envia al hardware
for (int i=2-1;i>=0;i--){
pixels1.setPixelColor(i,200,65,0);//brillo moderado led rojo
pixels1.show();//envia al hardware
delay(delayval);
// apaga la tira led
pixels1.setPixelColor(i,pixels1.Color (0,0,0));//brillo moderado led rojo
pixels1.show();//envia al hardware
}
analogWrite(rojo_1,0);
analogWrite(rojo_2,0);
delay(delayval);
}
//parametro 4
while(digitalRead(pulsador4)==HIGH){
analogWrite(verde_1,255);
analogWrite(verde_2,255);
delay(delayval);
for (int i=NUMPIXELS1-1;i>=12;i--){
pixels1.setPixelColor(i,200,65,0);
pixels1.show();//envia al hardware
delay(delayval);
// apaga la tira led
pixels1.setPixelColor(i,pixels1.Color (0,0,0));//brillo moderado led rojo
pixels1.show();//envia al hardware
}
pixels2.setPixelColor(9,200,65,0);//brillo moderado led rojo
pixels2.show();//envia al hardware
delay(delayval);
pixels2.setPixelColor(9,pixels2.Color (0,0,0));
pixels2.show();//envia al hardware
for (int i=11-1;i>=1;i--){
pixels3.setPixelColor(i,200,65,0);//brillo moderado led rojo
pixels3.show();//envia al hardware
delay(delayval);
pixels3.setPixelColor(i,pixels3.Color (0,0,0));//brillo moderado led rojo
pixels3.show();//envia al hardware
delay(delayval);
}
pixels2.setPixelColor(0,200,65,0);//brillo moderado led rojo
pixels2.show();//envia al hardware
delay(delayval);
pixels2.setPixelColor(0,pixels2.Color (0,0,0));
pixels2.show();//envia al hardware
for (int i=2-1;i>=0;i--){
pixels1.setPixelColor(i,200,65,0);//brillo moderado led rojo
pixels1.show();//envia al hardware
delay(delayval);
// apaga la tira led
pixels1.setPixelColor(i,pixels1.Color (0,0,0));//brillo moderado led rojo
pixels1.show();//envia al hardware
}
analogWrite(verde_1,0);
analogWrite(verde_2,0);
delay(delayval);
}
//parmetro 5
while(digitalRead(pulsador5)==HIGH){
for (int i=NUMPIXELS1-1;i>=12;i--){
pixels1.setPixelColor(i,200,65,0);
pixels1.show();//envia al hardware
delay(delayval);
// apaga la tira led
pixels1.setPixelColor(i,pixels1.Color (0,0,0));//brillo moderado led rojo
pixels1.show();//envia al hardware
}
pixels2.setPixelColor(9,200,65,0);//brillo moderado led rojo
pixels2.show();//envia al hardware
delay(delayval);
pixels2.setPixelColor(9,pixels2.Color (0,0,0));
pixels2.show();//envia al hardware
for (int i=11-1;i>=1;i--){
pixels3.setPixelColor(i,200,65,0);//brillo moderado led rojo
pixels3.show();//envia al hardware
delay(delayval);
pixels3.setPixelColor(i,pixels3.Color (0,0,0));//brillo moderado led rojo
pixels3.show();//envia al hardware
delay(delayval);
}
pixels2.setPixelColor(0,200,65,0);//brillo moderado led rojo
pixels2.show();//envia al hardware
delay(delayval);
pixels2.setPixelColor(0,pixels2.Color (0,0,0));
pixels2.show();//envia al hardware
for (int i=2-1;i>=0;i--){
pixels1.setPixelColor(i,200,65,0);//brillo moderado led rojo
pixels1.show();//envia al hardware
delay(delayval);
// apaga la tira led
pixels1.setPixelColor(i,pixels1.Color (0,0,0));//brillo moderado led rojo
pixels1.show();//envia al hardware
delay(delayval);
}
pixels4.setPixelColor(0,0,255,0);//brillo moderado led rojo
pixels4.show();//envia al hardware
delay(delayval);
pixels4.setPixelColor(0,pixels4.Color (0,0,0));
pixels4.show();//envia al hardware
for (int i=0;i<2;i++){
pixels3.setPixelColor(i,0,255,0);//brillo moderado led rojo
pixels3.show();//envia al hardware
delay(delayval);
pixels3.setPixelColor(i,pixels3.Color (0,0,0));//brillo moderado led rojo
pixels3.show();//envia al hardware
delay(delayval);
}
for (int i=1;i<=8;i++){
pixels2.setPixelColor(i,0,255,0);//brillo moderado led rojo
pixels2.show();//envia al hardware
delay(delayval);
// apaga la tira led
pixels2.setPixelColor(i,pixels2.Color (0,0,0));//brillo moderado led rojo
pixels2.show();//envia al hardware
delay(delayval);
}
for (int i=10;i<12;i++){
pixels3.setPixelColor(i,0,255,0);//brillo moderado led rojo
pixels3.show();//envia al hardware
delay(delayval);
pixels3.setPixelColor(i,pixels3.Color (0,0,0));//brillo moderado led rojo
pixels3.show();//envia al hardware
delay(delayval);
}
pixels4.setPixelColor(13,0,255,0);//brillo moderado led rojo
pixels4.show();//envia al hardware
delay(delayval);
pixels4.setPixelColor(13,pixels4.Color (0,0,0));
pixels4.show();//envia al hardware
delay(delayval);
}
// parametro 6
while(digitalRead(pulsador6)==HIGH){
for (int i=NUMPIXELS1-1;i>=12;i--){
pixels1.setPixelColor(i,200,65,0);
pixels1.show();//envia al hardware
delay(delayval);
// apaga la tira led
pixels1.setPixelColor(i,pixels1.Color (0,0,0));//brillo moderado led rojo
pixels1.show();//envia al hardware
}
pixels2.setPixelColor(9,200,65,0);//brillo moderado led rojo
pixels2.show();//envia al hardware
delay(delayval);
pixels2.setPixelColor(9,pixels2.Color (0,0,0));
pixels2.show();//envia al hardware
for (int i=11-1;i>=1;i--){
pixels3.setPixelColor(i,200,65,0);//brillo moderado led rojo
pixels3.show();//envia al hardware
delay(delayval);
pixels3.setPixelColor(i,pixels3.Color (0,0,0));//brillo moderado led rojo
pixels3.show();//envia al hardware
delay(delayval);
}
pixels2.setPixelColor(0,200,65,0);//brillo moderado led rojo
pixels2.show();//envia al hardware
delay(delayval);
pixels2.setPixelColor(0,pixels2.Color (0,0,0));
pixels2.show();//envia al hardware
for (int i=2-1;i>=0;i--){
pixels1.setPixelColor(i,200,65,0);//brillo moderado led rojo
pixels1.show();//envia al hardware
delay(delayval);
// apaga la tira led
pixels1.setPixelColor(i,pixels1.Color (0,0,0));//brillo moderado led rojo
pixels1.show();//envia al hardware
delay(delayval);
}
for (int i=0;i<NUMPIXELS4;i++){
pixels4.setPixelColor(i,200,65,0);//brillo moderado led rojo
pixels4.show();//envia al hardware
delay(delayval);
// apaga la tira led
pixels4.setPixelColor(i,pixels4.Color (0,0,0));//brillo moderado led rojo
pixels4.show();//envia al hardware
}
}
// parametro 7
while(digitalRead(pulsador7)==HIGH){
int maxLength = max(NUMPIXELS1, 11); // Determina cuál ciclo es el más largo
for (int i = 0; i < maxLength; i++) {
// Bucle para pixels1 (recorriendo de forma inversa)
if (i < NUMPIXELS1) {
int index1 = NUMPIXELS1 - 1 - i; // Índice decreciente para pixels1
pixels1.setPixelColor(index1, 0, 255, 0); // Rojo en pixels1
pixels1.show();
delay(delayval);
pixels1.setPixelColor(index1, 0, 0, 0); // Apaga el LED en pixels1
pixels1.show();
}
// Bucle para pixels3 (recorriendo de forma inversa)
if (i < 10) { // Dado que el rango de pixels3 es de 10 a 1
int index3 = 10 - i; // Índice decreciente para pixels3
pixels3.setPixelColor(index3, 200, 65, 0); // Anaranjado en pixels3
pixels3.show();
delay(delayval);
pixels3.setPixelColor(index3, 0, 0, 0); // Apaga el LED en pixels3
pixels3.show();
}
}
for (int i = maxLength; i>0 ; i--) {
if (i < 9) { // Dado que el rango de pixels3 es de 10 a 1
int index2 = 9 - i; // Índice decreciente para pixels3
pixels2.setPixelColor(index2, 0, 255, 0); // Anaranjado en pixels3
pixels2.show();
delay(delayval);
pixels2.setPixelColor(index2, 0, 0, 0); // Apaga el LED en pixels3
pixels2.show();
delay(delayval);
}
if (i < NUMPIXELS4) {
int index4 = NUMPIXELS4 - 1 - i; // Índice decreciente para pixels1
pixels4.setPixelColor(index4, 200, 65, 0); // Rojo en pixels1
pixels4.show();
delay(delayval);
pixels4.setPixelColor(index4, 0, 0, 0); // Apaga el LED en pixels1
pixels4.show();
delay(delayval);
}
}
}
}