//Declarando pin analogico para el potenciomentro
int analogPin = A0;
//Declarando variable para la lectura del potenciometro
int analogValue;
//Declarando pines de los LED
int green = 8;
int yellow = 9;
int orange = 10;
int red = 11;
//Declarando el pin para el buzzer
int buzzPin = 13;
void setup() {
//Iniciando pin para leer valores del potenciometro
pinMode(analogPin, INPUT);
//Iniciando pines de los LED
pinMode(green, OUTPUT);
pinMode(yellow, OUTPUT);
pinMode(orange, OUTPUT);
pinMode(red, OUTPUT);
//Iniciando el pin del buzzer
pinMode(buzzPin, OUTPUT);
//Iniciando la consola de Arduino
Serial.begin(9600);
}
void loop() {
//Se almacena en la variable de lectura analogica los valores del pin analogico del potenciometro
analogValue = analogRead(analogPin);
//Si los valores analogicos del potenciometro son menores que 256 se enciende el LED verde y se apagan los demas
if (analogValue < 256) {
digitalWrite(green, HIGH);
digitalWrite(yellow, LOW);
digitalWrite(orange, LOW);
digitalWrite(red, LOW);
}
//Si los valores analogicos del potenciometro estan entre 256 y 512 se enciende el LED amarillo y se apagan los demas
else if (analogValue > 256 && analogValue < 512 ) {
digitalWrite(green, LOW);
digitalWrite(yellow, HIGH);
digitalWrite(orange, LOW);
digitalWrite(red, LOW);
}
//Si los valores analogicos del potenciometro estan entre 512 y 768 se enciende el LED naranja y se apagan los demas
else if (analogValue > 512 && analogValue < 768 ) {
digitalWrite(green, LOW);
digitalWrite(yellow, LOW);
digitalWrite(orange, HIGH);
digitalWrite(red, LOW);
}
//Al no cumplirse las otras condiciones es porque los valores son mayores que 768, por tanto se enciende el LED rojo y se apagan los restantes
else {
digitalWrite(green, LOW);
digitalWrite(yellow, LOW);
digitalWrite(orange, LOW);
digitalWrite(red, HIGH);
//Se enciende el buzzer, conn 350Hz y 0.50ms deintervalo
tone(buzzPin, 350, 50);
}
//Se muestran en la consola los valores del potenciomentro y se aplica una diferencia de 100ms entr cada linea de valor
Serial.println(analogValue);
delay(100);
}