El flanco que vale es el primero, el segundo es solo para que muestres NO TOUCH pero solo una vez sino aburre verlo seguido
#define ctsPin 2
int ledPin = 13;
int ctsValue, ctsValueAnt = LWO;
bool flag = false;
void setup() {
Serial.begin(9600);
pinMode(ledPin, OUTPUT);
pinMode(ctsPin, INPUT);
}
void loop() {
int ctsValue = digitalRead(ctsPin);
if (ctsValue && !ctsValueAnt) { // ver explicacion. Esto lee el flanco de 0 a 1
digitalWrite(ledPin, HIGH);
Serial.println("TOUCH");
flag = false;
}
if (flag)
if (!ctsValue) { // si ctsValue es low y esta activo el flag entonces muestro
digitalWrite(ledPin, LOW);
Serial.println("not touch");
flag = false;
}
}
ctsValueAnt = ctsValue;
}