Module FM arduino

Chers amis bonjour

Je suis en train d’essayer une nouvelle solution pour la FM à base de module Arduino.

Pour l’instant je fait un essai avec un codeur KY404 et un module FM:


Keyes-KY-040-Rotary-Encoder-Pin-Outs

Le problème se porte sur l’incrémentation qui se fait de manière anarchique, dans les deux sens, ne marchant qu’un coup sur deux et retournant parfois dans le sens inverse.

J’ai cablé ainsi: (schéma sans l’alimentation du module FM au même endroit que le codeur)

J’ai surement fait quelquechose de mal ? :grin:

Lorsque que l’encodeur n’est pas actionné il reste en position « flottante » ce qui peut engendrer des disfonctionnement car le microprocesseur n’as pas une position 1 ou 0 défini pour ces broches. Essayez de mettre des résistances de 10K (resistances de tirage) entre les pin A et B et le 5V

Sinon il faut également lisser la sortie du codeur (debouncing en anglais) en mettant des condensateurs de 100nF sur les pin A et B relié a la masse

1 « J'aime »

Merci Vlad je vais essayer ça

Ça n’a rien changé même avec les condensateurs

Peut être les codeurs ne sont pas compatibles ?

J’ai débranché un des deux pin f+ f- et le codeur incrémente la fréquence qu’on le tourne dans un sens ou dans l’autre

Bonjour,
vous auriez un lien sur ce module et ses branchements ?
Les seuls que j’ai trouvé qui ressemblent ne gèrent pas un contacteur rotatif mais des interrupteurs fugitifs. La gestion est complètement différente.


Cordialement
P. Chour

Bonjour,
Pas sûr que le module soit compatible avec un knob, les sorties A et B sont simplement décalées de 90°, en principe la discrimination du sens se fait par le soft, par exemple quand l’entrée A passe à 1, on va tester l’entrée B, si elle est à zéro on compte, si elle est à un, on décompte.
Mais le module est peut être conçu pour fonctionner avec des boutons poussoirs où un seul doit être actionné à la fois.
L’anti-rebond doit être géré par le software en principe.
cdt,
gérard

En effet tout fonctionne bien mieux avec des boutons poussoirs. :slightly_smiling_face:

Ouf. C’est plutôt rassurant. La gestion des contacteurs rotatif se fait sur détection de 2 fronts montants décalés. Pour les interrupteurs, on ne détectent qu’un seul front.
Bonne soirée
P. Chour

Avec un knob, il ne peut y avoir 2 fronts montants simultanés, c’est même sur ce principe que ça fonctionne.
Le procédé est simple, la première entrée qui passe à un déclenche une interruption qui va lire l’autre entrée.
Son état va déterminer le sens de rotation donc incrément ou décrément.
Enfin, c’est ainsi que je procède, il y a peut être d’autres méthodes.
cdt,
gérard

oh! voilà un sujet que je vais suivre avec attention.
à propos de ces codeurs, moi je m’étais demandé s’il n’y avait pas possibilité de simuler des appuis de boutons, puisque c’est comme ça que fonctionnent tous ces modules que l’on peut trouver sur le marché.
Laurent, avez vous trouvé des modules arduino DAB aussi?

Oui ces codeurs ont un poussoir (utilisable sur la borne SW) :slight_smile: Je n’ai pas encore regardé si il y avait du DAB+, j’expérimente en ce moment, pour voir un peu tout ce qui est possible de faire, ces petits modules permettent de programmer les stations d’un simple bouton, puis ensuite il suffit de faire les programmes, c’est plutot pratique et on peut finalement tout controler avec un codeur mais que dans le sens montant, ce qui est plutot discret. J’expérimente d’autres solutions plus tard :smile:

Il existe une variété de codeur incrémental qui peut remplacer deux boutons poussoirs codeur.pdf (125,8 Ko)
Modèle EC11EH
Mais il faut inverser le signal.
Cdt,
Gérard

Merci gérard, je vais regarder ça. sinon, j’avais pensé remplacer le potentiomètre par un commutateur type joystick. ça ne tournerait plus, mais l’essentiel est de préserver l’aspect initial du poste :wink:

Si vous souhaitez absolument utiliser un contacteur rotatif, mettez un processeur en coupure (n’importe quoi pourvu qu’il ait assez de GPIO. A priori, une dizaine). Ensuite, vous générez des signaux simulant des appuis sur des poussoirs en fonction de la rotation du contacteur. On doit joyeusement s’en tirer pour 3 ou 4€. Bien sur, il faut faire un peu de programmation.