Contrôleur au pied MIDI Arduino : 12 étapes
Contrôleur au pied MIDI Arduino : 12 étapes
Anonim
Contrôleur au pied MIDI Arduino
Contrôleur au pied MIDI Arduino

J'ai récemment conçu ce contrôleur MIDI pour faire fonctionner le boucleur de phrases intégré à la pédale de délai Boss DD500. Je contrôle l'ensemble de mon rig de guitare à l'aide d'une carte MIDI Behringer FCB, ce qui me permet de changer de patch sur la pédale de délai dans la boucle d'effets, tout en changeant de canal d'ampli en même temps.

Le DD500 a une fonction de looper très basique intégrée mais l'un des inconvénients de celui-ci est que lorsque le looper est actif, il est contrôlé par les commutateurs au pied de la pédale. Cela signifie que vous ne pouvez pas changer de patch sur la pédale pendant que la boucle est active, car elle capture essentiellement les fonctions des commutateurs au pied. Comme j'utilise le MIDI, cette limitation n'existe pas, car il s'agit simplement d'un problème physique. Cela signifiait cependant réserver 5 commutateurs au pied sur mon contrôleur MIDI principal pour le looper, et j'ai donc décidé de construire un contrôleur séparé pour ceux-ci.

Mon plan initial pour cela était de prendre un petit boîtier Hammond et d'y mettre 5 pédales et de m'apprendre quelques bases de codage Arduino. Au fur et à mesure que je commençais à en apprendre davantage et que mon code fonctionnait, cela a fini par me motiver à essayer plus de choses, puis cela a fait boule de neige en quelque chose de plus grand.

Étape 1: Concepts

notions
notions
notions
notions

L'une des premières idées était de n'avoir que 5 boutons d'affilée avec des LED d'état. C'était assez simple à simuler sur une planche à pain avec l'Arduino. L'ajout de nouvelles fonctionnalités et de nouveaux matériels a fini par être un processus dans lequel je concevais et redessinais constamment la mise en page physique sur papier et en m'appuyant sur le projet de maquette. Même avec beaucoup de planification, une grande partie du travail a été faite à la volée au début.

Les 2 images ci-dessus montrent le tout premier dessin que j'ai écrit sur papier, qui a lancé l'idée en premier lieu, suivi d'un mois de notes prises à la suite de celles qui ont façonné les dispositions physiques et PCB.

Étape 2: Prototypage de la planche à pain

Prototypage de planche à pain
Prototypage de planche à pain
Prototypage de planche à pain
Prototypage de planche à pain

L'ensemble du projet a été construit sur une maquette et entièrement testé pour s'assurer qu'il fonctionnait pleinement avec le DD500 avant que tout travail ne commence pour le loger de façon permanente. Certaines fonctionnalités supplémentaires ont été ajoutées dans le code, ce qui a donné au contrôleur des fonctions supplémentaires qui manquaient au DD500. Ceux-ci seront discutés plus en détail dans la section code.

La pédale dispose de 5 commutateurs au pied, de 4 LED d'état, de 5 écrans LCD I2C et est contrôlée par un Arduino Nano Every. Il est alimenté par un bloc d'alimentation pour pédale de guitare 9V au moyen d'une boîte de dérivation séparée qui transporte cette alimentation via le câble MIDI à l'aide des 2 broches qui ne sont normalement pas utilisées sur un connecteur MIDI.

Étape 3: fabrication

Fabrication
Fabrication
Fabrication
Fabrication
Fabrication
Fabrication

J'ai examiné de nombreux cas possibles pour héberger le projet, et j'ai même envisagé l'idée d'essayer de plier mon propre cas à partir de feuilles d'aluminium. Finalement j'ai opté pour un boîtier Hammond qui était juste assez large pour loger les 5 écrans LCD 16X2 que j'avais choisis.

Les commutateurs au pied étaient des commutateurs génériques à toucher doux momentanés.

À ce stade, j'ai décidé de faire fabriquer des cadres d'écran sur mesure pour garder l'avant propre, car je découperais les trous de l'écran à la main avec un Dremel et je savais qu'il y aurait probablement quelques zones qui seraient moins que parfaites. Je les ai fait découper par un studio de design local qui fait de la découpe au laser, d'abord sous forme de gabarits en carton pour m'assurer que mes tailles étaient toutes correctes, puis en acrylique blanc de 3 mm pour la pièce finale.

