//ACTIVIDAD Nº2 Ingreso de 3 parametros en una funcion + 2 potenciometros y un pulsador:
int cant_parp_rest;
int restador=0;
#define led_rojo 12
#define pin_pulsador 11
struct ParametrosParpadeo {
int pin;
int tiempo_parpadeo;
int cantidad_parp;
};
struct potenciometros{
int pin;
int minimo;
int maximo;
};
#define pote_tiempo A1
#define pote_cant_parp A0
// declaracion de la estructura
struct potenciometros potenciometro1 = {pote_cant_parp, 1,10};
struct potenciometros potenciometro2 ={pote_tiempo,100,600};
//funcion con estructura
void parpadeo(struct ParametrosParpadeo parametro_parpadeos ){
while ((cant_parp_rest=( (parametro_parpadeos.cantidad_parp)- restador++))>0) {
digitalWrite(parametro_parpadeos.pin, HIGH);
delay(parametro_parpadeos.tiempo_parpadeo);
digitalWrite(parametro_parpadeos.pin, LOW);
delay(parametro_parpadeos.tiempo_parpadeo);
}
}
int analogcant_parp;
int analogtiempo;
int estado_pulsador;
struct ParametrosParpadeo parametros;
struct ParametrosParpadeo parametro_parpadeos;
void setup() {
pinMode(led_rojo, OUTPUT);
pinMode(pin_pulsador, INPUT);
pinMode(potenciometro1.pin, INPUT);
pinMode(potenciometro2.pin, INPUT);
Serial.begin(9600);
//parametro_parpadeos.pin=led_rojo;
parametros.pin=led_rojo;
}
void loop() {
// put your main code here, to run repeatedly:
//armo el mapeo de las entradas analógicas
parametros.cantidad_parp = map(analogRead(potenciometro1.pin),0,1023,potenciometro1.minimo,potenciometro1.maximo);
parametros.tiempo_parpadeo = map(analogRead(potenciometro2.pin),0,1023,potenciometro2.minimo,potenciometro2.maximo);
estado_pulsador = digitalRead(pin_pulsador);
Serial.println("-Cantidad parpadeos: ");
Serial.println(parametros.cantidad_parp);
Serial.println("-Cantidad tiempo: ");
Serial.println(parametros.tiempo_parpadeo);
if(estado_pulsador==1){
parpadeo(parametros);
}
delay(100);
}