int SALIDA_DIGITAL_VALVULA = 3; //Salida PWM D3
int GIRO;
int POT = 0; // Entrada analogica Potenciometro
bool VAL = false;
int ON = 12;
int IS_ON = 10;
void setup () {
Serial.begin(115200);
pinMode(SALIDA_DIGITAL_VALVULA, OUTPUT); //Salida PWM D3
pinMode(ON, OUTPUT);
pinMode(IS_ON, INPUT_PULLUP);
}
void loop() {
//Serial.println(analogRead(POT));
GIRO = analogRead(POT) / 4;
if (!digitalRead(ON)) {
GIRO = 0;
}
analogWrite(SALIDA_DIGITAL_VALVULA, GIRO);
if (!digitalRead(IS_ON)) {
delay(200); // Debounce
VAL = !VAL;
if (VAL) {
digitalWrite(ON, HIGH);
} else {
digitalWrite(ON, LOW);
}
while (!digitalRead(IS_ON)); // Esperar hasta que se suelte el botón
}
}