Se connecter
Se connecter

ou
Créer un compte

ou
FR
EN

Contrôleur pour JU-06A

  • 36 réponses
  • 11 participants
  • 2 689 vues
  • 18 followers
Sujet de la discussion Contrôleur pour JU-06A
Bon ben voilà, c'est fini.

Je trouvais que les faders avaient une course un peu trop courte sur le JU-06A. J'ai mis des 100mm. En plus, il manquait un on/off et un réglage pour le Portemento & le choix du type de LFO.

roland-ju-06a-2962295.jpg

roland-ju-06a-2962333.jpg


Le tout avec un Genuino Uno, 1 multiplexer, 15 faders, 2 potars, 1 prise MIDI out, 1 bouton/LED et 1 LED. Un peu de Kapur, du strat teinté dans la masse, du CP et une chiée d'heures de travail.

J'aurai sûrement des petites retouches à faire après. Notamment, je trouve que les boutons des faders ressortent trop. Il faut que je prenne des entretoises.

Si vous avez des questions :bravo:

Xavier
2
Joli!:bravo:

PK crew( à l'abandon) / Mixcloud / 3'ks

En vrai t'es Eddie Barclay avoue :oops2:

3
Merci
4
Beau boulot !

J'ai vu tes posts sur facebook où tu détailles ce que tu as fait.
Je pense qu'il serait intéressant de les publier ici également (moi perso, j'ai beaucoup de mal à retrouver des infos dans la jungle de facebook).

Je réfléchis à me faire une contrôleur midi pour mon Juno Alpha 1 et j'envisageais un peu de faire comme toi : adruino (j'avais vu les vidéos de Nine And Volts, elles sont très bien faites), multiplexeur etc..

Tu me donnes envie de sauter le pas !
5
Bien joué!

Pour recevoir les notes ça te bouffe l'entrée midi par contre?
Ou tu peux envoyer les notes en midi in dans le controleur qui renvoit en thru vers le JU?
6
super boulot ! :8O:
le résultat est magnifique
tu peux détailler davantage ? :aime:
comment as-tu fait pour découper si proprement les ouvertures de fader et avoir un tel rendu de finition sur la face avant ?
7
Je vais vous faire un mode d'emploi. Je pense faire ça demain.

En fait, mon contrôleur sort en MIDI out. Je le branche soit directement sur mon JU-06A si je l'utilise seul ou sur mon interface MIDI et c'est via mon séquenceur que j'enregistre et/ou contrôle mon JU-06A.

Xavier
8
Bon suite à la demande générale, voici comment j’ai fait mon controleur pour mon JU-06A

Je me suis lancé suite à la vision des 3 videos suivantes de Notes & Volts :







Les liens vers les pages correspondantes du site Notes & Volts :

https://www.notesandvolts.com/2016/03/arduino-midi-controller-potentiometers.html

https://www.notesandvolts.com/2016/04/arduino-midi-controller-buttons.html

https://www.notesandvolts.com/2016/07/arduino-midi-controller-multiplexers.html

Pour ceux qui n’ont jamais utilisé un Arduino, je conseile de faire comme moi et d’essayer les projets de Notes & Volts seuls. Ou d’autres projets simple pour voir comment cela fonctionne.

Pour la fabrication, voici les composants que j’ai utilisé :
• 1x Genuine Uno. C’est le même que l’Arduino Uno mais la version Européenne.
• 1x CD74HC4067 16-Channel Analog Digital Multiplexer
• 2x 10KΩ potentiomètre rotatif linéaire
• 15x 10KΩ ALPS RSA0N11 10KΩ fader linéaire
• 1x 12V 4 Pin 12mm Led Push Button Momentary Switch
• 1x 3mm 3V LED

Voici mon shéma électrique :

Pour la connection MIDI de l’Arduino, j’ai utilisé la méthode de Notes & Volts. C’est la même que vous trouverez partout sur le WEB pour sortir les données MIDI d’un Arduino.

