Jump to content

DAW controller orientations and design


endernoumea

Recommended Posts

  • Replies 64
  • Created
  • Last Reply

Top Posters In This Topic

yes exactly.

 

On the picture they are ok but it was before i use the dout matrix. They were connected directly to 5V at this time to "test" the colors.

 

The RGB matrix is working very well. I can change the color using the rgb=rr:gg:bb in my led event but it's definatlly not bright enought to be workable by day.

Link to comment
Share on other sites

What is the matrix wiring? 

If 16 displays means 16RGBs, then have you tried 1x16RGB matrix configuration? I think this should give you a maximum LED output the same as with constant supply.

 

Did you say ULN2803 was more (or less?) bright than the HC541?

Did you ground the ULN2803 properly?

The ULN2803 has an output low of around 1V which implies that a lower series resistance be used to get higher output.

Link to comment
Share on other sites

I actually setup only 16 screens but I will have 22 of them at the end so the 1 row matrix cannot fits my requirements.

 

The LCD are common anode.

The data sheet can be found here : http://www.ebay.com/itm/16x2-Character-LCD-5V-RGB-Backlight-Negative-Mode-RGB-on-Black-2x16-Row-USA-/150826420761

 

So i declare my matrix like this :

 

DOUT_MATRIX n=1  rows=4  inverted_sel=1 inverted_row=1 sr_dout_sel1=1  sr_dout_r1=2  sr_dout_g1=3 sr_dout_b1=4 led_emu_id_offset=1001

 

The wiring is inspired from the "hacked dout" of the protodeck project but without any resistance nor resistance array.

ledsDOUT.png?resize=940%2C814

Link to comment
Share on other sites

The emitter follower (BC547) will have a voltage drop of >=0.7V and the output of ULN2803 will drop another say 1.0V. This leaves only (5-0.7-1)=3.3V to drive the LEDs.

 

The ULN2803 low side drivers only ever drive 1 LED at a time. If you remove the ULN the pin from the HC595 can still drive the load but with less voltage drop.

 

Have you tried reducing the 100, 150R resistors?

 

Your drawing is labelled with "8x8" but declared with rows=4. 

 

If you add another 6 SR's you could drive up to 24RGB LEDs in an unmutiplexed way (rows=1). You'd need more than 1 RGB matrix defined. Is this supported?

If so, it will be 4x brighter due to the increased duty cycle.

 

Link to comment
Share on other sites

The picture is from the original post of the protodeck project : http://julienbayle.net/works/creation/protodeck-midi-controller-for-ableton-live/

 

I use it as a model to describe what I am using here.

 

I have 2 differences :

- I use no resistance nor resistor array.

- I will have 22 RGB at the end, so 3x8 (not 8x8)

 

I just setup what you said on a breadboard and the led still not bright.

 

I cannot test the rows=1 because it generate an error in mios : [839542.973] [MBNG_FILE_C:10] ERROR invalid row number for DOUT_MATRIX n=1 ... rows=1 (only 4 or n*8 allowed)

Link to comment
Share on other sites

Can you check the duty cycle of the matrix with an oscilloscope? With rows=4 it should be 25%. If you don't have a CRO, then don't worry about it.

 

Set up special config that allows you to manually turn on/off individual row and column driver lines.

Can you determine the voltage drops through the LEDs, resistors, drivers under static conditions (i.e the drivers are in steady state rather than scanning the matrix).

This allows you to determine the LED current when they are 100% on. Also allows to identify what is creating the dimming i.e where the voltage drops are worst.

 

Note that when the matrix is scanning (rows=4) they will be only 25% as bright.

Edited by Duggle
Link to comment
Share on other sites

Note that when the matrix is scanning (rows=4) they will be only 25% as bright.

 

I think this is the answer.

It might be ok for a led but it's not enought for a LCD blackscreen. (at least not those like mines)

 

I was wondering something but I don't know if this can works:

 

1- Setup 3 differents dout matrix to separate my 3 rows on 3 differente boards.

2- the replace the driver by a constant 5V

 

This should allow me to use the rgb=r:g:b instruction from the matrix function and avoid the scanning effect right ? (I have spare dout I could use for that)

Link to comment
Share on other sites

I setup 3 radio buttons that represente 3 functions i can assign to my encoders.

The objective is to change to color of the screen according these 3 buttons when i move an encoder.

 

here is how i do that :

 

EVENT_BUTTON id=  35   type=CC chn=1 cc=16  button_mode=OnOnly  range= 0:0   radio_group=1
EVENT_BUTTON id=  39   type=CC chn=1 cc=16  button_mode=OnOnly  range= 1:1   radio_group=1
EVENT_BUTTON id=  40   type=CC chn=1 cc=16  button_mode=OnOnly  range= 2:2   radio_group=1

 

DOUT_MATRIX n= 2   rows=4 inverted_sel=1 inverted_row=1   sr_dout_sel1= 0  sr_dout_r1= 5 sr_dout_g1= 6 sr_dout_b1= 7  led_emu_id_offset=1501

 

EVENT_ENC    id=  1  hw_id=1 bank= 1  fwd_id=LED_MATRIX:1    fwd_to_lcd=1  type=CC     chn= 1 cc= 16   range=  0:127  offset=  0  ports=1000100000001000  lcd_pos=1:1:1  label="ENC #%3i    %3d@(1:16:1)%B"
EVENT_ENC    id= 1001  hw_id=1 bank= 1 if_equal=Button:40:2  fwd_id=LED:100 
EVENT_ENC    id= 1002  hw_id=1 bank= 1 if_equal=Button:39:1  fwd_id=LED:102   
EVENT_ENC    id= 1003  hw_id=1 bank= 1 if_equal=Button:35:0  fwd_id=LED:101

 

EVENT_LED id=100 fwd_id=LED:1502  rgb=15:0:0
EVENT_LED id=101 fwd_id=LED:1502  rgb=0:0:15
EVENT_LED id=102 fwd_id=LED:1502  rgb=0:15:0

 

My problem here is that the led are activated only when the encoder value is > 63. I want it to be activated everytime i move the encoder.

 

Can i force it ?

Edited by endernoumea
Link to comment
Share on other sites

I did what we supposed at the end :

 

1 - I setup the RGB matrix with driver connected to 5V permanentely. (so i only need 3 SR per matrix)

      i declare it like this :

 

         DOUT_MATRIX n= 2   rows=4 inverted_sel=1 inverted_row=1   sr_dout_sel1= 0  sr_dout_r1= 5 sr_dout_g1= 6 sr_dout_b1= 7  led_emu_id_offset=1501

         DOUT_MATRIX n= 3   rows=4 inverted_sel=1 inverted_row=1   sr_dout_sel1= 0  sr_dout_r1= 8 sr_dout_g1= 9 sr_dout_b1= 10  led_emu_id_offset=1801

         note : the sr_dout_sel=0 (i think this is the dummy SR because i read it in many settings)

 

    so for 2 RGB matrix i only need 6 SR. (5 to 10 in my case here.)

 

The Blackscreen are now as brighter as they can and i can control them with the rgb=r:g:b command.

 

Of course this means that my RGB matrix are only 1 row maximum.

Edited by endernoumea
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...