Étape 4: Maquette et mise en page CAO

Maquette et mise en page CAO
Maquette et mise en page CAO
Maquette et mise en page CAO
Maquette et mise en page CAO

À partir de mes croquis papier, j'ai utilisé Inkscape pour disposer tous les composants physiques et finaliser les tailles et les positions. J'ai également proposé la méthode de montage de l'écran à ce stade. Afin de minimiser la quantité de boulons visibles à l'avant, j'ai décidé de monter tous les écrans sur des plaques d'aluminium par l'arrière à l'aide d'entretoises, puis je n'aurais besoin que de 4 boulons par plaque pour les fixer au boîtier, ce qui tiendrait également les cadres de l'écran en place.

Étape 5: Conception de PCB

Conception de circuits imprimés
Conception de circuits imprimés
Conception de circuits imprimés
Conception de circuits imprimés
Conception de circuits imprimés
Conception de circuits imprimés
Conception de circuits imprimés
Conception de circuits imprimés

Pour créer le PCB, j'ai utilisé un site Web appelé EasyEDA. Il dispose d'un environnement d'édition dans lequel vous pouvez dessiner un schéma de vos composants, le transformer en un schéma de circuit imprimé, puis l'exporter directement vers JLCPCB pour le transformer en cartes. Je n'avais jamais rien fait de tel auparavant, mais ils ont un excellent guide sur le site qui explique comment fonctionne l'éditeur, et en une heure, j'ai fait concevoir et commander le tableau.

Certaines zones de la carte étaient mal conçues à l'époque en raison de l'inexpérience, comme l'utilisation d'un seul rail 5V pour l'alimentation de l'écran, par exemple, plutôt que de donner à chacun une alimentation séparée. Heureusement, les chutes de tension qui se sont produites n'ont pas suffi à causer des problèmes avec les écrans.

Les planches sont arrivées environ 2 semaines plus tard et ont heureusement fonctionné sans aucun problème.

Étape 6: supports d'écran

Supports d'écran
Supports d'écran
Supports d'écran
Supports d'écran
Supports d'écran
Supports d'écran

Les premières pièces fabriquées étaient les supports d'écran. J'ai utilisé de l'aluminium de 3 mm pour cela et des trous percés pour les entretoises. Les dimensions ont été déterminées en plaçant tout sur le bureau comme je voulais que la pédale finale soit et en mesurant à partir des trous de montage sur les circuits imprimés de l'écran. J'ai également placé les footswitchs avec eux pour obtenir les distances pour ceux-ci.

Une fois tous les trous percés, les écrans ont été montés et leur équerrage a été vérifiée en tenant une règle contre les bords inférieurs plats. Tout s'est aligné jusqu'à présent.

Étape 7: Enceinte

Enceinte
Enceinte
Enceinte
Enceinte
Enceinte
Enceinte

La prochaine étape consistait à modifier le boîtier. Les commutateurs au pied et les LED étaient simples car ils nécessitaient chacun simplement un trou de 12 mm et 5 mm respectivement.

La majeure partie du travail physique a été réalisée lors de la découpe des trous de l'écran. J'ai utilisé un Dremel avec des disques de coupe robustes et diverses limes pour nettoyer les trous par la suite. Cette partie a duré environ 2 heures.

Le boîtier que j'ai utilisé a été conçu à des fins industrielles et a été fabriqué en pliant une seule pièce de métal et en soudant par points les coins. Cela signifiait que certains travaux seraient nécessaires pour nettoyer ces coins en utilisant un mastic de carrosserie pour niveler les points bas et combler les lacunes sur le bord.

À ce stade, l'affaire était complètement amorcée et j'ai tout simulé juste pour voir à quoi cela ressemblerait.

Étape 8: Oh-Oh

Euh-Oh
Euh-Oh
Euh-Oh
Euh-Oh
Euh-Oh
Euh-Oh