Pour brancher mes 15 faders, Je les ai connecté au multiplexer. La borne 2 des faders relié au borne Y1 à Y15. La borne 1 à la masse et la borne 3 au +5V. Attention, si vous visser les faders comme moi depuis la façade, des vis trop longue en métal feront un court circuit entre la borne 1 et 3. J’ai remplacé par des vis en plastique et le problème est résolu. En plus, ça n’a pas bousillé l’Arduino.

Le multiplexer lui même est connecté à la borne A1 de l’Arduino. Et le reste comme sur mon schéma qui suit la méthode de Notes & Volts.

Pour les 2 potentiomètres linéaire, j’ai utilisé une autre méthode. Voici le lien :

https://www.instructables.com/id/Easy-3-Pot-Potentiometer-Arduino-Uno-Effects-Midi-/

La raison est simple, c’est à cause du choix de la forme du LFO. Je n’ai pas compris comment changer pour 1 seul potentiomètre la plage de sélection avec la méthode de Notes & Volts. La lecture des entrées sur l’Arduino se fait en 1024 bits donc pour retrouver une plage de 128 on divise par 8 la lecture de l’entrée analogique. Pour le choix de la forme du LFO, je voulais une plage de 0 à 4. Choisir cette plage quand on est défini de 0 à 127 est une uniquement destiné à l’équipe de M. Phelps ;) C’est pour cela que j’ai utilisé la méthode de instructables. Pour info, le programme de Notes & Volts ce compose de 4 parties :

• Définition des boutons numérique
• Définition des potentiomètres analogique
• Définition des multiplexers de bouton numérique
• Définition des multiplexers de potentiomètre analogique.

J’ai supprimé la partie « Définition des potentiomètres analogique » que j’ai remplacé avec celle de Instructables. Du coup, j’ai défini mes 2 seuls potentiomètres avec 1 sur une plage de 0 à 127 pour la vitesse du Portamento que j’ai branché directement sur l’Arduino à la borne A5 et 1 branché sur la borne A4 en divisant la lecture par 205 pour avoir une plage de 0 à 4.

Pour l’interrupteur du Portamento, je suis resté avec la méthode Notes & Volts. Le bouton lumière de 12V que j’avais en stock est très bien car cela permet d’avoir un LED pas violent. Il y a bornes. 2 pour l’interrupteur et 2 pour l’alimentation du LED. J’ai connecté l’interrupteur à la borne 8 de l’Arduino et à la masse. Pour la lumière du bouton, on peut utiliser cette méthode :

https://forum.arduino.cc/index.php?topic=478762.0

Il y a plein d’autre méthode. Je vous laisse travailler un petit peu. Pareil, faire un peu de montage permet de comprendre comment l’Arduino fonctionne.

J’ai branché le + du LED à la borne 12 et le – au GND. Pas besoin de mettre de résistance car c’est une LED qui est prévu pour du 12V.

Dans le programme de l’Arduino, j’ai ajouté int LED = 12 puis digitalWrite(LED, HIGH) avec MIDI.sendControlChange 127 et LOW avec MIDI.sendControlChange 0.

Je suis presque sûr que si il y avait d’autre bouton, que cela activerait aussi la lumière du bouton protamento. Mais vu qu’il y en a pas d’autre, cela ne me gêne pas.

J’ai aussi mis une LED juste pour savoir si l’Arduino est allumé. J’ai donc mise une LED sur le +5V et le GND. Attention, les LEDs sont alimenté en 3V donc si vous ne mettez pas une résistance en série, la LED va cramer. Le mieux, c’est de tester au voltmètre pour voir combien de volt sort derrière la résistance que vous utlisez. Pour ma part, j’en ai mise une très forte, dans les 50KΩ si je me souvient bien pour avoir une LED faible . C’est juste pour contrôler pas pour éclairer. Je ne sais plus combien j’ai mis et elle est protégée par une gaine thermorétractable donc je ne sais pas combien j’ai mis.

N’attendez pas de retour du site Notes & Volts, il ne réponds pas.

