Ok merci, on a du mal à trouver des schémas de réalisations réelles avec autre chose qu'un conducteur tout seul... et encore moins avec des valeurs ![]()
Finalement, sans avoir tous les éclaircissements sur les mystères de l'ESP, j'ai un code qui semble fonctionner...
// touchbtns tactiles
const int touchbtn1 = 1; // pin 1 - GPIO1 = T1
const int touchbtn2 = 6; // pin 6 - GPIO3 = T6
const int touchbtn3 = 3; // pin 3 - GPIO4 = T4
const int TOUCH_THRESHOLD = 1000; //sensibilité à ajuster éventuellement
#define LED_BUILTIN 2
bool ledstate = true;
//bool ledstate = false;
volatile int i1_valeur = 0;
volatile int i1_vprec = 0;
volatile int i2_valeur = 0;
volatile int i2_vprec = 0;
volatile int i3_valeur = 0;
volatile int i3_vprec = 0;
// ------------------------------ SETUP ------------------------------------------
void setup(){
Serial.begin(115200);
// interruptions
pinMode(LED_BUILTIN, OUTPUT);
touchAttachInterrupt(touchbtn1, i_bouton1, TOUCH_THRESHOLD);
touchAttachInterrupt(touchbtn2, i_bouton2, TOUCH_THRESHOLD);
touchAttachInterrupt(touchbtn3, i_bouton3, TOUCH_THRESHOLD);
}
// ------------------------------ FIN DU SETUP -----------------------------------
// ------------------------------ INTERRUPTIONS ----------------------------------
void i_bouton1() {
i1_vprec = i1_valeur;
i1_valeur = touchRead(touchbtn1);
if (i1_vprec < i1_valeur) {
ledstate = false;
}
// censé éteindre la LED
}
void i_bouton2() {
i2_vprec = i2_valeur;
i2_valeur = touchRead(touchbtn2);
if (i2_vprec < i2_valeur) {
ledstate = true;
}
// censé allumer la LED
}
void i_bouton3() {
i3_vprec = i3_valeur;
i3_valeur = touchRead(touchbtn3);
if (i3_vprec < i3_valeur) {
ledstate = !ledstate;
}
// censé basculer l'état de la LED
}
// ------------------------------ LOOP -------------------------------------------
void loop(){
if (ledstate) {
// allumée
digitalWrite(LED_BUILTIN, HIGH);
}
else {
// eteinte
digitalWrite(LED_BUILTIN, LOW);
}
}
Merci à tous.
(code ré-édité pour correction signalée par Lesept)
Ça doit être i2_valeur ici.
Oui bien sûr, j'avais corrigé après l'upload mais pas édité le message. Merci, j'édite ça...