Et puis vint la réalisation que malgré toute ma planification et mes mesures, j'avais fait une énorme erreur. J'ai conçu la carte et la disposition du boîtier indépendamment l'un de l'autre. Dans ma tête, la planche s'asseyait presque contre le mur du haut, avec une courte distance derrière elle. Mais il n'y avait absolument aucun moyen que cela puisse s'adapter. Et il n'y avait pas non plus d'espace pour le mettre de côté. Un énorme oubli, mais heureusement que j'ai pu rectifier car il y avait encore un peu d'espace entre les supports d'écran sur le capot arrière du boîtier. Encore quelques trous percés dans les supports d'écran et quelques entretoises, et nous sommes de retour aux affaires, avec juste assez de place pour mettre le couvercle.

Étape 9: peindre

Peindre
Peindre
Peindre
Peindre
Peindre
Peindre

Tout a été à nouveau démonté et le boîtier a été peint en rouge bonbon métallisé, suivi de quelques couches de laque. Le boîtier a été laissé à sécher pendant une semaine, même si j'ai découvert que la laque était encore légèrement molle à ce stade lorsque je construisais tout. Quelques petites zones de la peinture ont été endommagées à cause de cela. Quelque chose que je vise à éviter sur mon prochain projet.

Pendant ce temps, j'avais acheté une imprimante 3D et j'avais décidé de l'utiliser pour fabriquer des rondelles pour les pédales, car celles en nylon que j'avais achetées avaient une horrible teinte jaunâtre et étaient de mauvaise taille.

Étape 10: Câblage

Câblage
Câblage
Câblage
Câblage
Câblage
Câblage
Câblage
Câblage

La dernière partie de l'assemblage physique consistait à tout câbler. Encore une fois, les problèmes avec la conception du boîtier/la conception du PCB sont revenus et certaines des positions d'en-tête sur le PCB impliquaient de croiser beaucoup de fils les uns sur les autres, rendant les choses un peu plus compliquées que je ne l'avais espéré.

Les fils pour les écrans ont été regroupés en ensembles de 4, et à l'aide d'un film thermorétractable et tressé, transformés en une seule pièce.

Étape 11: Code Arduino

Image
Image

En tant que débutant total en codage Arduino, j'apprenais moi-même au fur et à mesure. Le code est probablement l'équivalent en programmation d'un « long chemin autour », mais j'étais heureux qu'il ait fonctionné comme prévu.

Le looper du DD500 a 5 fonctions de base:

  • Boucleur activé/désactivé
  • Enregistrer/Overdub/Lire
  • Lire la boucle enregistrée
  • Arrêter la lecture
  • Effacer la boucle enregistrée

Chacune de ces fonctions a un commutateur au pied correspondant et, à l'exception du bouton d'arrêt, une LED d'état. Les écrans LCD sont également mis à jour avec des informations pertinentes pour indiquer si la pédale est en mode d'enregistrement, de surimpression ou de lecture, ainsi que la fonction que chaque commutateur au pied fera en fonction de ce qui se passe à ce moment-là.

Une autre fonctionnalité que j'ai ajoutée était de garder une trace du nombre de fois où la fonction d'enregistrement/overdub a été activée. Ceci est suivi dans le code en incrémentant un nombre entier, qui s'affiche sur l'écran « tampon », répertoriant le nombre de pistes enregistrées. Bien que le DD500 ne puisse pas effacer des pistes individuelles, je l'ai ajouté simplement comme exercice de codage pour voir si je pouvais le faire fonctionner.

Il semble y avoir un problème de téléchargement de fichiers sur Instructables, et j'ai donc mis une copie du code sur Pastebin à la place à l'adresse:

2 bibliothèques ont été utilisées dans le code:

LiquidCrystal_I2C

Bibliothèque MIDI FortySevenEffects

Étape 12: Conclusion

Conclusion
Conclusion

L'une des plus grandes choses que je retiens de ce projet est que planifier autant que possible à l'avance peut éviter les problèmes potentiels. Les problèmes avec mon montage PCB soulignent l'importance de cela. Garder de bonnes notes est aussi quelque chose que je recommande fortement. Sans eux, j'aurais peut-être rencontré plus de problèmes que moi. Je construis actuellement mon deuxième contrôleur MIDI et cette fois, j'ai fait plus d'efforts pour rationaliser mon code et concevoir mon matériel autour de la façon dont le PCB doit être monté.