Pin interruption

Bonjour, lorsque je fais des programmes avec une interruption ( attachInterrupt(numéroPin, Fonction, Mode) pour ceux qui ont oublié), si je prend les modes RISING, FALLING ou CHANGE, que je lance mon programme te que je branche un fil sur la pin "numéroPin" alors l'interruption se déclanche. :astonished:

Comment faire pour éviter cela ?

Merci d'avance

Question bonus : comment la carte arduino arrive-t-elle à détecter que j'ai branché un fil s'il n'est relié a rien ?

Ton pin est flotant, fais l’essai en branchant ton fil sur un analogIn et regarde les variations … C’est pour ça que dans beaucoup de montage il y a des résistances de pull-down ou de pull-up (il y en a également sur les pins de l’arduino commandables via la fonction digitalWrite).

Désolé mais je ne comprend pas les termes "flotant", "résistances pull up" et "pull down :~

Lorsque je fais des programmes avec une interruption ( attachInterrupt(numéroPin, Fonction, Mode) pour ceux qui ont oublié), si je prend les modes RISING, FALLING ou CHANGE, que je lance mon programme et que je branche un fil sur la pin "numéroPin" alors l'interruption se déclanche.

C'est le but de l'interruption de se déclencher lorsque qu'il y a un changement d'état sur une entrée.

Question bonus : comment la carte arduino arrive-t-elle à détecter que j'ai branché un fil s'il n'est relié a rien ?

Les broches du processeur lorsqu'elles ne sont reliées à rien se trouvent sans état déterminé (elles se trouve entre l'état 1 ou 0 on dit qu'elle flotte) et elle peuvent peuvent basculer de 1 à 0 à la moindre sollicitation. En connectant un fil sur l'entrée le doigt amène une perturbation (électricité statique, 50Hz capté par le corps, france inter par exemple) et cela fait basculer d'un état à l'autre et génère l'interruption. Pour éviter cela on place une résistance (ou alors on utilise celle intégrée dans les I/O) pour fixer l'état de l'entrée au repos. Lorsque l'on met la résistance entre l'entrée et le plus on "tire" cette entrée au niveau 1, on parle alors de pullup. Lorsque l'on met la résistance entre l'entrée et le GND on "tire" cette entrée au niveau 0 et on parle alors de pulldown.

Ok d’accord. :wink:
Merci