Je referai sûrement l'autocollant de la façade en noir. En ajoutant au LFO les RD1 et RD2. Le RD1 est tout fin de compte super sympa, par contre le RD2 (cherchez pas le 2 qui manque :facepalm:) est peu violent. J'ai directement visser les faders à la façade et ils ressortent de trop. Je viens de commander des entretoises M3 en plastique de 5mm d'épaisseur. Je pense que cela sera nettement mieux.

Au final, la méthode multiplexeur, permet de faire n’importe quel contrôleur MIDI. Il est clair que pour une question pratique et de coût, je pense pas réutiliser des faders mais plutôt des potentiomètre rotatif. Un perçage est plus simple qu’un défonçage.

Je me ferais peut être un pour mon AN1x et mon Vintage Keys. Le souci avec le Vintage Keys c’est qu’il faut le faire en SYSEX. Et le SYSEX d’E-mu est très casse-tête.

Le programme et les photos sont à suivre.

J’espère que cela vous aide et que vous appréciez.

Xavier
9
Donc voici le lien pour le fichier d'origine de Notes & Volts :

https://drive.google.com/file/d/0BwnVMB_6yujwR1dydVJ6MHJib2M/view

Et voici ma partie modifié correspondant au premier onglet :

#include <MIDI.h>
#include "Controller.h"

int val1 = 0;
int lastVal1 = 0;
int val2 = 0;
int lastVal2 = 0;
int LED = 12; //the pin we connect the LED

MIDI_CREATE_DEFAULT_INSTANCE();

//***SET THE NUMBER OF CONTROLS USED**************************
//---How many buttons are connected directly to pins?---------
byte NUMBER_BUTTONS = 1;
//---How many potentiometers are connected to a multiplexer?--
byte NUMBER_MUX_POTS = 15;
//************************************************************

Mux M1(A1, 16, true); //Analog multiplexer on Arduino analog pin A1
//*******************************************************************

//***DEFINE DIRECTLY CONNECTED BUTTONS*******************************
//Button (Pin Number, Command, Note Number, Channel, Debounce Time)
//** Command parameter 0=NOTE 1=CC 2=Toggle CC **

Button BU8(8, 2, 65, 1, 5 );
//*******************************************************************
//Add buttons used to array below like this-> Button *BUTTONS[] {&BU1, &BU2, &BU3, &BU4, &BU5, &BU6, &BU7, &BU8};
Button *BUTTONS[] {&BU8};
//*******************************************************************


//***DEFINE POTENTIOMETERS CONNECTED TO MULTIPLEXER*******************
//Pot::Pot(Mux mux, byte muxpin, byte command, byte control, byte channel)
//**Command parameter is for future use**

Pot MPO1(M1, 1, 0, 13, 1);
Pot MPO2(M1, 2, 0, 14, 1);
Pot MPO3(M1, 3, 0, 18, 1);
Pot MPO4(M1, 4, 0, 20, 1);
Pot MPO5(M1, 5, 0, 74, 1);
Pot MPO6(M1, 6, 0, 71, 1);
Pot MPO7(M1, 7, 0, 22, 1);
Pot MPO8(M1, 8, 0, 23, 1);
Pot MPO9(M1, 9, 0, 24, 1);
Pot MPO10(M1, 10, 0, 26, 1);
Pot MPO11(M1, 11, 0, 73, 1);
Pot MPO12(M1, 12, 0, 75, 1);
Pot MPO13(M1, 13, 0, 27, 1);
Pot MPO14(M1, 14, 0, 72, 1);
Pot MPO15(M1, 15, 0, 3, 1);
//Pot MPO16(M1, 0, 0, 55, 1);
//*******************************************************************
//Add multiplexed pots used to array below like this-> Pot *MUXPOTS[] {&MPO1, &MPO2, &MPO3, &MPO4, &MPO5, &MPO6, &MPO7, &MPO8, &MPO9, &MPO10, &MPO11, &MPO12, &MPO13, &MPO14, &MPO15};
Pot *MUXPOTS[] {&MPO1, &MPO2, &MPO3, &MPO4, &MPO5, &MPO6, &MPO7, &MPO8, &MPO9, &MPO10, &MPO11, &MPO12, &MPO13, &MPO14, &MPO15};
//*******************************************************************


