Tengo un problema con el código, ya que debería pulsar el botón y si el led esta rojo no funcionar y si el led esta verde funcionar. El problema viene que al mostrar el valor del potenciometro por pantalla se bugea y no me deja cambiar al led rojo ( que seria apagar el potenciometro ), si quito esta linea
Serial.println("Valor del potenciometro: " + String(valorPotenciometre));
si que me funciona, pero quiero mostrar el valor. Muchas gracias de antemano.
const int pulsador = 9; // the number of the pushbutton pin
const int led = 12; // the number of the LED pin RED
const int led1 = 11; // the number of the LED pin GREEN
const int led2 = 10;
const int pot =0; // el pot esta conectado al pin A0
int valorPotenciometre;
// variables will change:
boolean valorPulsador=0;
void setup() {
pinMode(led, OUTPUT);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(pulsador, INPUT);
Serial.begin(9600);
}
void loop(){
if (digitalRead(pulsador)){ // Cuando el pulsador está activo...
valorPulsador = !valorPulsador; // Asigna el valor contrario (ON --> OFF --> ON --> OFF...)
}
if(valorPulsador){ // si Valor_pulsador es Verdadero --> 1 --> ON
digitalWrite(led1,LOW); // Apaga el Led
digitalWrite(led,HIGH); // Enciende el Led
valorPotenciometre = analogRead (pot) / 4;
analogWrite(led2, valorPotenciometre);
Serial.println("Valor del potenciometro: " + String(valorPotenciometre));
}
else { // De lo contrario
digitalWrite(led1,HIGH); // Enciende el Led
digitalWrite(led,LOW); // Apaga el Led
}
}