/*
Proficiency test Exp 1
OU ECE 5520 Fall24
Amr Shiekhidris
*/
// defines pins numbers
const int Potentiometer = A0; // Use A0 for analog input pin
const int Red = 11;
const int Green = 10;
const int Blue = 9;
const int Yellow = 8;
// defines variables
int value = 0;
float voltage = 0;
void setup() {
pinMode(Potentiometer, INPUT); // Set potentiometer as input
pinMode(Red, OUTPUT);
pinMode(Green, OUTPUT);
pinMode(Blue, OUTPUT);
pinMode(Yellow, OUTPUT);
Serial.begin(9600); // Starts the serial communication
}
void loop() {
// Read the analog value from the potentiometer (0 to 1023)
value = analogRead(Potentiometer);
// Convert the analog value to a voltage (0 to 5V)
voltage = value * (5.0 / 1023);
// Print the voltage on the Serial Monitor for debugging
Serial.print("Voltage: ");
Serial.println(voltage);
// Check which range the voltage falls into and turn on the corresponding LED
if (voltage >= 1.0 && voltage < 2.0) {
digitalWrite(Red, HIGH);
digitalWrite(Green, LOW);
digitalWrite(Blue, LOW);
digitalWrite(Yellow, LOW);
}
else if (voltage >= 2.0 && voltage < 3.0) {
digitalWrite(Red, LOW);
digitalWrite(Green, HIGH);
digitalWrite(Blue, LOW);
digitalWrite(Yellow, LOW);
}
else if (voltage >= 3.0 && voltage < 4.0) {
digitalWrite(Red, LOW);
digitalWrite(Green, LOW);
digitalWrite(Blue, HIGH);
digitalWrite(Yellow, LOW);
}
else if (voltage >= 4.0 && voltage <= 5.0) {
digitalWrite(Red, LOW);
digitalWrite(Green, LOW);
digitalWrite(Blue, LOW);
digitalWrite(Yellow, HIGH);
}
else {
// Default: turn all LEDs off if outside the voltage range
digitalWrite(Red, LOW);
digitalWrite(Green, LOW);
digitalWrite(Blue, LOW);
digitalWrite(Yellow, LOW);
}
delay(500); // Small delay for stability
}