LED Bluetooth Controller Wiki - groenebm/BluetoothLED_Controller GitHub Wiki

Welcome to the BluetoothLED_Controller wiki!

This project is very interesting to me because I have a great interest in LEDs and music. I work concerts at Nationwide Arena in Columbus, Ohio and I am always amazed at the huge stage lights and even more interested in the control systems that they are controlled by. One of the things I learned here was why these huge productions use massive amounts of heavy cable rather than going to a wireless system such as Bluetooth. Sometimes, Bluetooth in not reliable and in concert lighting everything must be perfectly on sync! It seems to be a day by day sort of thing. After presenting with my project in a bluetooth-less mode, I used a different Arduino and the project was able to work. This made me very frustrated but understanding so that next time I'm pulling cable from up in the rafters of an arena I know at least this stuff is hard-wired to not fail.

This is the circuit diagram of the System. There is an imput of 12 volts into the power source of the Arduino, as well as an USB into the USB slot. This is very important otherwise my LEDs do not light up. I have learned a lot about how TX and RX signal work especially relating to the COM port on the laptop and the pins on the Arduino board. First and foremost, you cannot upload code or use the COM ports while the TX and RX pins are occupied.

When there is a successful transmission, either from the COM port (if TX and RX are unused) or from the TX pin the TX and RX LED light up on the circuit board. This is a good way to debug the source of the problem I believe the source of my problem was the TX pin.

In making the LED controller follow music, I had to understand some basic music theory (I'm a pianist, so I have that down), and hot to transcribe that to Arduino. This was the topic of a lab back in ECE 102, and I was able to reuse some of my old code while adding in some simple statements that make the lights jump with the note changes. Most important was making sure that the lights do not jump between two similar colors. Thus I set a simple if-else statement that if the number of the note was even to play green, and otherwise play red. This prevents two greens in a row, or if there were more colors, a red and a light red, which when people are moving to the music, a bad lighting transition can hurt the experience.

Another interesting thing is that the LED strip is much shorter than the one I used for my midterm project, yet it seemed much more voltage hungry. I had to always have both the 12V power source plugged in as well as the USB adapter otherwise the LED strip would not power above a slight glow. That goes against the logic I have about how LED strips work, as the longer they get, the more current and voltage they require. Perhaps the high voltage ( I measured 17 V peak to peak on the lab oscilliscope from the Vout pin) caused something to the original Arduino?

A problem I faced was the switching between colors would not always turn one on and turn the other off. I had a lot of time I dealt with the Christmas song playing only the yellow color, the combination of max green and max red light. It was strange that I had a had to, within a loop, call the turning on and off

analogWrite(GREENPIN, 255); analogWrite(REDPIN, 0);

whereas when I was calling the methods in the normal loops I could just set one of the colors and it would dim the other without having to worry about turning off the lights. This was a bit annoying to deal with but I was glad I was able to make the lights dance to the music.

One option I tried to do was implement with a google home. This was not a fruitful Idea because I had to deal with 1. not being able to use school wifi to work on the project (Voice assistants do not work on corporate wifi) and two, I realized I would spend much more time coding a back-end server to take the voice requests than I would actually working on the lights. I wanted something a bit more dynamic to control, and no practicing sound designer would dictate his lighting commands to his gear.

If I could take this project further, I would look to integrating multiple types of LED strips and led pushbuttons that I could play a light-show live to music and save it for future playback. One of my dream jobs is to be the people that design the light shows that concerts use and I am glad that this project has helped me explore lighting and sound in such a way.

Youtube Video: https://youtu.be/9qmwKrmcp-Q