int led_pin = 3;
int pot_pin = A0;
int led_val, pot_val, ser_val;
int old_pot_val, old_ser_val;
bool lastComponent = false;
// false -> Potentiometer
// true -> Serial
void setup() {
pinMode(led_pin, OUTPUT);
Serial.begin(9600);
}
void loop() {
readPotentiometer();
readSerialMonitor();
printInfo();
if (pot_val != old_pot_val) {
lastComponent = false;
}
if (ser_val != old_ser_val) {
lastComponent = true;
}
if (lastComponent == false) {
led_val = pot_val;
}
else {
led_val = ser_val;
}
analogWrite(led_pin, led_val);
old_pot_val = pot_val;
old_ser_val = ser_val;
}
void printInfo() {
Serial.print("Pot: ");
Serial.print(pot_val);
Serial.print("\tSer: ");
Serial.print(ser_val);
Serial.print("\tLed: ");
Serial.println(led_val);
}
void readSerialMonitor() {
if (Serial.available() > 0) {
ser_val = Serial.parseInt();
Serial.read();
}
}
void readPotentiometer() {
pot_val = analogRead(pot_pin)/4;
}