Standard 220mm wide modules
A PCB to add 24 Buttons with RGB LEDs for each.
Eagle Files: https://github.com/novski/Midibox/tree/master/VLR-3x8but
BIll of Material
Allways look for the cheapest seller, the Price may vary heavy!!! And look for Local dealers preferred. http://www.midibox.org/dokuwiki/doku.php?id=where_to_order_components
I thaught a long time about how to make a Button PCB that does not explode in material cost. The best solution was to buy rubberbuttons from Sparkfun and cut them because the with of Fadercore is fixed by the minimal width of 8 Oleds side by side… 220mm in width / 8 makes a 27.5mm grid. What a pity that the Sparkfun pads are premade with a 25mm grid…
you will need two of them: https://www.sparkfun.com/products/7835
Project Order Basket on Mouser: http://www.mouser.com/ProjectManager/ProjectDetail.aspx?AccessID=1f42b04e6d
The PCB is available under: https://www.vlrlab.com/home/20-3x8but.html
If its your first SMD soldering you can follow this on t1:58 : http://www.youtube.com/watch?v=5uiroWBkdFY I recommend to not buy solder paste, instead buy some flux-paste like this on Mouser: 590-8341-10ML
Start with the SMD parts and then go on the the conventional parts also on the Bottom side. Then go on with the Topside and the LEDs. Check the Connections with a Lens.
Connect the core on J8/9 to J1 of the VLR-3x8But board.
To make it work with MIOS .NGC File we need to know how the shift-registers are connected.
Inputs:
1# Switch Columns 1-8
Outputs:
1# ROW Outputs 1-6
2# RED LEDs 1-8
3# GREEN LEDs 1-8
4# BLUE LEDs 1-8
Assuming that the VLR-3x8But is the first device on the chain of J8/9 we need to configure it like this:
RESET_HW
LCD “%C”
LCD “@(1:1:1)OLED1”
LCD “@(2:1:1)OLED2”
LCD “@(3:1:1)OLED3”
LCD “@(4:1:1)OLED4”
LCD “@(5:1:1)OLED5”
LCD “@(6:1:1)OLED6”
LCD “@(7:1:1)OLED7”
LCD “@(8:1:1)OLED8”
# In this demo we configure individual brightness levels for the LEDs from EVENT_BUTTON events
LCD “@(1:10:1)RGB Demo #2”
DIN_MATRIX n=1 rows=4 sr_dout_sel1=1 sr_din1=1 button_emu_id_offset=1001
DOUT_MATRIX n=1 rows=4 sr_dout_r1=2 sr_dout_g1=3 sr_dout_b1=4 led_emu_id_offset=1025
# These button functions forward their value also to LEDs
# it's possible to set the rgb levels in the button event, it will be forwarded as well!
EVENT_BUTTON id=1001 fwd_id=LED:1025 type=NoteOn key=36 chn=1 rgb=15:0:0 lcd_pos=1:1:2 label=“^std_btn”
EVENT_BUTTON id=1002 fwd_id=LED:1026 type=NoteOn key=37 chn=1 rgb=15:0:0 lcd_pos=2:1:2 label=“^std_btn”
EVENT_BUTTON id=1003 fwd_id=LED:1027 type=NoteOn key=38 chn=1 rgb=15:0:0 lcd_pos=3:1:2 label=“^std_btn”
EVENT_BUTTON id=1004 fwd_id=LED:1028 type=NoteOn key=39 chn=1 rgb=15:0:0 lcd_pos=4:1:2 label=“^std_btn”
EVENT_BUTTON id=1005 fwd_id=LED:1029 type=NoteOn key=40 chn=1 rgb=15:0:0 lcd_pos=5:1:2 label=“^std_btn”
EVENT_BUTTON id=1006 fwd_id=LED:1030 type=NoteOn key=41 chn=1 rgb=15:0:0 lcd_pos=6:1:2 label=“^std_btn”
EVENT_BUTTON id=1007 fwd_id=LED:1031 type=NoteOn key=42 chn=1 rgb=15:0:0 lcd_pos=7:1:2 label=“^std_btn”
EVENT_BUTTON id=1008 fwd_id=LED:1032 type=NoteOn key=43 chn=1 rgb=15:0:0 lcd_pos=8:1:2 label=“^std_btn”
EVENT_BUTTON id=1009 fwd_id=LED:1033 type=NoteOn key=52 chn=1 rgb=0:15:0 lcd_pos=1:1:3 label=“^std_btn”
EVENT_BUTTON id=1010 fwd_id=LED:1034 type=NoteOn key=53 chn=1 rgb=0:15:0 lcd_pos=2:1:3 label=“^std_btn”
EVENT_BUTTON id=1011 fwd_id=LED:1035 type=NoteOn key=54 chn=1 rgb=0:15:0 lcd_pos=3:1:3 label=“^std_btn”
EVENT_BUTTON id=1012 fwd_id=LED:1036 type=NoteOn key=55 chn=1 rgb=0:15:0 lcd_pos=4:1:3 label=“^std_btn”
EVENT_BUTTON id=1013 fwd_id=LED:1037 type=NoteOn key=56 chn=1 rgb=0:15:0 lcd_pos=5:1:3 label=“^std_btn”
EVENT_BUTTON id=1014 fwd_id=LED:1038 type=NoteOn key=57 chn=1 rgb=0:15:0 lcd_pos=6:1:3 label=“^std_btn”
EVENT_BUTTON id=1015 fwd_id=LED:1039 type=NoteOn key=58 chn=1 rgb=0:15:0 lcd_pos=7:1:3 label=“^std_btn”
EVENT_BUTTON id=1016 fwd_id=LED:1040 type=NoteOn key=59 chn=1 rgb=0:15:0 lcd_pos=8:1:3 label=“^std_btn”
EVENT_BUTTON id=1017 fwd_id=LED:1041 type=NoteOn key=68 chn=1 rgb=0:0:15 lcd_pos=1:1:4 label=“^std_btn”
EVENT_BUTTON id=1018 fwd_id=LED:1042 type=NoteOn key=69 chn=1 rgb=0:0:15 lcd_pos=2:1:4 label=“^std_btn”
EVENT_BUTTON id=1019 fwd_id=LED:1043 type=NoteOn key=70 chn=1 rgb=0:0:15 lcd_pos=3:1:4 label=“^std_btn”
EVENT_BUTTON id=1020 fwd_id=LED:1044 type=NoteOn key=71 chn=1 rgb=0:0:15 lcd_pos=4:1:4 label=“^std_btn”
EVENT_BUTTON id=1021 fwd_id=LED:1045 type=NoteOn key=72 chn=1 rgb=0:0:15 lcd_pos=5:1:4 label=“^std_btn”
EVENT_BUTTON id=1022 fwd_id=LED:1046 type=NoteOn key=73 chn=1 rgb=0:0:15 lcd_pos=6:1:4 label=“^std_btn”
EVENT_BUTTON id=1023 fwd_id=LED:1047 type=NoteOn key=74 chn=1 rgb=0:0:15 lcd_pos=7:1:4 label=“^std_btn”
EVENT_BUTTON id=1024 fwd_id=LED:1048 type=NoteOn key=75 chn=1 rgb=0:0:15 lcd_pos=8:1:4 label=“^std_btn”
Im using my VLR-8oDisp board to show the Values of every item. You can change it to any other type of Display-setting… lcd_pos=6:1:5 {6=Display number : 1= X-axis : 5= Y-Axis (row)}
For any Comment or Question: Forum Thread???