Page 3 of 3 FirstFirst 1 2 3
Results 21 to 30 of 30

Thread: DIY MIDI CC Controller w/100mm sliders for under $100

  1. #21
    Join Date
    Sep 2012
    Age
    49
    Posts
    30
    Thanks
    3
    Thanked 0 Times in 0 Posts
    Rep Power
    0
    Sign in to disable this ad
    Quote Originally Posted by Chili View Post
    Are you familiar with how to use the 5-pin MIDI connector for MIDI Out? I've been browsing around the internet and maybe there are specific pins to use. Would I have to write code to change the parameters of the serial ports to match RS485?
    From what I can tell, only the three middle pins are used.

    MIDI Pins

  2. #22
    Join Date
    Jan 2015
    Location
    paradise
    Posts
    4,122
    Thanks
    101
    Thanked 501 Times in 451 Posts
    Rep Power
    7788302
    Bravo (insert hand clapping smiley)
    Very cool.

  3. The Following User Says Thank You to RFR For This Useful Post:


  4. #23
    Join Date
    Jun 2006
    Location
    Austin, Texas
    Posts
    14,186
    Thanks
    43
    Thanked 564 Times in 513 Posts
    Rep Power
    21474863
    Quote Originally Posted by jsbenson View Post
    From what I can tell, only the three middle pins are used.

    MIDI Pins
    Thanks, but I'm sorry, I meant on the Teensy brd. Do you know what needs to be done there?

    If not, no problem. Right now, I'm in an exploratory phase and I can look it up if I get beyond this point.

    I would like to make a foot controller for a DMX lighting controller. I have the Chauvet Obey 40 which has a MIDI In. The foot controller can tell the Obey which scenes or chases to use. It also has a command for blackout. Looks like the Teensy brd would be perfect for this app and I think I can get everything done for less than $50.

    Thanks for starting this thread.

  5. #24
    Join Date
    Sep 2012
    Age
    49
    Posts
    30
    Thanks
    3
    Thanked 0 Times in 0 Posts
    Rep Power
    0
    Quote Originally Posted by Chili View Post
    Thanks, but I'm sorry, I meant on the Teensy brd. Do you know what needs to be done there?

    If not, no problem. Right now, I'm in an exploratory phase and I can look it up if I get beyond this point.

    I would like to make a foot controller for a DMX lighting controller. I have the Chauvet Obey 40 which has a MIDI In. The foot controller can tell the Obey which scenes or chases to use. It also has a command for blackout. Looks like the Teensy brd would be perfect for this app and I think I can get everything done for less than $50.

    Thanks for starting this thread.

    Check this out. It might be a better (and cheaper) solution than using the Teensy board. If it's still not what you're looking for, then I can do a quick write-up on using buttons on the Teensy board. It's pretty simple, especially if you only have a single button.

    DIY TRS to MIDI Cable

  6. #25
    Join Date
    Sep 2012
    Age
    49
    Posts
    30
    Thanks
    3
    Thanked 0 Times in 0 Posts
    Rep Power
    0

    Programming the Teensy board

    Refer to the original article on installing the arduino IDE framework, and the teensy loader app. But use the links below for the current versions, which is what I'm using.


    ----------------------------------------------


    Download arduino IDE 1.8.7 for your OS
    (I downloaded the Arduino Windows Zip file and just unzipped it to my desktop.)

    arduino-download-jpg


    ----------------------------------------------

    Download the TeensyDuino Add-on for the arduino IDE framework.
    Special note on Windows 10 installs - Windows 10 already has the drivers installed. Just click Next when you will see the following page...

    teensy-loader-win-10-jpg


    On this page, browse to where the arduino app is located. I unzipped my arduino folder to the desktop, so my path is "C:/Users/jsben/Desktop/arduino-1.8.7-windows/arduino-1.8.7/".

    teensy-loader-arduino-folder-jpg


    On this page, you're installing all the libraries, so just click "Next"

    teensy-loader-libraries-jpg


    Then Install. On the last page, just click "Done"

    ------------------------------------------------


    Download the Teensy Loader App for your OS, and follow the directions on the page.

    ------------------------------------------------


    More instructions to follow...

  7. #26
    Join Date
    Sep 2012
    Age
    49
    Posts
    30
    Thanks
    3
    Thanked 0 Times in 0 Posts
    Rep Power
    0

    Using the Arduino Application

    With your Teensy board connected via USB, open the arduino app.



    1. From the Tools\Board menu, select "Teensy 3.2/3.1"
      tools-board-jpg

    2. From the Tool\USB Type menu, select "MIDI"
      tools-midi-jpg

    3. From the Tools\Port menu, select your connected device (it'll resemble mine)
      tools-port-jpg


    ---------------------------------------------

    Copy the code below into the blank window


    Code:
    #include <Bounce.h>
    
    ///////////////////////////////////////////////////////////////////////////
    // define how many pots are active up to number of available analog inputs
    #define analogInputs 3
    //////////////////////////////////////////////////////////////////////////
    
    
    // define arrays for input values and lagged input values
    int inputAnalog[analogInputs];
    int iAlag[analogInputs];
    // define array of cc values
    int ccValue[analogInputs];
    // include the ResponsiveAnalogRead library
    #include <ResponsiveAnalogRead.h>
    
    
    ///////////////////////////////////////////////////////////////////////////
    // define pins and cc codes
    const int A_PINS = 3;
    const int ANALOG_PINS[A_PINS] = {A0, A1, A2};
    const int CCID[A_PINS] = {11, 1, 21};
    ///////////////////////////////////////////////////////////////////////////
    
    
    // a data array and a lagged copy to tell when MIDI changes are required
    byte data[A_PINS];
    byte dataLag[A_PINS];
    
    // ititialize the ReponsiveAnalogRead objects
    ResponsiveAnalogRead analog[]{
      ///////////////////////////////////////////////////////////////////////////
      {ANALOG_PINS[0],true},
      {ANALOG_PINS[1],true},
      {ANALOG_PINS[2],true},
      ///////////////////////////////////////////////////////////////////////////
    }; 
    
    // the setup routine runs once when you press reset:
    void setup() {
    // initialize serial communication at 9600 bits per second:
    Serial.begin(9600);
    }
    
    void loop(){
      // update the ResponsiveAnalogRead object every loop
      for (int i=0;i<A_PINS;i++){
        analog[i].update(); 
        // if the repsonsive value has change, print out 'changed'
        if(analog[i].hasChanged()) {
          data[i] = analog[i].getValue()>>3;
          if (data[i] != dataLag[i]){
            dataLag[i] = data[i];
            usbMIDI.sendControlChange(CCID[i], data[i], 1);
          }
        }
      }
    }




    There are only a few areas you'll have to change for your own use. But I've made it fairly easy


    Change this to the number of sliders you have connected to the board
    Code:
    ///////////////////////////////////////////////////////////////////////////
    // define how many pots are active up to number of available analog inputs
    #define analogInputs 3
    //////////////////////////////////////////////////////////////////////////


    A_PINS - Set the number of devices you have connected to the board

    ANALOG_PINS - Set the pins your devices are soldered to on the board. Note, doing something like "const int ANALOG_PINS[A_PINS] = {A1, A4, A7};" is perfectly acceptable, if that's how you have your devices connected to the board

    CCID - This is where you define the MIDI CC code for each slider and/or pan pots. The codes are in the same order as the ANALOG_PINS above, so A0=11, A1=1, and A2=21

    Code:
    ///////////////////////////////////////////////////////////////////////////
    // define pins and cc codes
    const int A_PINS = 3;
    const int ANALOG_PINS[A_PINS] = {A0, A1, A2};
    const int CCID[A_PINS] = {11, 1, 21};
    ///////////////////////////////////////////////////////////////////////////


    This is pretty straight forward. Just use this format for the number of devices you have connected to the board
    Code:
    ///////////////////////////////////////////////////////////////////////////
      {ANALOG_PINS[0],true},
      {ANALOG_PINS[1],true},
      {ANALOG_PINS[2],true},
      ///////////////////////////////////////////////////////////////////////////


    After updating your code, click the arrow button at the top, to write the code to the Teensy board
    execute-jpg


    The little Teensy app will pop up on the screen, and it'll say "REBOOT OK" and then "Press button on Teensy..." Just ignore that. After the code is done, you can close the window. You'll know the code is done from the status window at the bottom of the arduino app. It takes about 10 to 15 seconds to run, and should look something like mine when done...
    done-jpg





    When you're done, and want to save your code, you'll get prompted about needing to save it in it's own folder. Do the obvious thing, and create the folder, and save the file in that folder.



    Hopefully I've explained things thorough enough

  8. #27
    Join Date
    Sep 2012
    Age
    49
    Posts
    30
    Thanks
    3
    Thanked 0 Times in 0 Posts
    Rep Power
    0

    Just a few various pics...

    Here's a pic of the car dash-mat I trimmed down, to keep the unit from sliding around. It stays in place incredibly well, and is lower profile than feet would be. It doesn't cut or slice very well at all, but no one's going to see it anyways. Smooth side of mat goes on the case.

    img_20181125_113457-jpg


    -----------------


    Here's the jack hole (if your inner-child starts to laugh, it's perfectly acceptable ). I didn't bother cutting a square since it won't be seen, especially with the USB cable attached.

    img_20181125_113523-jpg

    img_20181125_113549-jpg

  9. #28
    Join Date
    Sep 2012
    Age
    49
    Posts
    30
    Thanks
    3
    Thanked 0 Times in 0 Posts
    Rep Power
    0

    DAW Setup

    In your DAW preferences, you should see the Teensy MIDI board. This is Sonar...

    preferences-jpg

    ---------------------------


    Select a MIDI track, and make sure either "MIDI Omni" is selected, or the "Teensy Omni" at a minimum.

    midi-inputs-jpg

    ----------------------------


    Start moving the faders. You should see your MIDI input levels rising and falling with the faders...

    selected-midi-track-jpg

    ----------------------------


    If you're not getting a signal, go into the preferences, deselect the Teensy board, and hit Apply. Then, enable the board and Apply. It should be working. If not, we need to make sure the computer is getting any kind of signal.

    Download and install the free app MIDI-OX. This is a great tool for analyzing MIDI devices.

    Note: You have to close your DAW software to run MIDI-OX

    In MIDI-OX, display the "MIDI Status" window, and start moving your faders. You should see some activity on the cc channels you've assigned to your unit. My three are 11-expression, 1-modulation, and 21-used by SpitFire for vibrato. On the top row you'll see values for my three faders. You can use many of the other tools/windows to determine if the controller is transmitting a signal, and what port, if any, it's connected to.

    midi-ox-jpg


    If you're not getting anything here, then go back to the start of the setup, and go through the steps again. If you're able to see, and flash code, to the board in arduino, then you should be seeing something in MIDI-OX.



    Quick note: In Sonar/DAWs, you need to arm the track(s) to record, as apposed to arming "Write" for recording automation. The track uses the MIDI controller as if it were the same as a keyboard. "Automation writing" is to record value changes in the software itself, like riding a fader with the mouse, for instance.

  10. #29
    Join Date
    Jun 2011
    Location
    N.W. Indiana
    Posts
    1,017
    Thanks
    20
    Thanked 16 Times in 15 Posts
    Rep Power
    6963832
    This is going to be fun.
    Wow, now I feel really stupid. Thanks.

  11. #30
    Join Date
    Sep 2012
    Age
    49
    Posts
    30
    Thanks
    3
    Thanked 0 Times in 0 Posts
    Rep Power
    0
    Quote Originally Posted by fuzzsniffvoyage View Post
    This is going to be fun.
    I hear ya. I just ordered a set of the newer sliders for $5.01 ea, as well as a couple more cases. I'm going to rebuild the controller with the faders a little closer together. Plus, I need to make sure the new faders work before updating the thread to look at those, instead of the more expensive ones.

    And yeah, it's fun

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. Rockwool LoftRoll Insulation 100mm Roll for Bass Traps
    By MeltdownStudio in forum Studio Building & Acoustic Treatment
    Replies: 9
    Last Post: 07-01-2015, 12:24
  2. Assigning MIDI Controller Sliders/Knobs to VST instruments in Cubase LE 4
    By ryant324 in forum Steinberg / Cubase User Forum
    Replies: 3
    Last Post: 01-13-2014, 14:08
  3. Midi Keyboard Controller vs. Midi Controller?
    By Xcaliber in forum Keyboards and Sound Modules
    Replies: 1
    Last Post: 08-04-2013, 13:43
  4. NYC: FLIGHT CASE EDITION Fatar 88 Weighted Key Controller!
    By ebot9000 in forum Free Ads for Music/Recording Equipment
    Replies: 1
    Last Post: 01-28-2010, 11:45
  5. How do MIDI sliders work
    By jamie_drum in forum Cakewalk / Sonar Forum
    Replies: 1
    Last Post: 01-10-2004, 07:18

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •