Está en la página 1de 2

/************************************************************

***************OSCAR FERNANDO JEREZ REY*********************


***************ING. MECATRÓNICA*****************************
***************ING. BIOMÉDICA*******************************
------------------*_* -------------------------------------/

/************** VARIABLES **********************/


int leds;
int zumbador=10;
int pulsador=11;
unsigned long tiempoInic; //tiempo de diferencia entre encendido y apagado de leds
unsigned long tiempo; //variable donde estoy guardando el tiempo de la funcion
millis
unsigned long tiempoFin=0; // variable donde voy a guardar el valor en el que
active el pulsador
/***************************************/

/
***********************************************************************************
***********************************************************************************
***********/
void setup() {
for ( leds =5; leds <=9;leds++){ //ciclo para declarar los led del 5 al 9
pinMode (leds, OUTPUT); //como si fueran entradas
}
pinMode(zumbador, OUTPUT); //declaramos el zumbador como salida//
pinMode(pulsador, INPUT); //declaramos el pulsador como entrada//

Serial.begin(9600);
}
/
***********************************************************************************
***********************************************************************************
**********/

/******************** funcion del pulsador***************/


void pulso(){

if (digitalRead(pulsador)==HIGH){ //En esta función obtengo el tiempo


en el que...
tiempoFin=tiempoFin+tiempo; //fue oprimido el pulsador//
}
}
/*****************************************/

/*****************Funcion encender leds*****************/


void encendido(){
unsigned long tiempoDist=0;
digitalWrite(5,HIGH);
tiempoDist=tiempoInic;
if(tiempoDist=tiempo){
digitalWrite(5,LOW);
digitalWrite(6,HIGH);
}
tiempoDist=2*tiempoInic; //en esta
funcion solo estoy ejecutando el encendido y el apagado de los leds.....
if(tiempoDist=tiempo){ //con la
distancia de tiempo requerida
digitalWrite(6,LOW);
digitalWrite(7,HIGH);
}
tiempoDist=3*tiempoInic;
if(tiempoDist=tiempo){
digitalWrite(7,LOW);
digitalWrite(8,HIGH);
}
tiempoDist=4*tiempoInic;
if(tiempoDist=tiempo){
digitalWrite(8,LOW);
digitalWrite(9,HIGH);
}
}

void loop() {
for (tiempoInic=200; tiempoInic<=10; tiempoInic-20){ //este ciclo for me indica
que la distancia de tiempo entre el encendido de los leds va disminuyendo de a 20

while (tiempoFin != 2*tiempoInic){


tiempo=millis; //este ciclo while me permite
asegurar que mientras el tiempo en el que se oprimio el pulsador sea diferente
del...
pulso(); // tiempo en el que el led3 se
prendio el tiempo entre encendido de las distancias no va a cambiar y...
encendido(); // lo que se evidencia es que el
conteo en segundos (millis) se estara reseteando una vez prenda el ultimo led (led
5).
tiempo=0;
}
digitalWrite(zumbador,HIGH); //si el zumbador se activa quiere
decir que el ciclo while terminó de ejecutarse, es decir que el pulsador se
oprimio...
// al tiempo que el led3 se
encendia.

} // aqui el ciclo for se repite


hasta que la distacia entre encendido de cada led sea menor o igual a 10.

También podría gustarte