DISCLAIMER: I have multiple questions spanning varied topics from microcontroller selection and circuit design to programming a user interface. Feel free to answer any of my questions or give advice on any part without answering everything. Thank you in advance for any help, it is very well appreciated!
I am starting a project and although I've taken electricity classes in college, I have very little practical knowledge as far as the project I have in mind. I will need to control 6 RGB LED's individually with a microcontroller. They will be operated by a rechargeable Lithium Ion battery most likely (3.3V). I need USB interface between the computer and the microcontroller. Finally, I will need to implement a user interface allowing simple color input scheme based on RGB component colors on three single axis (one red, one green, on blue) as opposed to a "color map" on multiple axis. Not sure if I'm using the correct terminology, but this is what I'm referring to, on the right as opposed to what's on the left:
http://www.flashandmath.com/intermediate/rgbs/
I will also want very simple control of (overall) brightness for the combination of three colors on a single slider of the same fashion.
I am looking for suggestions or resources which will help me in the following areas:
1) Picking a microcontroller. I've basically listed all the features I currently require. I've looked at Arduino and Teensy++ a bit and I just received a Stamp Basic microcontroller. I am open to any suggestions, but require USB as stated and definitely want to keep the price under ~$40. Ease of use and documentation are paramount as I am pretty much starting from scratch.
2) I am a bit confused about PWM and whether I could even use PWM unless I had 6*3 PWM ports (or whatever the word is for them) on the microcontroller. For instance, the Teensy++ has 9 PWM listed, would this only be sufficient for 3 RGB LED's with individual control? Can I connect the LED's to something other than the 9 PWM connects and still have the same control? Would the coding be different?
3) BAM Vs. PWM: would BAM be better for my needs? With PWM can you in general set the frequency to any value? I need there to be no noticeable strobing effect even at decent velocities. Would BAM make my coding much more difficult? Would it more effectively accomplish the lack of noticeable strobing artifacts?
4) How do I go about tying a user interface for color selection to the microcontroller? I'd like the program to be accessable solely on a website (as well as my home computer) where I would be able to save my different sets of color selections.
For instance:
Setting1 = 6 LED's RED
Setting2 = Rainbow Fade
Setting3 = Each LED displays a unique color
etc. for a multitude of settings.
Would this be difficult to implement? What programming language would be best for this goal? Can I use any language regardless of the microcontroller for the user interface/web program? I expect this to be where the bulk of my time is sunk. I'd like the option to refine and aesthetically design this with time, but initially all I require is functionality. I realize this question is probably the most open-ended, but any help would be greatly appreciated!
Ideally, I'd like to complete this project in ~50-80 hours but I realize this might be completely unrealistic. If you think it is (starting from square 1 as I basically am), please tell me so and give me a range you think would be more realistic. I realize it could possibly be well in excess of 100 hours. Thank you again, and please point out any areas where I am clearly misguided and point me in the right direction. Cheers!
I am starting a project and although I've taken electricity classes in college, I have very little practical knowledge as far as the project I have in mind. I will need to control 6 RGB LED's individually with a microcontroller. They will be operated by a rechargeable Lithium Ion battery most likely (3.3V). I need USB interface between the computer and the microcontroller. Finally, I will need to implement a user interface allowing simple color input scheme based on RGB component colors on three single axis (one red, one green, on blue) as opposed to a "color map" on multiple axis. Not sure if I'm using the correct terminology, but this is what I'm referring to, on the right as opposed to what's on the left:
http://www.flashandmath.com/intermediate/rgbs/
I will also want very simple control of (overall) brightness for the combination of three colors on a single slider of the same fashion.
I am looking for suggestions or resources which will help me in the following areas:
1) Picking a microcontroller. I've basically listed all the features I currently require. I've looked at Arduino and Teensy++ a bit and I just received a Stamp Basic microcontroller. I am open to any suggestions, but require USB as stated and definitely want to keep the price under ~$40. Ease of use and documentation are paramount as I am pretty much starting from scratch.
2) I am a bit confused about PWM and whether I could even use PWM unless I had 6*3 PWM ports (or whatever the word is for them) on the microcontroller. For instance, the Teensy++ has 9 PWM listed, would this only be sufficient for 3 RGB LED's with individual control? Can I connect the LED's to something other than the 9 PWM connects and still have the same control? Would the coding be different?
3) BAM Vs. PWM: would BAM be better for my needs? With PWM can you in general set the frequency to any value? I need there to be no noticeable strobing effect even at decent velocities. Would BAM make my coding much more difficult? Would it more effectively accomplish the lack of noticeable strobing artifacts?
4) How do I go about tying a user interface for color selection to the microcontroller? I'd like the program to be accessable solely on a website (as well as my home computer) where I would be able to save my different sets of color selections.
For instance:
Setting1 = 6 LED's RED
Setting2 = Rainbow Fade
Setting3 = Each LED displays a unique color
etc. for a multitude of settings.
Would this be difficult to implement? What programming language would be best for this goal? Can I use any language regardless of the microcontroller for the user interface/web program? I expect this to be where the bulk of my time is sunk. I'd like the option to refine and aesthetically design this with time, but initially all I require is functionality. I realize this question is probably the most open-ended, but any help would be greatly appreciated!
Ideally, I'd like to complete this project in ~50-80 hours but I realize this might be completely unrealistic. If you think it is (starting from square 1 as I basically am), please tell me so and give me a range you think would be more realistic. I realize it could possibly be well in excess of 100 hours. Thank you again, and please point out any areas where I am clearly misguided and point me in the right direction. Cheers!