I am building a multi-light strobe. I need to drive each of the LED's separately and want to be able to dynamically change the frequency (flash rate) of each individual light on the fly. For example, I'd like to be able to send a command to the device from my laptop to change the frequencies. This will ultimately enable me to store pre-designed sequences that could be fed into the LED strobe system. I have code to drive the individual lights now (http://123d.circuits.io/circuits/138205-multi-led-strobe/) and am curious on the approach I should take. Any help or resources is much appreciated!
It really depends on what use case you want to achieve. Will there be multiple devices controlled from a single laptop ? Do you want to remote control them ? Do you need to build a user Interface on your laptop or is command line ok ? Etc.
With respect to communication, you can simply go serial (via USB), which can be easily 'upgraded' to bluetooth using a Bluetooth serial module (search for HC-06), they are really easy to integrate with arduino.
As for the software side on the laptop, you can use pretty much anything as long as it can talk over the serial port. I personally enjoy Python for these kind of things.
Finally, you must decide on the 'protocol' you are going to use to communicate with your device. it would be simple strings that you parse, a custom binary protocol that you design, or you may want to use a serialization library that provides you with greater flexibility. I like using 'nanopb' in my arduino projects. It is a lightweight implementation of Google 'protobuffers'.
As I wrote, lots of design choices in there, feel free to plan a call if you want to discuss.