*BUILD LOG* 'CDJ 2000'-style DIY Traktor controller - Page 19
Page 19 of 21 FirstFirst ... 915161718192021 LastLast
Results 181 to 190 of 209
  1. #181
    Tech Wizard
    Join Date
    Jan 2011
    Posts
    59

    Default

    LMK if you ever want to sell me one of these!

  2. #182
    Tech Convert
    Join Date
    Dec 2010
    Posts
    5

    Default

    Thanks.
    I love this forum.

  3. #183
    Tech Mentor
    Join Date
    Feb 2011
    Location
    Southern Ontario, Canada
    Posts
    244

    Default

    Quote Originally Posted by Siytek View Post
    This code will work fine for scanning switches or pots but to multiplex LEDs I find its not quite quick enough and they flicker a bit. I use a more advanced technique for switching the control inputs called port manipulation...

    http://www.arduino.cc/en/Reference/PortManipulation
    Mmmmmm port manipulation... *drool* You can call me Mr. Bit Twiddler

    On a serious note though... Direct port access would be pretty much required for any serious project. There's just so much overhead involved when using digitalwrite/read that there's really not much that can be done to speed things up past a certain point.

    It can be tricky to wrap your mind around

  4. #184
    Tech Wizard Siytek's Avatar
    Join Date
    Apr 2011
    Location
    UK
    Posts
    36

    Default

    Quote Originally Posted by DjNecro View Post
    Mmmmmm port manipulation... *drool* You can call me Mr. Bit Twiddler

    On a serious note though... Direct port access would be pretty much required for any serious project. There's just so much overhead involved when using digitalwrite/read that there's really not much that can be done to speed things up past a certain point.

    It can be tricky to wrap your mind around
    Yeh your totally right about the usage to run a digital write command, I found this page where this guy had tested the difference between digitalwrite and port manipulation and found port manipulation to be 10 times faster, he also explains how to do it...

    http://www.instructables.com/id/Ardu...how-to-fix-it/

    Here is the bit of code I use for MUXing, I replaced the code in my last post with this to get things up to speed for multiplexing my LED VU meter, the code is also shorter and 'nice to look at' ...

    PHP Code:
    void multiplex(byte mp_number_man){
      
     
    byte port_b_out[8] = { 0x00x80x40xC0x20xA0x60xE };
     
    PORTB port_b_out[mp_number_man]; 
      

    This code is quite specific to the pin numbers the MUX control lines are connected to on the Arduino. Both the hex values and 'PORTB' need to be set correctly (the link above explains pretty well). This particular code however, should work if the A,B,C control inputs on the MUX are connected to Arduino pins 11, 10, 9
    ...dreams in binary

  5. #185
    Tech Mentor
    Join Date
    Feb 2011
    Location
    Southern Ontario, Canada
    Posts
    244

    Default

    Quote Originally Posted by Siytek View Post
    Yeh your totally right about the usage to run a digital write command, I found this page where this guy had tested the difference between digitalwrite and port manipulation and found port manipulation to be 10 times faster, he also explains how to do it...

    http://www.instructables.com/id/Ardu...how-to-fix-it/

    Here is the bit of code I use for MUXing, I replaced the code in my last post with this to get things up to speed for multiplexing my LED VU meter, the code is also shorter and 'nice to look at' ...

    PHP Code:
    void multiplex(byte mp_number_man){
      
     
    byte port_b_out[8] = { 0x00x80x40xC0x20xA0x60xE };
     
    PORTB port_b_out[mp_number_man]; 
      

    This code is quite specific to the pin numbers the MUX control lines are connected to on the Arduino. Both the hex values and 'PORTB' need to be set correctly (the link above explains pretty well). This particular code however, should work if the A,B,C control inputs on the MUX are connected to Arduino pins 11, 10, 9

    Or when A/B/C are connected to 8/9/10 you can do:

    Code:
    void multiplex(byte mp_number_man) {
      PORTB = mp_number_man;   
    }
    If you look at the datasheet, you'll notice that the addresses for the 4051's inputs are their binary value on the a/b/c pins... so you can set the port value to equal the input that you want.

  6. #186

  7. #187
    Tech Wizard
    Join Date
    Jan 2011
    Location
    Newcastle, UK
    Posts
    28

    Default

    Any updates?
    Desktop | QuadCore| 4gb | 1TB Samsung
    TSP | DDM4000 | Stanton T80s | Radius 2000s

  8. #188
    Tech Guru MiL0's Avatar
    Join Date
    May 2009
    Location
    Brighton / Bangkok
    Posts
    1,386

    Default

    yes, a little... but I want to make some solid progress first before I update this thread.

    should have something substantial to show in the next month or so

  9. #189

    Default

    Quote Originally Posted by MiL0 View Post
    yes, a little... but I want to make some solid progress first before I update this thread.

    should have something substantial to show in the next month or so
    Milo the program change button on the side, and the first pads in the first and second row become a pitch change up and pitch change down if used in ableton.


    Also couldnt u have used endless rotary encoders or endless pots?
    Quote Originally Posted by ctrld View Post
    confession time: I clicked on this thread only because my dirty mind made a connection between "6 analogues and 14 digitals" and "2 girls 1 cup".
    Setup: VAI-40, Nanokey2, APC20, Ableton, (Shit ton of VST), TP2, DN SC2000, LPD8 (RIP) MF3D (with custom Mapping FX for ableton for Turnado and Artillary2 (ill release it when its been perfected.) PM me if interested in the mapping or helping me with it.

  10. #190

Posting Permissions

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