Encodeur et Moteur pas à pas, problème d'utilisation d'un poussoir de l'encodeur

Bonjour à tous,

J’ai réalisé il y a un petit moment un montage avec un encodeur rotatif, une carte Arduino et un driver afin de piloter l’avancement d’un moteur pas à pas qui me sert à réaliser une mise au point motorisé pour un caméra. (Je vous joins mon schéma de câblage et le code que j’utilise).

Dans mon code j’ai programmé la commande de la pin “Enable” du driver sur l’appui du poussoir de l’encodeur. Le but étant d’avoir une sécurité contre les mauvaises manipulation et de ne commander mon moteur pas à pas uniquement quand j’appui sur le bouton et que je le tourne.

J’ai changé récemment d’encodeur car ce dernier intégré des condensateurs alors que mon montage en avait déjà, j’ai donc voulu changé d’encodeur et mon code ne fonctionne plus. Plus exactement ma sécurité d’appui sur le poussoir ne fonctionne pas et je ne comprends pas pourquoi.

Référence de l’encodeur d’origine : https://www.amazon.fr/Hikig-Ky-040-Rotary-Encodeur-capuchon-Arduino/dp/B07D356LRH/ref=sr_1_2_sspa?__mk_fr_FR=ÅMÅŽÕÑ&dchild=1&keywords=encodeur+rotatif&qid=1593776205&s=electronics&sr=1-2-spons&psc=1&spLa=ZW5jcnlwdGVkUXVhbGlmaWVyPUExWTVQSFpYUzY0UTY2JmVuY3J5cHRlZElkPUExMDExODAxM0VHNTJVMjFPVEpCWiZlbmNyeXB0ZWRBZElkPUExMDMxNDYwMTQ1OEhNQVhQQjMzMiZ3aWRnZXROYW1lPXNwX2F0ZiZhY3Rpb249Y2xpY2tSZWRpcmVjdCZkb05vdExvZ0NsaWNrPXRydWU=

Référence de l’encodeur actuel : https://fr.rs-online.com/web/p/encodeurs-rotatifs-mecaniques/7377739/

En espérant que vous arriverez à m’aider sur ce sujet qui est assez urgent pour moi.

Merci d’avance

Schema de cablage 04-06-2020.pdf (149 KB)

Motorisation_MAP_F.ino (2.03 KB)

Fredoooo:
J'ai changé récemment d'encodeur car ce dernier intégré des condensateurs alors que mon montage en avait déjà, j'ai donc voulu changé d'encodeur et mon code ne fonctionne plus. Plus exactement ma sécurité d'appui sur le poussoir ne fonctionne pas et je ne comprends pas pourquoi.

Le premier encodeur n'avait pas de condensateurs.
Par contre il avait des résistances de pullup intégrées.
Il faudrait que tu changes cette ligne

pinMode(btn_sel,INPUT);

en

pinMode(btn_sel,INPUT_PULLUP);

Pour activer le pullup interne sur cette entrée.