void setup() {
MIDI.begin(MIDI_CHANNEL_OFF);
pinMode(LED, OUTPUT); //set the LED pin as OUTPUT
}

void loop() {
if (NUMBER_BUTTONS != 0) updateButtons();
if (NUMBER_MUX_POTS != 0) updateMuxPots();
val1 = analogRead(4)/8; // Divide by 8 to get range of 0-127 for midi
if (val1 != lastVal1) // If the value does not = the last value the following command is made.
{
MIDI.sendControlChange(5,val1,1);} // 176 = CC command, 1 = Which Control, val = value read from Potentionmeter
lastVal1 = val1;

val2 = analogRead(5)/205; // Control point 2
if (val2 != lastVal2)
{
MIDI.sendControlChange(29,val2,1);}
lastVal2 = val2;
}

//*****************************************************************
void updateButtons() {

// Cycle through Button array
for (int i = 0; i < NUMBER_BUTTONS; i = i + 1) {
byte message = BUTTONS->getValue();

// Button is pressed
if (message == 0) {
switch (BUTTONS->Bcommand) {
case 0: //Note
MIDI.sendNoteOn(BUTTONS->Bvalue, 127, BUTTONS->Bchannel);
break;
case 1: //CC
MIDI.sendControlChange(BUTTONS->Bvalue, 127, BUTTONS->Bchannel);
break;
case 2: //Toggle
if (BUTTONS->Btoggle == 0) {
MIDI.sendControlChange(BUTTONS->Bvalue, 127, BUTTONS->Bchannel);
digitalWrite(LED, HIGH); //write 1 or HIGH to led pin
BUTTONS->Btoggle = 1;
}
else if (BUTTONS->Btoggle == 1) {
MIDI.sendControlChange(BUTTONS->Bvalue, 0, BUTTONS->Bchannel);
digitalWrite(LED, LOW); //write 0 or LOW to led pin
BUTTONS->Btoggle = 0;
}
break;
}
}

// Button is not pressed
if (message == 1) {
switch (BUTTONS->Bcommand) {
case 0:
MIDI.sendNoteOff(BUTTONS->Bvalue, 0, BUTTONS->Bchannel);
break;
case 1:
MIDI.sendControlChange(BUTTONS->Bvalue, 0, BUTTONS->Bchannel);
break;
}
}
}
}
//*******************************************************************
void updateMuxPots() {
for (int i = 0; i < NUMBER_MUX_POTS; i = i + 1) {
MUXPOTS->muxUpdate();
byte potmessage = MUXPOTS->getValue();
if (potmessage != 255) MIDI.sendControlChange(MUXPOTS->Pcontrol, potmessage, MUXPOTS->Pchannel);
}
}

Je n'ai rien touché dans les onglets Controller.ccp et Controller.h

Pas cool, il a viré le formatage du texte. Je l'ai ajouté en PDF et il à garder le formatage, donc ça doit être bon :)

Xavier
10
Et les photos.

Le schéma électrique :

roland-ju-06a-2964314.jpg

l'Arduino avec le câblage. Il manque la LED d'allumage et les faders :

roland-ju-06a-2964318.jpg

roland-ju-06a-2964319.jpg

Le berceau :

roland-ju-06a-2964325.jpg

l'Arduino dans la boîte, j'ai mis un carton en dessous car je crains l'humidité du bois. Je sais, c'est du CP :

roland-ju-06a-2964326.jpg

Les faders soudés au spaghetti :

roland-ju-06a-2964350.jpg

Monté sur la façade :

roland-ju-06a-2964356.jpg

Ze final product :

roland-ju-06a-2964363.jpg

Il me reste à expliquer la menuiserie.

Xavier
11
Ouais merci pour la documentation, j'avais aussi fait des test à partir des tutos de notes and volt pour me faire un controleur de volume pour l'octatrack et ça fonctionne nickel.
Le mec nous donne vraiment tout sur un plateau c'est ouf.
12
La menuiserie :

On commence par un peu de dessin.

On dessine le profil à l'arrière du JU-06A

roland-ju-06a-2964436.png

