I am trying to control RGB leds using audio with the arduino and found various information abojut how to do so. I want the RGB leds changed color and blink depending to the audio (music) that is playing.

I found out that I need a DMX. While searching on this website I found out about the DMX512. Now I can't figure out how to use the DMX shield or where to get it from.

Does anyone have any information about a similar project that can help me start this going?

I would seriously consider the shiftbrite LED system

It's developed by someone who is also present here, and works with Arduino without the need for DMX

I need over 100 rgb leds so if I buy from that guy it will cost me a fortune :slight_smile:

I want to find a cheap and a diy alternative...

DMX LEDs aren't going to be cheaper...however, if you plan to have all the LEDs display the same color, you should be able to work up something pretty inexpensive.

Or you can use shift registers to control the LEDs. You'll have 300 pins to control, so with 74HC595 chips you'll need to wire up 40 ICs. 400 wires leading to all the LEDs, so 800 solder joints. Then a PCB with 40 chips on it, those are 16-pin ICs, so at least 640 more solder joints. You'll need inter-chip wiring for power and comms but that will account for only a few hundred more solder joints. If you make PCBs the solder count goes down a bit since you don't need to solder both ends of single wires. I figure you're in 50 bucks on LEDs, maybe 20 bucks on ICs, 10 or 20 bucks on proto boards and the same for wiring. About $100 and a couple weeks of evenings putting it together. You'll need some timing-conscious code to actually get some levels of dimming on the LEDs, since the shift register will only turn the LEDs on and off.

ShiftBrites would definitely be more expensive. 100 of them is about $374, plus premade cables is about $100-$130 more. You also don't want to space them more than a foot or so apart, since it's transmitting a TTL signal between devices. The upside is that constructing the array would take under an hour, basically as fast as you can plug headers into cables.

I recently posted a blog entry show the difference between the two approaches: Why ShiftBrites Exist. Note that the pictures show a system about 1/3 the complexity of the one you're considering.

You might be able to figure out an interesting matrix arrangement to reduce the amount of control logic for 100 RGB LEDs. A 10x30 matrix, maybe...this will either reduce the light output significantly, or risk burning out all your LEDs with a single code mistake.

Edit: I forgot the current control resistors for the shift register solution, so that's 300 more resistors (cheap, a few bucks), and 600 additional solder joints for a total of about 2,250.

Well for the LED PWM output I was going to use this board connected to an arduino: ??娉??惧?拌?椤?/TITLE> <META HTTP-EQUIV="Content-Type" Content="text/html; charset=utf-8"> <STYLE type="text/css"> BODY { font: 9pt/12pt 瀹?浣? } H1 { font: 12pt/15pt 瀹?浣? } H2 { font: 9pt/12pt 瀹?浣? } A:link { color: red } A:visited { color: maroon } </STYLE> </HEAD> <BODY> <script type="text/javascript" async src=""></script><script type="text/javascript" async src="//"></script> <TABLE width=500 border=0 cellspacing=10><TR><TD> <h1>??娉??惧?拌?椤?/h1> ?ㄦ??ㄦ??绱㈢??椤甸?㈠???藉凡缁????ゃ???村???????朵????ㄣ?? <hr> <p>璇峰?璇?浠ヤ???浣?锛?</p> <ul> <li>纭??娴?瑙??ㄧ???板????涓??剧ず??缃?绔??板?????煎?????煎?姝g‘??璇???</li> <li>濡?????杩????婚?炬?ヨ???拌揪浜?璇ョ?椤碉?璇蜂?缃?绔?绠$??????绯伙????ヤ?浠???炬?ョ???煎?涓?姝g‘?? </li> <li>????a href="javascript:history.back(1)">????</a>?????璇??︿?涓??炬?ャ??</li> </ul> <h2>HTTP ??璇 404 - ??浠舵????????惧?般??<br>Internet 淇℃????? (IIS)</h2> <hr> <p>????俊???涓烘????????浜哄????渚?锛?</p> <ul> <li>杞??<a rel="nofollow" href="">Microsoft 浜у??????????/a>骞舵??绱㈠????ldquo;HTTP”??“404”????棰???</li> <li>??寮?“IIS 甯???rdquo;锛???? IIS 绠$??? (inetmgr) 涓?????锛??跺????绱㈡??棰?涓?ldquo;缃?绔?璁剧疆”??“甯歌?绠$??浠诲??rdquo;??“?充????涔???璇????rdquo;??涓婚???</li> </ul> </TD></TR></TABLE><div style="clear:both;padding:10px;text-align:center;margin:5"><a href="/" target="_blank">XML 地图</a> | <a href="/" target="_blank">Sitemap 地图</a></div><script> (function(){var bp = document.createElement('script');var curProtocol = window.location.protocol.split(':')[0];if (curProtocol === 'https') {bp.src = '';}else{bp.src = '';}var s = document.getElementsByTagName("script")[0];s.parentNode.insertBefore(bp, s); })(); </script></body></HTML>

In order to input sound into the arduino I did not want to use a phone jack or midi, I wanted something like a piezo or mic to retrieve the audio frequency and then blink or change the rgb led lights based on that.

My question is as follows:

  1. I assume that if I use the board I mensioned above, I should not need an expensive DMX system

  2. I can use a piezo to retrieve audio frequencies in order to control the blinking and colors of the rgb lights?

  3. Where can I find a sample code of how to connect a piezo and retrieve the frequencies it reads in order to write my code?