/*
Realiza un programa para generar una secuencia de encendido de 8 LED´s, con
una velocidad de encendido de cada LED de 100 ms, de forma que se pueda
elegir el sentido de la secuencia mediante un conmutador. Si el conmutador está
a nivel bajo, los LEDs se irá encendiendo de derecha a izquierda, mientras que
si está a nivel alto, lo harán de izquierda a derecha. Siempre que se encienda un
LED, el anterior se mantendrá también encendido, hasta que queden los 8 LEDs
encendidos. Entonces se apagarán todos los LEDs y la secuencia comenzará
de nuevo, con el sentido de encendido que indique el conmutador. Controlar la velocidad de encendido de los mismos mediante otro
conmutador. Si el conmutador esta a 0, el tiempo de encendido de cada LED
será de 150 ms, mientras que si está a 1, el tiempo será de 50 ms.
*/
#define LED_1 23
#define LED_2 22
#define LED_3 21
#define LED_4 19
#define LED_5 18
#define LED_6 5
#define LED_7 4
#define LED_8 2
#define CONMUTADOR 15
#define CONMUTADOR_VEL 13
int VELOCIDAD;
void setup() {
pinMode(LED_1, OUTPUT); //DEFINO EL GPI23 COMO SALIDA
pinMode(LED_2, OUTPUT); //DEFINO EL GPI22 COMO SALIDA
pinMode(LED_3, OUTPUT); //DEFINO EL GPI21 COMO SALIDA
pinMode(LED_4, OUTPUT); //DEFINO EL GPI19 COMO SALIDA
pinMode(LED_5, OUTPUT); //DEFINO EL GPI18 COMO SALIDA
pinMode(LED_6, OUTPUT); //DEFINO EL GPI5 COMO SALIDA
pinMode(LED_7, OUTPUT); //DEFINO EL GPI4 COMO SALIDA
pinMode(LED_8, OUTPUT); //DEFINO EL GPI2 COMO SALIDA
pinMode(CONMUTADOR, INPUT_PULLUP); //DEFINO EL GPI15 COMO ENTRADA
pinMode(CONMUTADOR_VEL, INPUT_PULLUP); //DEFINO EL GPI13 COMO ENTRADA
}
void loop() {
if(digitalRead(CONMUTADOR)==0){
digitalWrite(LED_1, HIGH); //ENCIENDE LED PIN GPI23
delay(VELOCIDAD); //RETARDO 100 MILI SEGUNDOS
digitalWrite(LED_2, HIGH); //ENCIENDE LED PIN GPI22
delay(VELOCIDAD); //RETARDO 100 MILI SEGUNDOS
digitalWrite(LED_3, HIGH); //ENCIENDE LED PIN GPI21
delay(VELOCIDAD); //RETARDO 100 MILI SEGUNDOS
digitalWrite(LED_4, HIGH); //ENCIENDE LED PIN GPI19
delay(VELOCIDAD); //RETARDO 100 MILI SEGUNDOS
digitalWrite(LED_5, HIGH); //ENCIENDE LED PIN GPI18
delay(VELOCIDAD); //RETARDO 100 MILI SEGUNDOS
digitalWrite(LED_6, HIGH); //ENCIENDE LED PIN GPI5
delay(VELOCIDAD); //RETARDO 100 MILI SEGUNDOS
digitalWrite(LED_7, HIGH); //ENCIENDE LED PIN GPI4
delay(VELOCIDAD); //RETARDO 100 MILI SEGUNDOS
digitalWrite(LED_8, HIGH); //ENCIENDE LED PIN GPI2
delay(VELOCIDAD); //RETARDO 100 MILI SEGUNDOS
digitalWrite(LED_1, LOW); //APAGA LED PIN GPI23
digitalWrite(LED_2, LOW); //APAGA LED PIN GPI22
digitalWrite(LED_3, LOW); //APAGA LED PIN GPI21
digitalWrite(LED_4, LOW); //APAGA LED PIN GPI19
digitalWrite(LED_5, LOW); //APAGA LED PIN GPI18
digitalWrite(LED_6, LOW); //APAGA LED PIN GPI5
digitalWrite(LED_7, LOW); //APAGA LED PIN GPI4
digitalWrite(LED_8, LOW); //APAGA LED PIN GPI2
}
if(digitalRead(CONMUTADOR)==1){
digitalWrite(LED_8, HIGH); //ENCIENDE LED PIN GPI2
delay(VELOCIDAD); //RETARDO 100 MILI SEGUNDOS
digitalWrite(LED_7, HIGH); //ENCIENDE LED PIN GPI4
delay(VELOCIDAD); //RETARDO 100 MILI SEGUNDOS
digitalWrite(LED_6, HIGH); //ENCIENDE LED PIN GPI5
delay(VELOCIDAD); //RETARDO 100 MILI SEGUNDOS
digitalWrite(LED_5, HIGH); //ENCIENDE LED PIN GPI18
delay(VELOCIDAD); //RETARDO 100 MILI SEGUNDOS
digitalWrite(LED_4, HIGH); //ENCIENDE LED PIN GPI19
delay(VELOCIDAD); //RETARDO 100 MILI SEGUNDOS
digitalWrite(LED_3, HIGH); //ENCIENDE LED PIN GPI21
delay(VELOCIDAD); //RETARDO 100 MILI SEGUNDOS
digitalWrite(LED_2, HIGH); //ENCIENDE LED PIN GPI22
delay(VELOCIDAD); //RETARDO 100 MILI SEGUNDOS
digitalWrite(LED_1, HIGH); //ENCIENDE LED PIN GPI23
delay(VELOCIDAD); //RETARDO 100 MILI SEGUNDOS
digitalWrite(LED_8, LOW); //APAGA LED PIN GPI2
digitalWrite(LED_7, LOW); //APAGA LED PIN GPI4
digitalWrite(LED_6, LOW); //APAGA LED PIN GPI5
digitalWrite(LED_5, LOW); //APAGA LED PIN GPI18
digitalWrite(LED_4, LOW); //APAGA LED PIN GPI19
digitalWrite(LED_3, LOW); //APAGA LED PIN GPI21
digitalWrite(LED_2, LOW); //APAGA LED PIN GPI22
digitalWrite(LED_1, LOW); //APAGA LED PIN GPI23
}
if(digitalRead(CONMUTADOR_VEL)==0){
VELOCIDAD = 150;
}
else{
VELOCIDAD = 50;
}
}