Bonjour à tout le monde
Je viens de faire l'acquisition d'un potentiomètre rotatif sans fin que j'ai connecté à un Eobody sensor box, avec pour objectif : faire un patch qui réponde à l'objectif suivant ----> plus je tourne vite l'axe du potentiomètre (relié par exemple à la manivelle d'un vieux moulin à café) et plus je fais varier la vitesse, le pitch, d'un fichier audio ; et lorsque je tourne dans le sens inverse le fichier est lu à l'envers. Mais je n'y arrive pas...
Quelqu'un aurait-il déjà fait ce genre de chose s'il vous plaît ? Sur quelles bases dois-je partir?
je vous remercie infiniment pour votre aide.
Cordialement
Denis
Dernière modification par zined (2012-05-24 23:59:44)
Hors ligne
potentiomètre infini ne signifie pas valeur infinie^^
Donc déja il faut prendre en compte cela.
Ensuite il te faudra trois valeurs de stockage pour les valeur de ton potar , une t, une a t-1, une a t-2.
Pourauoi 3 ? parce que quand tu passeras de ta valeur max a ta valeur minimale ( que tu auras fait un tour complet ) il verra t<t-1, donc il ira en arrière, or si t<t-1 et t-1>t-2, la il verra que tu vas toujours dans un sens positif, par contre si t>t-1 et t-1<t-2 il comprendra que tu recules toujours. bien sur t>t-1 et t-1>t-2, sera sens positif, au contraire de t<t-1 et t-1<t-2 sera lui le sens négatif.
Ensuite si tu souhaites que ta vitesse dependent de la vitesse de ton mouvement, il faudra te baser sur l'écart entre les valeur. D(t,t-1)= vitesse de rotation.
Désolé je ne code pas en max, donc je ne pourrais pas t'aider pour écrire ton code.
Bon courage
Hors ligne
Merci merci les copains d'accepter ainsi de me venir en aide. Je n'ai pas la possibilité de me mettre sur ce patch ce matin, mais dès que je peux je me penche sur vos indications et je réponds à vos questions.
Encore merci et à plus tard
Cordialement
Denis
Hors ligne
comme dit cgiles il te faut calculer le delta entre 2 valeurs.
ensuite pour les 3 valeurs au lieu de 2, ca dépend des données que t'envoie ton controller.
le mien (excellent Doepfer PocketDial) m'envoie des valeurs entre 64 et 69 (selon la vitesse) ou 64 et 59 (si je tourne en sens contraire).
par exemple, si je tourne un bouton vers la droite le moins vite possible, je recois 65, 65, 65, 65. si je tourne tr~es vite: 69, 69, 69, 69, 69, etc.
j'avais une abstraction pour max il y a 4 ou 5 ans mais je n'utilise plus max et je l'ai perdue...
good luck
y
Hors ligne
{yv} a écrit:
comme dit cgiles il te faut calculer le delta entre 2 valeurs.
Je ne sais pas ce qu'est le delta et comment cela se calcule
Merci
Denis
Hors ligne
Bonjour à tous,
Ma question n'est pas directement liée à Max mais aux capteurs rotatifs infinis.
J'utilise un potentiomètres rotatif infini brancher sur un eobody première génération et à l'approche du passage à zéro les valeurs relevées sont erratiques (surtout si je tourne lentement) comme par exemple celles ci-dessous que je viens de relever alors que je tourne toujours le potentiomètre dans le même sens.
Dans le sens inverse des aiguilles d'une montre:
120 121 122 123 124 126 127 122 117 75 69 55 33 32 28 16 7 4 0 1 2 3 4 5 6 7 9
Dans le sens des aiguilles d'une montre:
8 7 6 5 4 3 2 1 0 6 10 20 31 37 47 57 69 71 75 91 85 108 117 124 108 122 123 121 126 127 126 125 124 123 122 121 120 119 120
Et encore, j'ai filtré les valeurs qui toutes se répètent systématiquement. Dans ces exemples la valeurs 0 est émise, ce qui n'est pas toujours le cas.
Savez-vous si c'est inhérent à la technologie de ces potentiomètre rotatif infinis? En connaissez vous éventuellement de plus fiables que ceux que j'utilise?
Merci!
Hors ligne
Bonjour Tom, et merci pour ta contribution, c'est sympa.
Tom Javel a écrit:
Delta : il s'agit (grosso-modo) de la différence entre deux valeurs consécutives à un instant t.
Pratique et simple pour savoir si un flux "monte" ou "descend", "rapidement" ou "lentement" ...
Que faut-il insérer dans le patch pour connaître cette différence entre deux valeurs à un instant t.... un metro ?
Encore merci
Cordialement
Denis
Hors ligne
zined a écrit:
Que faut-il insérer dans le patch pour connaître cette différence entre deux valeurs à un instant t.... un metro ?
pour ceux qui ont pas max, voilà un exemple de comment calculer un delta entre 2 valeurs:
y
Hors ligne
Il y a plusieurs types d'encodeurs rotatifs/ à quadrature. Quel type as tu ? Il est mécanique, optique, magnétique ? Il sort en numérique, avec des impulsions, des niveaux en créneaux (avec 5 pins) ? Tu as la référence du composant ?
Par exemple : http://www.alps.com/WebObjects/catalog. … list1.html
Tu es sûr de la liaison entre ton encodeur et ton bidule électronique ? Tu as trouvé des gens qui ont fait la même chose ?
Avec un arduino, j'aurais pu t'aider un peu plus, mais là je ne connais pas le "Eobody sensor box". Désolé.
Hors ligne
Sous-doué comme je suis, même si j'essaie de me soigner (n'est-ce pas flux ? !!!!! )il va bien me falloir au moins 15 jours pour essayer toutes vos propositions, et surtout les comprendre.
Je vous remercie beaucoup pour votre envie de m'aider.
PS : pob, je crois bien que flux a ce type de potentiomètre http://www.interface-z.com/pronfiture/c … atifs.html.... mais dans une version plus ancienne.
Hors ligne
OK, c'est donc un véritable potentiomètre sans fin de course et on mesure en analogique.
Donc il faut comparer la valeur précédente à la suivante en imaginant que la vitesse ne puisse pas dépasser une certaine limite en fonction de la fréquence à laquelle tu lis les valeurs. Ton interface ne sait pas a priori dans quel sens tourne ton potentiomètre, s'il tourne de la moitié d'un tour entre deux mesures comment savoir de quel côté il est parti ? Voire même le nombre de tours effectués. (la remarque vaut pour n'importe quel angle de rotation).
C'est une petite équation à écrire et il y a des failles possibles.
Mais, il me semble que pour ce que tu veux faire, un encodeur rotatif serait bien plus facile à mettre ne œuvre. Tu fais deux montage pull-up (ou pull-down) que tu relies aux entrées IRQ0 (pin D2) et IRQ1 (pinD3) d'un Arduino, tu écris un tout petit programme qui compte le nombre d'impulsions par les interruptions et qui envoi l'info toutes les 20ms et puis voilà. Il peut-être nécessaire de faire des debounce avec une paire de capacités si c'est un peu trop erratique.
La mesure analogique ne sert pas trop à ce que tu veux faire. C'est plus pour connaître un angle à un instant donné que pour connaître un vitesse.
Perso je pense que je ne mettrais pas l'axe de la manivelle directement sur l'axe du potard. - Si possible un galet qui est entrainé par la manivelle (courroie ou engrenage ou friction). Ca évitera des efforts sur l'axe qui n'est sans doute pas prévu pour trop d'effort.
Hors ligne
Merci Pod pour la remarque concernant les précautions mécaniques.
Pour le reste : je suis trop débutant, trop vieux, pas assez intelligent pour comprendre ; mais je vais mettre le nez dans toutes les indications qui m'ont été données ici, dans tous les patchs qui m'ont été proposés, afin de travailler et d'essayer de progresser encore un peu car j'en ai envie.
Je te remercie d'avoir pris de ton temps pour moi, et je te souhaite une très belle semaine
Cordialement
Denis
Hors ligne
Merci pour votre intérêt au problème posé, vos réponses éclairées et les patches proposés.
En fait, ce qui sort de mon potentiomètre rotatif est difficilement exploitable pour une utilisation précise. Avec du filtrage (passe bas et moyennage) je parviens à obtenir quelque chose d'à peu près acceptable qualitativement sur la mesure de la vitesse et du sens de rotation mais dans certaines limites d'utilisation et avec une inertie assez grande.
Tom, j'ai aussi eu l'idée de mesurer l'angle mais les valeurs que j'obtiens dans Max en sortie du potentiomètre (c'est un potentiomètre, mécanique je pense, d'interfaceZ et il possède d'ailleurs un peu d'électronique, sans doute pour une première mise en forme des données.), numérisées et converties en MIDI par l'eobody sont parfois erronées et ne le permettent pas de façon fiable. Ce rajoute peut-être aussi d'ailleurs la question du débit en MIDI, car quand je fais un tour rapidement je reçois au mieux 85 valeurs (au lien de 128).
Du coup, après les messages de pob je me suis renseigné sur ce qui existait comme technologie pour des potentiomètres et je pense essayer avec un encodeur optique à quadrature de phase. Comme celui-ci: http://fr.farnell.com/bourns/em14c0d-e2 … dp/1689951
Si vous avez d'autres références je reste preneur.
Tout un monde celui des capteurs!
Hors ligne
Cherche "ALPS rotary encoder", tu vas trouver des choses plus abordables niveau tarif.
Ca par exemple :
http://fr.farnell.com/alps/ec11k1520801 … dp/2065008
Hors ligne
Pages: 1