En esta entrada se muestra el código con el cual se programó un secuenciador utilizando una placa Arduino Uno, cada diodo led tiene una resistencia limitadora de corriente conectada entre su cátodo y GND
/*SECUENCIADOR 7 CANALES Y 5 EFECTOS*/
/*Pines donde van conectados los led*/
int pinled0 = 0;
int pinled1 = 2;
int pinled2 = 4;
int pinled3 = 6;
int pinled4 = 8;
int pinled5 = 10;
int pinled6 = 12;
/*corresponden a los pines digitales 0,2,4,6,8,10,12 , si se quieren cambiar los pines
en los cuales se conectan los leds se deben modificar las sentencias anteriores */
void setup() {
/*AQUI VAN LAS CONFIGURACIONES DE LOS PINES*/
pinMode(pinled0,OUTPUT); /*se configuran los pines digitales como salidas*/
pinMode(pinled1,OUTPUT);
pinMode(pinled2,OUTPUT);
pinMode(pinled3,OUTPUT);
pinMode(pinled4,OUTPUT);
pinMode(pinled5,OUTPUT);
pinMode(pinled6,OUTPUT);
}
void loop() {
/*EL SECUENCIADOR*/
/*con los bucles for se controlan las repeticiones de cada efecto*/
for (int rep0=0;rep0<=2;rep0++){
efecto1();
};
apagado();
for (int rep1=0;rep1<=3;rep1++){
efecto2();
};
apagado();
for(int rep2=0;rep2<=6;rep2++){
efecto3();
}
apagado();
for(int rep3=0;rep3<=20;rep3++){
efecto4();
}
apagado();
for(int rep4=0;rep4<=2;rep4++){
efecto5();
}
apagado();
}
/*FUNCION APAGADO*/
void apagado(){
digitalWrite(pinled0,LOW);
digitalWrite(pinled1,LOW);
digitalWrite(pinled2,LOW);
digitalWrite(pinled3,LOW);
digitalWrite(pinled4,LOW);
digitalWrite(pinled5,LOW);
digitalWrite(pinled6,LOW);
delay(50);
}
/*FIN FUNCION APAGADO*/
/*DEFINICION DE EFECTOS*/
void efecto1(){
digitalWrite(pinled0,HIGH);/*enciendo led*/
digitalWrite(pinled1,LOW);
digitalWrite(pinled2,HIGH);
digitalWrite(pinled3,LOW);
digitalWrite(pinled4,HIGH);
digitalWrite(pinled5,LOW);
digitalWrite(pinled6,HIGH);
delay(300);/*espero*/
digitalWrite(pinled0,LOW);/*apago led*/
digitalWrite(pinled1,HIGH);
digitalWrite(pinled2,LOW);
digitalWrite(pinled3,HIGH);
digitalWrite(pinled4,LOW);
digitalWrite(pinled5,HIGH);
digitalWrite(pinled6,LOW);
delay(300);/*espero*/
}
void efecto2(){
int k,l = 0;
while(k<=7){
digitalWrite(pinled0,HIGH);
digitalWrite(pinled1,HIGH);
digitalWrite(pinled2,HIGH);
delay(50);
digitalWrite(pinled0,LOW);
digitalWrite(pinled1,LOW);
digitalWrite(pinled2,LOW);
delay(50);
k++;
}
while(l<=7){
digitalWrite(pinled3,LOW);
digitalWrite(pinled4,HIGH);
digitalWrite(pinled5,HIGH);
digitalWrite(pinled6,HIGH);
delay(50);
digitalWrite(pinled3,LOW);
digitalWrite(pinled4,LOW);
digitalWrite(pinled5,LOW);
digitalWrite(pinled6,LOW);
delay(50);
l++;
}
}
void efecto3(){
int i=0;
while(i<=12){
digitalWrite(pinled6,LOW);
digitalWrite(i,HIGH);
delay(50);
digitalWrite(i-2,LOW);
i=i+2;
};
int j=12;
while(j>=0){
digitalWrite(pinled0,LOW);
digitalWrite(j,HIGH);
delay(50);
digitalWrite(j+2,LOW);
j=j-2;
};
}
void efecto4(){
digitalWrite(pinled0,HIGH);
digitalWrite(pinled1,HIGH);
digitalWrite(pinled2,HIGH);
digitalWrite(pinled3,HIGH);
digitalWrite(pinled4,HIGH);
digitalWrite(pinled5,HIGH);
digitalWrite(pinled6,HIGH);
delay(50);
digitalWrite(pinled0,LOW);
digitalWrite(pinled1,LOW);
digitalWrite(pinled2,LOW);
digitalWrite(pinled3,LOW);
digitalWrite(pinled4,LOW);
digitalWrite(pinled5,LOW);
digitalWrite(pinled6,LOW);
delay(50);
}
void efecto5(){
digitalWrite(pinled6,LOW);
digitalWrite(pinled0,HIGH);
delay(300);
digitalWrite(pinled1,HIGH);
delay(300);
digitalWrite(pinled2,HIGH);
delay(300);
digitalWrite(pinled0,LOW);
digitalWrite(pinled1,LOW);
digitalWrite(pinled2,LOW);
digitalWrite(pinled3,HIGH);
delay(300);
digitalWrite(pinled4,HIGH);
delay(300);
digitalWrite(pinled5,HIGH);
delay(300);
digitalWrite(pinled3,LOW);
digitalWrite(pinled4,LOW);
digitalWrite(pinled5,LOW);
digitalWrite(pinled6,HIGH);
delay(300);
}
/*FIN DEFINICION DE EFECTOS*/
Comentarios
Publicar un comentario