latigid on Posted March 5, 2016 Report Share Posted March 5, 2016 Illuminated encoders in full RGB: Now I need those "Waldorf" clear knobs! 2 Quote Link to comment Share on other sites More sharing options...
Psykhaze Posted April 22, 2016 Report Share Posted April 22, 2016 @latigid on, @TK : Dudes,such a nice work!! :o just what i wanted to do about the sparkfun buttons. If i understood good TK told that 64 RGB LED could be driven, and even more? I am just planning in making a 4x16 RGB BLM for sequencer V4 with sparkfun butons. Other buttons would be "monochrome". ^^ Do you think this kind of led would fit ? http://www.ebay.fr/itm/252197462630?var=551032876050 thanks for your advice, good evening, JK Quote Link to comment Share on other sites More sharing options...
latigid on Posted April 22, 2016 Report Share Posted April 22, 2016 (edited) According to adafruit, there are at least two LEDs with different names that use the same controller (or an equivalent). I think they should work; you should choose the 5mm LED as 8mm is too large. At some point I will sell the PCBs to suit (don't buy Sparkfun PCBs unless you want to use common RGB LEDs), price should be about 8 EUR. If you read through TK.'s code example on svnmios32, he states that driving the LEDs takes up quite a bit of memory but not too much CPU overhead. There is a limit in the chain length in order to guarantee data transmission. I'm pretty sure that the controllers hold the colour value and new data is only required for updates. The advantage of shift registers is the parallel data transmission which allows for a simple serial stream to rapidly clock multiple lines. Disadvantages are the complicated PCB and software matrices, but it does work (BLM 16*16+X). Bon weekend, Edited April 22, 2016 by latigid on 1 Quote Link to comment Share on other sites More sharing options...
Psykhaze Posted April 22, 2016 Report Share Posted April 22, 2016 Hi again, Count on me for 4 PCB , that will allow me to make some tests with these 5mm LEDs. The limit was 48 bits in total adressing ? I am a bit tired right now so i'll check TK code tomorrow =) merci pour tout et bon weekend aussi =) JK Quote Link to comment Share on other sites More sharing options...
Psykhaze Posted May 3, 2016 Report Share Posted May 3, 2016 Is there any schematic on how to connect WS2812 LED (matrix?) to DOUT? Quote Link to comment Share on other sites More sharing options...
latigid on Posted May 4, 2016 Report Share Posted May 4, 2016 7 hours ago, Psykhaze said: Is there any schematic on how to connect WS2812 LED (matrix?) to DOUT? Serial chain from J4B, pin 6 (SC) I think. Quote Link to comment Share on other sites More sharing options...
TK. Posted May 7, 2016 Author Report Share Posted May 7, 2016 The WS2812 chips can't be connected to a MBHP_DOUT module due to the different serial protocol. Best Regards, Thorsten. Quote Link to comment Share on other sites More sharing options...
Psykhaze Posted May 7, 2016 Report Share Posted May 7, 2016 (edited) So, how to connect these WS2812/ APA106 leds to CORE32? is it possible to drive a rgb matrix ? best regards, JK Edited May 7, 2016 by Psykhaze Quote Link to comment Share on other sites More sharing options...
TK. Posted May 7, 2016 Author Report Share Posted May 7, 2016 The serial input of the WS2812 chip has to be connected to J4B.SC Quote is it possible to drive a rgb matrix ? I'm not sure if I understand your question correctly. Each WS2812 chip drives one RGB LED, by default you can connect up to 64 WS2812 chips, but it's possible to increase the number (with the drawback of higher SRAM consumption). See also http://svnmios.midibox.org/filedetails.php?repname=svn.mios32&path=%2Ftrunk%2Fmodules%2Fws2812%2Fws2812.c The WS2812 based approach is not based on a LED matrix, it's a serial chain of (cheap) RGB driver chips Best Regards, Thorsten. Quote Link to comment Share on other sites More sharing options...
Psykhaze Posted May 7, 2016 Report Share Posted May 7, 2016 (edited) My words were confusing, i now understand better the principle of serial chain color driving through the code. So to drive for example 64 LEDs you just need a chain linking them to CORE32 J4B.SC! Wonderful =) That's pretty nice for PCB routing ^^ I talked about matrixes because that's the way i am going to dispose my LEDs physically. And the current most efficient way to drive an amount of monochrome LEDs is matrix shift register design. At the beginning thought there would have kind of differents buses to handle or similar things to shift register design. And that is very good about default params i was planning to use 64 RGBs APA 106 LEDs =D Thanks for your answer Thorsten =) Best Regards, Jérôme Edited May 7, 2016 by Psykhaze Quote Link to comment Share on other sites More sharing options...
latigid on Posted August 4, 2016 Report Share Posted August 4, 2016 Here's a souped up version (intended for Programma): All registers on board. 45 degree styles Room for OLEDs Individual touch sensors, wired to encoder bodies at the moment. A bit hard to capture the LEDs, but I hope you get the general idea. The touch sensors are set to activate the LEDs and they can be "dimmed" using a MIOS CC value. It's very preliminary for the moment, but eventually the idea is to use the touch sensors to turn on the acceleration function of encoders. That needs a bit of thought though. 2 Quote Link to comment Share on other sites More sharing options...
mongrol Posted August 5, 2016 Report Share Posted August 5, 2016 Is there a knurl shaft version of those encoders? Looks great bit a odd with D shapes and no tops. Quote Link to comment Share on other sites More sharing options...
latigid on Posted August 5, 2016 Report Share Posted August 5, 2016 We can do better. This was my idea as a touch sensor for acceleration, but in the end I think the cup washers are a bit big: Albs make a clear version of this which looks really nice when illuminated: Quote Link to comment Share on other sites More sharing options...
latigid on Posted December 5, 2016 Report Share Posted December 5, 2016 On 11/10/2015 at 10:51 PM, TK. said: Today I did some experiments with RGB LEDs, e.g. to evaluate Andy's idea to use a single RGB LED as replacement for LED rings around encoders: http://midibox.org/forums/topic/19619-alternative-to-led-encoder-rings-illuminated-red-green-encoders/ Outcome: a LED matrix configuration doesn't give us enough brightness levels. E.g. I tried a 4x8 matrix which allows 8 brightness levels for each color, but it turned out that dim values above 4 (50%) don't make a big difference anymore, accordingly the actual resolution was only 2 bit (4 brightness levels) therefore I connected the R/G/B LEDs directly to DOUT pins, which gives us up to 16 dim levels and higher brightness (since no multiplexing takes place). Results where much better! In order to generate different hues, I use the HSV color model, and sweep H from 256..0 and V from 0..100% (S always 100%) See http://colorizer.org for the resulting colors Script: http://svnmios.midibox.org/filedetails.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Fcontrollers%2Fmidibox_ng_v1%2Ftools%2Fgen_colour_maps.pl The generated R/G/B Maps are then used in a .NGC file:http://svnmios.midibox.org/filedetails.php?repname=svn.mios32&path=%2Ftrunk%2Fapps%2Fcontrollers%2Fmidibox_ng_v1%2Fcfg%2Ftests%2Frgb_4.ngc This example configuration shows, how the RGB hue can be controlled from a single encoder (or via incoming CC event) Conclusion: if LED rings should be replaced by RGB LEDs, we need 3 dedicated DOUT pins per LED, makes 48 pins for 16 RGB LEDs = 6 DOUT SRs Line drivers are not required, since the DOUT SRs are strong enough to drive the LEDs. Best Regards, Thorsten. Seeing how it looks like we're going back to a shift register-driven RGB BLM in 8*4 config, I'm curious if you connected any current source/sink in this setup (if you remember). Quote Link to comment Share on other sites More sharing options...
FantomXR Posted April 28, 2017 Report Share Posted April 28, 2017 Does someone know if it's possible to use the WS2812 as matrix? I'm afraid that there is no parameter called EVENT_RGBLED_MATRIX. So there might be a workaround that I don't know? I'm looking for a replacement for the classic encoder led rings and those WS2812 seem to be a great alternative. Thanks! Quote Link to comment Share on other sites More sharing options...
latigid on Posted April 28, 2017 Report Share Posted April 28, 2017 The datastream for WS2812 is serial and runs separately to J8/9, so matrix events don't make sense. Instead, each LED needs its own EVENT_RGBLED. The current _NG implementation can either change the hue (colour) or the value (brightness) when dimmed=1. Let me know if you want some PCBs and/or encoders. Best, Andy Quote Link to comment Share on other sites More sharing options...
FantomXR Posted April 28, 2017 Report Share Posted April 28, 2017 (edited) Hm okay. But if I have a strip of 6 LEDs and I want them to show the status of a fader or encoder like a led-bar or led-ring which sends f.e. CC16, how to do that? Or isn't it possible yet? Maybe I could assign different ranges to the LEDs...this is the only workaround I could think of at the moment i have another idea for lightning the encoders. So no need for PCBs or encoders. Will share it as soon as I've tested it. ;-) Edited April 28, 2017 by FantomXR Quote Link to comment Share on other sites More sharing options...
FantomXR Posted April 30, 2017 Report Share Posted April 30, 2017 I tried now a few different things but I was not able to get a few WS2812-LEDs working as LED-Ring or bar. Any ideas how to get this working? Quote Link to comment Share on other sites More sharing options...
FantomXR Posted April 30, 2017 Report Share Posted April 30, 2017 Okay! I got it! This code works great: EVENT_RGBLED id=1 type=cc cc=16 rgb=0:5:0 dimmed=1 range=MAP1 EVENT_RGBLED id=2 type=cc cc=16 rgb=0:5:0 dimmed=1 range=MAP2 EVENT_RGBLED id=3 type=cc cc=16 rgb=0:5:0 dimmed=1 range=MAP3 EVENT_RGBLED id=4 type=cc cc=16 rgb=0:5:0 dimmed=1 range=MAP4 EVENT_RGBLED id=5 type=cc cc=16 rgb=8:5:0 dimmed=1 range=MAP5 EVENT_RGBLED id=6 type=cc cc=16 rgb=5:0:0 dimmed=1 range=MAP6 MAP1/BYTEI 0:0 21:127 MAP2/BYTEI 0:0 21:0 42:127 MAP3/BYTEI 0:0 42:0 63:127 MAP4/BYTEI 0:0 63:0 84:127 MAP5/BYTEI 0:0 84:0 105:127 MAP6/BYTEI 0:0 105:0 127:127 Quote Link to comment Share on other sites More sharing options...
FantomXR Posted May 18, 2017 Report Share Posted May 18, 2017 Hey people, I have an idea in mind but I don't know if it's possible to program it. It seems like a challenge. Let's assume we have a midi-keyboard and a strip of WS2812 on top of the keys. What I want to do is, visualizing the split-zones of the keyboard. My DAW is able to send tons of different values f.e. CC, NoteOn, SysEx, NRPN, and so on. My first idea was to assign a CC to the LEDs f.e. CC16. If I now send CC64 to the MIDIbox, all LEDs would light up which are <= 64. But what if I only want LED10-LED16 to light up and not the LEDs which are lower than that? Another idea: Assign a CC-value to every LED f.e. value 0 = LED1, value 1 = LED2, etc. But that would mean, that A LOT of MIDI data has to be sent to the MIDIbox on patch-change. So is there anything I overlook? Do you have any other ideas how to address a range of WS2812 LEDs? Thanks, Chris Quote Link to comment Share on other sites More sharing options...
FantomXR Posted August 6, 2017 Report Share Posted August 6, 2017 Hey people, I ordered a new bunch of WS2812B LEDs. The problem: They are not working! I tested them in the same environment as the last bunch, which worked great. But the new LEDs do not. I at first thought that I received the wrong LEDs. But I doublechecked with an Arduino and they work well on those as well as my old LEDs. I tried to replace the pullup with a 470Ohm and a 10k but both is not working. Any ideas? Quote Link to comment Share on other sites More sharing options...
latigid on Posted August 6, 2017 Report Share Posted August 6, 2017 I think what has happened is the newer batch is set up to use a different clock frequency. Hopefully that's all. Quote Link to comment Share on other sites More sharing options...
latigid on Posted August 6, 2017 Report Share Posted August 6, 2017 This is all I know: https://www.muffwiggler.com/forum/viewtopic.php?p=2542218#2542218 Quote Link to comment Share on other sites More sharing options...
FantomXR Posted August 6, 2017 Report Share Posted August 6, 2017 Thanks for that hint! I found that document: Now I need to figure out, how I make the adjustments to the firmware.... if even possible? Quote Link to comment Share on other sites More sharing options...
FantomXR Posted August 6, 2017 Report Share Posted August 6, 2017 There is a post from Adafruit where they report the new LEDs. And they say that they had to adjust the reset-time and everything went well again. But in the midibox code I do not see any kind of reset-feature.... Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.