// Ejercicio No.1
// Se necesita controlar varios LEDs de manera independiente utilizando un potenciómetro.
// Cada LED debe encenderse dependiendo del rango en el que se encuentre el potenciómetro.
// Por ejemplo, si el potenciómetro está en el rango de 0 a 10, solo el LED1 deberá encenderse.
// Si el potenciómetro está en el rango de 0 a 20, debería encenderse el LED2 y apagarse el LED1,
// y así sucesivamente. Por ultimo cuando el potenciometro este en el maximo, hacer que todo los LED se
// enciendan y se apaguen cada un segundo.
int LED1 = 26;
int LED2 = 25;
int LED3 = 33;
int LED4 = 32;
int LED5 = 12;
int LED6 = 14;
int LED7 = 13;
int PMO = 27;
int potVal = 0;
int intervalo = 585;
void setup() {
pinMode(LED1, OUTPUT);
pinMode(LED2, OUTPUT);
pinMode(LED3, OUTPUT);
pinMode(LED4, OUTPUT);
pinMode(LED5, OUTPUT);
pinMode(LED6, OUTPUT);
pinMode(LED7, OUTPUT);
pinMode(PMO, INPUT);
Serial.begin(115200);
}
void loop() {
potVal = analogRead(PMO);
digitalWrite(LED1, HIGH);
digitalWrite(LED2, HIGH);
digitalWrite(LED3, HIGH);
digitalWrite(LED4, HIGH);
digitalWrite(LED5, HIGH);
digitalWrite(LED6, HIGH);
digitalWrite(LED7, HIGH);
if (potVal != 0) {
if (potVal <= intervalo) {
digitalWrite(LED1, LOW);
} else if (potVal <= intervalo *2) {
digitalWrite(LED2, LOW);
} else if (potVal <= intervalo *3) {
digitalWrite(LED3, LOW);
} else if (potVal <= intervalo *4) {
digitalWrite(LED4, LOW);
} else if (potVal <= intervalo *5) {
digitalWrite(LED5, LOW);
} else if (potVal <= intervalo *6) {
digitalWrite(LED6, LOW);
} else if (potVal <= intervalo *7 - 1) {
digitalWrite(LED7, LOW);
} else if (potVal == intervalo * 7) {
delay(1000);
digitalWrite(LED1, LOW);
digitalWrite(LED2, LOW);
digitalWrite(LED3, LOW);
digitalWrite(LED4, LOW);
digitalWrite(LED5, LOW);
digitalWrite(LED6, LOW);
digitalWrite(LED7, LOW);
delay(1000);
}
}
Serial.println(potVal);
}