Puis le profil du pupitre

roland-ju-06a-2964437.png

l'ensemble

roland-ju-06a-2964438.png

Après on dessine la façade avec tout l'équipement et les découpe

roland-ju-06a-2964440.png

On vérifie le résultat final

roland-ju-06a-2964442.png

On imprime sur du papier autocollant A4 avec les découpes des trous de perçage pas la peine les trous des faders

roland-ju-06a-2964444.png

Une fois ça de fait, on prend une mèche de 3mm pour défonceuse, on dessine la bague de guide pour dessiner un gabarit de défonçage

roland-ju-06a-2964445.png

Passage maintenant à la menuiserie

On Fixe sur un dessous en CP de 10mm les 4 traverses avec les pentes et les trous de réservation fait.

roland-ju-06a-2964454.jpg

roland-ju-06a-2964455.jpg

Une planche arrière pour supporter le JU-06A avec 2 petits tasseaux de fixation

roland-ju-06a-2964456.jpg

2 Joues usinées à la CN

roland-ju-06a-2964457.jpg

Un gabarit pour défonceuse usiné également à la CN

roland-ju-06a-2964458.jpg

Une façade en stratifié teinté dans la masse de 1,2mm usiné aussi à la CN

roland-ju-06a-2964459.jpg

Puis je me guide avec mes trous de fait sur le gabarit (dessus) et ma façade (dessous) pour positionner celle-ci.

je défonce chaque trous linéaire pour obtenir

roland-ju-06a-2964463.jpg

Dans la feuille autocollant A4, je perce quelques trou pour positionner l'autocollant sur la façade avant de le coller

roland-ju-06a-2964478.jpg

roland-ju-06a-2964480.jpg

Puis avec un Dremel, je défonce les trous de papier avec une meule en pointe arrondi

roland-ju-06a-2964497.jpg

C'est tout simple, non ? :mdr:

X
13
Une chose importante concernant l'Arduino. On ne peut pas récupérer le programme qui a été téléchargé sur celui-ci. Donc pensez à garder toujours le programme si vous voulez le modifier ou autre.

Xavier
14
je suis sur le cul :8O:
Xavier, tu es un génie... :bravo:
15
tu te rends compte que tu pourrais potentiellement faire la même chose pour le d-05 (lui aussi dans les Roland Boutique), et rendre cette machine potentiellement beaucoup moins pénible :facepalm: à programmer ?
16
Ou tout simplement programmable :mrg: Un contrôleur D-05 accessible serait top.

Quant au projet xavierbzh, je suis impressionné, quel boulot et super résultat !!!
17
Merci, je suis assez content de moi.

J'ai partagé pour vous motiver. Pour la partie menuiserie, vous êtes pas obligé de faire poussé autant que moi. Au final, il y a la satisfaction de faire ça, moi même.

Pour le coût, un Arduino coût environ 25€. C'est clair que j'ai douillé pour les faders. 1 à 7,10€ c'est pas la même chose que 15. C'est ça le gros budget. Mettre des potentiomètre rotatif reste moins cher. Pour avoir une grande course, suffit de mettre des gros boutons sauf que ça prends de la place.

J'ai aussi fait un petit contrôleur avec un joystick et 2 potentiomètre. Là, ça emmène pas loin.

Je vous conseil de regarder tout ce que l'on peut faire avec un Arduino, c'est vraiment génial.

Xavier
18
excellentes infos Xavier, c'est clair que ça motive !
tu as des liens vers tes autres réalisations ?
tu pense que ce serait jouable sur des vieux synthés en SYSEX ?
19
hello,
j'aime ce genre de réalisation , trés beau boulot, pour info , un programateur pour le d 05 existe
tout rikiki mais il existe
https://www.thomann.fr/dtronics_dt_01.htm?glp=1&gclid=CjwKCAjw7-P1BRA2EiwAXoPWAzCe3iu-NDSmFoM8Yfz7mYVTIln3cQIxnD7AyMDxwFPZp1ZxLqy2KRoC4lsQAvD_BwE

