Arduino personnalisé MIDI Controller (10 / 14 étapes)

Étape 10 : Hey, qu’en est-il des encodeurs rotatifs ?

Sur les encodeurs rotatifs

Potentiomètres et faders sont parfaits pour le contrôle des volumes et des fréquences, mais parfois vous vous trouvez dans le besoin de quelque chose qui peut se transformer pour toujours, donc vous pouvez faire défiler vos playlists, ou peut-être vous êtes un DJ et vous souhaitez ajouter des jog-wheels à la manette pour gratter. C’est alors encodeurs rotatifs viennent dans.

Ils peuvent ressembler à un potentiomètre, mais il y a 3 grandes différences :

  1. Un encodeur rotatif peut se transformer pour toujours, alors qu’un potentiomètre a une plage fixe (généralement autour de 270°).
  2. Un encodeur rotatif envoie des signaux numériques, tandis qu’un potentiomètre « sorties » de tensions analogiques.
  3. Un encodeur rotatif envoie des messages relatifs, alors qu’un potentiomètre rapporte son angle absolu.

Décodage d’un encodeur rotatif

Avant on peut les utiliser, nous devons d’abord comprendre comment ils fonctionnent. Il y a un long document dans l' Arduino Playground, mais je vais essayer de donner une explication rapide.

