Introduction: Musical Visual Mania(Edited)
This project is all about techie show-off. Here I'll show you how to design and develop your own Audio-Visual Showdown. In this Instructable we'll make an Android application which plays your selected songs in a random manner and send instructions to micro-controller to light up various different led patterns in a customized 2-D LED matrix and also control LED mounted motors for amazing visual effects. Sounds cool right, Let's begin..!
Step 1: Prototype
This video will give you idea about what all lies ahead in this 'ible.
I'll work on putting it in a box as soon as I recover from a syndrome which left my left arm partially paralyzed.
Step 2: Stuff You Need..!
- Micro-controller(Any of your choice)(I used AVR atmega16)
- Portable Speakers
- Android Device
- HC-05 Bluetooth Module
- Connecting Wires
Plus some craft stuff to make a box for visuals.
Let's move to Android app part.
Step 3: Android Application
If you are beginner to android and don't know android programming, Cool, Don't worry MIT App Inventor is what all you need. If you are new to MIT app inventor, you can have a look at this 'ible.
I'm providing you .aia file so that you can check the block and designer part in MIT app inventor.
You can even customize and add songs that are your favorites.
**While adding songs to app, make your you use same path and file name as in your file manager and one more thing, rename songs which have space in their names like "Get Low" to "GetLow" in file manger and app because due to reasons MIT app inventor doesn't play songs with space in their name.**
Step 4: Programming Controller
Now we need to communicate between Android device and micro-controller so I've used HC-05 Bluetooth Module. By android device instruction or action is chosen which is interpreted by micro-controller and respective block is executed.
Output is observed in form of lightning LED's and rotating LED mounted on motor.
Here are Makefile, .c and hex files of the programs that simplifies UART working and pattern display.You can go through program and make by combining the given programs.
I've provided proteus simulation file also if you want to check pattern display.
Step 5: Making 2-D LED Matrix
If you want to recap breadboard connections, Here's link for the same :
I've made a 6 X 4 LED matrix. You can make small or big or any row X column LED matrix.
Best would be just think about songs you hear and accordingly patterns that comes to mind and accordingly make matrix ( I did same :p ).
You can follow the pictures above to make LED matrix on breadboard.
I was thinking of soldering it but couldn't because of syndrome I mentioned earlier but breadboard is also fine as you can hide all extra board and wiring by box you make for setup.
Let's proceed to some electronics involved.
Step 6: Theory Time..!
- Always connect Tx of HC-05 Bluetooth Module to Rx of micro-controller.
- Always keep in mind when directly taking output of micro-controller on LED's, check the forward voltages of LED's as it changes with respect to color of LED for example I've used red and blue LED's and forward voltage of blue is 3.5v whereas of red is 2.2v. This is important to check because according to that only you can install number of LED's in series and also it determines the value of current limiting resistor.
- The maximum output of controller is generally 5v,20mA; so you can now calculate value of current limiting resistors and for larger matrix can also use transistors because output of micro-controller wouldn't be sufficient to light up LED's.
Step 7: Straw Magic
LED based coffee table always used to excite me and that motivated me to do something different and then I came up with the idea of using translucent straws and it worked like charm for me. Light reflects within the straw and the output is so amazing. In fact video couldn't capture the exact visuals but still it gives idea of illumination and making own room into customized club is awesome, Playing your beats and changing light at will is just amazing.
Step 8: Interfacing and Finalising
I've used Bo-motors for rotating led display.
Motor can be easily interfaced using l293d Module.
Though I still have to upgrade it but still it looks pretty well overall.
//* Edited = PinOut Description plus hex file added.
To flash atmega16 with hex use fuse bits :-
//* Thanks member/SuperTech-IT for your suggestions to add hex and pin description *//
Step 9: Testing
I'm sharing my videos of testing and some problems I faced and I hope you'll too will share yours :)
One good thing about music, when it hits you, you feel no pain --