http://griere-franck.e-monsite.com/pages/nos-produits.html

 

 

https://soundcloud.com/franck-gri-re

20
En plus de tripler la taille du JU06A tu as aussi doublé son prix ?
C'est une jolie réalisation mais je trouve qu'on perd l'aspect gain place !
Sur les originaux les sliders c'est du 60mm, 100 mm c'est un peu grand quand même !
21
Non, j'ai payé que l'électronique :

• 1 Genuino Uno que j'avais en stock, 25€ + 5 € de port si je me souvient bien.
• 15 faders ALPS à 119,1€ avec port
• 1 lot de 20 boutons de fader pour 11,8€
• 2 potentiomètres, à 2€ chaque
• 1 lot de 5 boutons de potentiomètre à 3€
• 1 bouton avec LED intégré à 3,35

On peut dire un total en électronique de 178€, sachant que j'avais tout en stock sauf les faders. c'est vraiment ça le gros du budget.

Je cherchez pas le gain de place mais le confort d'utilisation avec les plages de réglage les plus grandes possible.

Pareil, je ne cherchais pas à faire à l'identique de l'original. C'était dans le style :)

Xavier
22
Citation de markspiler :
hello,
j'aime ce genre de réalisation , trés beau boulot, pour info , un programateur pour le d 05 existe
tout rikiki mais il existe
https://www.thomann.fr/dtronics_dt_01.htm?glp=1&gclid=CjwKCAjw7-P1BRA2EiwAXoPWAzCe3iu-NDSmFoM8Yfz7mYVTIln3cQIxnD7AyMDxwFPZp1ZxLqy2KRoC4lsQAvD_BwE


Il est tout à fait possible de faire une version avec les mêmes bases que moi avec des boutons de potentiomètre plus grand type :

roland-ju-06a-2966501.jpg

Là on est qaund même à Ø3cm. Plus ça sera, et plus on aura une précision mais ça prends de la place.

Mesurer, à la limite tracé sur un carton pour ce rendre compte. Ou dessiné dans un petit logiciel et imprimer à l'échelle une pour voir.

Xavier
23
Bravo et flag! Je vais essayer de le faire avec un uno R3 générique.

Si vous êtes à Saint-Ouen ou nord de paris, il me reste plein de boutons de potards (surtout pour des axes en forme de D, dia 6mm et dia 2.5mm) et de faders sauvés de consoles fichues, mp si besoin
24
25
Non, comme tu dis. Après, si tu prends des plus petits, les prix seront plus bas. Des 6cm seront forcément moins cher. Les ALPS sont a priori ce qu'il y a de mieux. Chacun voit midi à sa porte, si tu pars sur des potentiomètre, ça sera moins cher sauf que si tu prends des gros boutons, ça va vite monter :)

Pareil, j'ai pris 15 faders. Tu en prends 4 ça fait moins cher. Pas obligé de les prendre tous en même temps. Peut aussi panacher avec des potentiomètres.

J'ai fait l'impasse sur 2, noise et delai du LFO, sachant que je les ai toujours sur la façade du JU-06A. Il y avait aussi le problème de place. 16 l'un à côté de l'autre, ça commence à faire serré. Je suis resté comme base, la largeur de 300mm du JU-06A. Vu qu'après, je me suis dit qu'une sélection de la forme d'onde du LFO sans avoir à passer par le sous menu serait bien, j'ai fait une ligne supplémentaire avec le LFO à l'horizontal. Du coup, j'ai 14 fader l'un à côté de l'autre c'est cool. Puis ajouté la partie Portamento toujours sur la ligne horizontale serait bien, ce qui évite aussi les sous menu.

Certain pourrait vouloir par exemple un bouton de potentiomètre de 5cm de diamètre pour le filtre, qui peut être plus pratique qu'un fader. par exemple, là j'en ai 2 :

image.php

l'autre chose, 15 fader m'a laissé sur 1 mulitplexer au lieu de 2. Sur mon Arduino, je peux encore en connecter 3. Vu que c'était une première. 1 reste raisonnable. Les faders, c'était pour rester dans l'esprit du Juno.

Xavier