Les fonctions blink2 et blink3 doivent être le plus rapides possible, enlever de ces fonctions les Serial.print, n'y laisser que les incrémentations de compteurs.
Faire cet affichage en dehors des fonctions d'interruption.
+Pourquoi 9600 bauds ? valeur débit 'historique' rarement justifiée de nos jours.
Avec CHANGE il y aura progression de 2 unités à chaque impulsion... sans compter les éventuels rebonds selon la technologie employée dans le module IZAR pour produire les impulsions.
Du coup ça fonctionne parfaitement sans aucune erreur avec un arduino depuis 15 jours
mais avec un ESP32 Wroom sur la pin GPIO4 ou autre il s'incréments par 4 ou + ou pas du tout...
Le code est différent avec les ESP ?
Oui, la gestion des interruptions a quelques particularités de codage sur ESP32
Voir les exemples fournis avec l'extention ESP32 pour IDE Arduino : catégorie ESP32/GPIO
Voir aussi dans le tutoriel suivant la partie sur l'interruption externe par le détecteur PIR
Où sont tes résistances de pull up ?
(les résistances de pull up internes aux=x GPIO de l'ESP32 sont très élevées, compter donne de sérieuces 'chances' de permettre au montage d'attraper des parasites)
Je ne vois pas la différence dans l'exemple du lien
pinMode(motionSensor, INPUT_PULLUP);
// Set motionSensor pin as interrupt, assign interrupt function and set RISING mode
attachInterrupt(digitalPinToInterrupt(motionSensor), detectsMovement, RISING);
OK , je n'avais ap vu la ligne du code qui active les pull-up interne
Avec les ESP32 effe tivement mieux vaut 'assurer' à l'extérieur !
Dans le schéma du message initial on voit des résistances de 10k en 'pull down'.
Sont elles effectivement en place dans le montage ?
Le pont diviseur qu'elles forment avec les pull-up peut mettre trop bas le niveau haut
J'essayerais demain, le compteur est au fond du jardin dans une buse à 1m20 sous terre et le temps n'est pas propice à l'électronique .
L'électronique risque de ne pas apprécier non plus l'humidité. Sans précautions (tropicalisation ou boîtier très étanche) le montage risque de fonctionner quelques mois, pas plus. De l'oxydation va commencer à se former sur toutes les soudures, jusqu'à ce que cela conduise suffisamment pour que cela ressemble à un court-circuit ou presque.