Bonjour à tous ,
J'ai découverte il y a 3 jours l'existence de cette petite bête qu'est l'arduino
Et c'est une bonne chose pour mon projet que j'ai en tête car des semaines que je me turlupine les neurones pour trouver une solution et voila qu'un ange apparait : ARDUINO.
Voila , je souhaite remplacer un "bouton rotatif infini mécanique" qui permet d'incrémenter ou de décrémenter selon son sens de rotation (normal quoi !)
en cherchant sur le net , j'ai trouvé le rendu visuel du fonctionnement de ce bouton rotatif pour mon installation .
il génère au repos sur une broche un 0v et la seconde un 5v, puis en tournant dans un sens ou l'autre il génère un signal carré déphasé , cela permet de dire à l'électronique derrière dans quel sens il tourne .
voila en gros à quoi cela ressemble : (ça reste un ex trouvé sur le net)
dans un sens en utilisant le front montant , on a un A & B qui se retrouve un 1 et dans l'autre sens B serait à 1 et A à 0 (pour notre exemple)
comme j'ai pas d'oscillo (j'ai commandé un petit mono canal) je peux pas voir le vrai rendu .
mais on sait que :
Si A = 0 & B = 1 ==> cela veut dire on tourne pas au bouton (repos)
je suppose donc :
Si A = 1 & B = 1 alors on doit être dans un sens
et si A = 0 & B = 0 alors on doit tourner dans un sens .
on aurait donc une porte logique au cul du bouton & ( à confirmer )
mon projet avec l'arduino est de passer ce bouton Rot en 2 boutons simple
quand je ferais sur le bouton (-) un appuie cela , via l'arduino, devra décrémenter , si je fais (+) cela incrémentera , si je reste appuyé X secondes sur un des 2 on génère X incrémentation/décrémentation. il faudra ajouter une protection pour si on appuie sur les 2 en même temps qu'il se passe rien sinon problème .
Je doute fortement (litote ) qu'il fonctionne très bien.
A mon avis il y a le même problème de fonctionnement dans ce code.
On le voit sur tes oscillogrammes
il y a un signal lorsque aucun bouton n'est enfoncé alors qu'il ne devrait pas y avoir de signal
les signaux ne sont pas carrés
Dans la simulation on ne peut pas voir la phase des deux signaux (donc impossible de voir si le fonctionnement est correct), mais je doute qu'elle soit correcte.
Bonjour
C'est moi qui suis à l'origine de cette mauvaise hard copy !
j'ai hésité hier , mais le "youtubeur" d'origine n'ayant même pas pris la peine
de faire un lien vers son code , et compte tenu du faible nombre de lignes, j'ai pensé que cela pouvait quand même être utile.
malheureusement l'oscillo du site ne peut prendre en compte qu'un signal
sur mon boitier en repas j'ai 5v sur la broche A et 0v sur la B en permence
si ici on a les 2 même signaux en // normalement il doit rien se passer car en phase (toujours en théorie )
On voit bien que seule la ligne après chaque condition if() est conditionnée, le reste s'exécute inconditionnellement.
Se méfier des codes trouvés sur le WEB. Ce n'est pas parce que c'est publié que le fonctionnement est garanti.