Un encodeur rotatif se compose essentiellement de deux interrupteurs. Lorsqu’elle est activée, les deux broches de ces interrupteurs (A & B) seront connectés et déconnectés de l’axe commun (C). (Voir image 1, crédit : RobotRoom)
Il en résulte deux ondes carrées. Ces ondes carrées sont identiques, mais le timing est différent. Nous disons qu’ils sont 90° hors phase : la deuxième vague commence son cycle lorsque la première vague est à 1/4 de son cycle. (90° est 1/4 d’un 360° complet, d'où le « 90° hors de phase ». A et B sont aussi appelés "quadrature sorties", parce qu’ils sont un « quartier » hors phase.)

Jetez un oeil à la seconde image (source : Arduino Playground). Supposons que nous passons l’encodeur dans le sens horaire (CW sur l’image). Chaque fois que le signal A Monte, (ligne verticale rouge) le signal B est élevé, et chaque fois que le signal A tombe (ligne verte), le signal B est faible. Imaginez maintenant le tournant vers la gauche (CCW). Maintenant, chaque fois que le signal A Monte (ligne verte), le signal B est faible, et chaque fois que le signal A tombe (ligne rouge), le signal B est élevé. Donc, en vérifiant la valeur de B lorsque la valeur A change, nous savons quelle direction l’arbre va. Cela vaut également pour les modifications du canal B. En comptant les impulsions, nous savons combien nous tourner.

Parce que vérifier pin A et B dans la boucle de notre croquis serait trop lent s’il y a d’autres choses en cours d’exécution aussi bien, et nous ne voulons pas manquer n’importe quel changement d’eux, nous utilisons des interruptions. Voici quelques grandes pages sur les interruptions : la Arduino référence, site de Nick Gammonet du chapitre 11 dans le Atmel Datasheet (Uno ou Leonardo).

Interruptions sont, autrement dit, les parties de votre code qui exécutera seulement quand quelque chose se déclenche, comme un changement de NIP. La boucle principale est interrompue, et le rapport de recherche internationale ou Interrupt Service Routine est appelée. C’est beaucoup plus complexe que cela, mais il est impossible d’expliquer dans un Instructable. De toute façon, si nous accordons une interruption aux broches de la molette, nous pouvons nous assurer que nous ne manquez aucun changement de NIP, peu importe ce qui se passe dans les autres parties de notre code. Vous pouvez en savoir plus à ce sujet dans les liens précédents, mais nous ne serons pas inquiétantes pour beaucoup sur les interruptions, étant donné que nous allons utiliser la bibliothèque de codeurs d’achetantqui gère pour nous.

Il existe deux types de codeurs rotatifs : mécaniques et optiques. La première image est une mécanique : il est de type statique et une pièce mobile de métal, et ils font ou raccords de freins. Le deuxième type est un encodeur optique : il y a deux faisceaux de lumière (surtout infrarouge), et un disque rotatif avec dents interrompt le disque. Si la distance entre les poutres est le bon ratio par rapport à la largeur des dents, leurs ondes carrées seront 90° hors de phase. Il y a un exemple en image 3 (source : Kawasaki Heavy Industries). Il est également possible d’avoir deux anneaux des fentes, qui sont déjà en cours de droit sur le disque.

Il y a un problème avec les codeurs mécaniques, et c’est dû au fait que la connexion n’est jamais parfaite. Vous pouvez avoir des petits épis lors de connexion / déconnexion, et l’Arduino également détecter ceux et nous donnent de mauvaises lectures. Une solution simple consiste à ajouter deux condensateurs de 100nF entre nos sorties A et B et le sol.

Articles Liés

Interface Arduino USB MIDI

Interface Arduino USB MIDI

Il y a quelques semaines j'ai commencé à travailler sur un contrôleur MIDI en utilisant Arduino et ATmega32. Je n'ai pas rempli prévu encore. Il est en cours d'élaboration.Vous pouvez lire l'ensemble histoire ici http://openhardware.ro/arduino-usb-mi
Arcade bouton MIDI Controller

Arcade bouton MIDI Controller

ayant une interface matérielle de votre musique préférée / DJ / logiciels VJ peut vraiment ouvrir portes dans votre créativité. La forme la plus répandue de contrôle matériel sur votre PC pour de telles applications est un MIDI controller.Un contrôle
Il dessiner vous-même - MIDI controller avec encre conductrice

Il dessiner vous-même - MIDI controller avec encre conductrice

'Draw It Yourself' est un contrôleur MIDI qui utilise une encre conductrice comme boutons. Il est basé sur l'Arduino et utilise un capteur capacitif (deux, en fait) pour déterminer si les boutons dessinés sont être touchés ou non.http://sanidanz.tumb
Arduino MIDI Controller

Arduino MIDI Controller

Un contrôleur MIDI est toute pièce d'équipement qui génère et transmet les données MIDI aux périphériques compatibles MIDI. En bref, si vous avez des boutons de votre contrôleur MIDI, vous pouvez programmer ces boutons à n'importe quel son que vous s
Construire une base Midi Controller partie 1 - 3 facile Pot (potentiomètre) Arduino Uno effets Midi Controller (série-USB)... Rapide, facile et bon marché !

Construire une base Midi Controller partie 1 - 3 facile Pot (potentiomètre) Arduino Uno effets Midi Controller (série-USB)... Rapide, facile et bon marché !

Bonjour à tous,Je suis relativement nouveau sur Arduino et donc ont dû faire face à ma façon de faire mes propres contrôleurs midi. Il y a une quantité énorme d'informations pointillées autour, mais je ne pouvais pas trouver un tutoriel simple pour u
SugarCube MIDI Controller

SugarCube MIDI Controller

Ce projet est un contrôleur MIDI portable, Arduino-powered, basé sur une grille qui démarre dans une variété d'applications à faire beaucoup de choses avec le son. Il a 16 boutons rétro-éclairés, utilisés comme les entrées et les sorties de donner au
Faire votre propre Arduino personnalisé compatible

Faire votre propre Arduino personnalisé compatible

j'aime Ardunio. J'aime les choses que les gens font avec eux et j'aime faire mes propres. En août dernier que j'ai publié une Instructable comment faire votre propre timbre-poste de taille compatible Arduino. Cet Instructable va vous montrer comment
Synthé bricolage + MIDI controller

Synthé bricolage + MIDI controller

Vous voulez être en mesure de contrôler votre Synthétiseur bricolage avec le MIDI ?Jouer avec un clavier ou de séquence il dans votre logiciel d'édition Audio préféré ?Étape 1: Ce que vous devezMatériel1 x Kit de bricolage synthé1 x Arduino Uno1 câbl
Shield Arduino personnalisé et capteurs

Shield Arduino personnalisé et capteurs

Vue d'ensemble :Cette instructable construira une série de modules de capteur personnalisé et un bouclier d'Arduino. Ces modules sont disponibles de nombreuses sources différentes, mais les fans du site Instructables trouverait probablement satisfact
Contrôle de Cubase avec Arduino basé à MIDI

Contrôle de Cubase avec Arduino basé à MIDI

Un de mes amis voulait contrôler Cubase, son logiciel d'enregistrement audio, avec un bouton poussoir afin qu'il puisse arrêter et démarrer des enregistrements à distance sans avoir à passer à l'ordinateur et tapez sur le clavier. Vous pouvez être ca
Arduino Wii Nunchuck controller

Arduino Wii Nunchuck controller

Comment faire pour commander 2 servos pensé le nunchuck wii.Étape 1: pièces Wii nunchuckArduino2 servoCarte de prototypageFils de raccordementÉtape 2: se connecter Brancher le nunchuck wii comme ce schéma.Étape 3: Télécharger le CodeÉtape 4: fait!!!
3 axe Arduino Based CNC Controller

3 axe Arduino Based CNC Controller

j'ai joué avec différentes conceptions CNC et des contrôleurs de moteurs pas à pas depuis de nombreuses années. J'ai commencé à construire des machines CNC il y a longtemps. Mon premier jet d'inspiration provenait d'eggbot de Bruce Shapiro. J'ai essa
Arduino personnalisé Micro Quadcopter Concept

Arduino personnalisé Micro Quadcopter Concept

modifier le 14 avril : Désolé les gars pour l'entrée tardive. vie a été très agitée ces derniers temps pour moi puisque nous avons dû remplacer un tuyau d'égout enterré dans notre maison est située sur la dalle de béton. Mais nous avons fait des prog
Arduino Bureau Fan Controller

Arduino Bureau Fan Controller

Quand j'ai changé récemment les rôles au sein de la société, je me suis déplacé à sites, passant de Bradford à notre siège social à Wakefield. Je l'ai dit au revoir à mon bureau vieux fidèle avec doit avoir ventilateur de bureau pour me garder cool a