Ontario : Triggering very bright lights using Arduino

The challenge of remoting this project is that it’s very mechanical, and could go several ways - often a personal preference if the developer.

Basics - whether you use direct pin inputs or shift-registers... maintain a constant background process that scans and tracks all the input pins. (longer wire runs may require some conditioning - hence the thought about serial)

This will give you near-real-time strike status. (Also worth considering a sync clock between nodes if they are used... to enhance ‘pulse’ style effects.)

Then you probably need to build an array of timers and time constants to manage every possible output.
Now comes the tricky bit (depends on the hardware interfaces)...
You have to calculate on/off or PWM decay level for every channel, and output that against the continuously running timer values.
Having a local serial coprocessor may also help, as each local cpu will have its own pwm outputs- to drive the drivers.

As you can see, there are a lot of options, and the project needs to be ‘designed’ to get the best results. It could look great, and easily become a saleable product if it’s easy for others to retrofit.

Ask the mods to bump this over to Gigs and Collaborations - put Canada in the title, you may get lucky with winter coming!

Ok so in the meantime, from what I gather (for my own notes):

  1. I need to decide on the input being direct pin or shift-registers. Either way maintain background process that scans/tracks all the input pins.

Question: What do you mean by "sync clock between nodes if they are used."

  1. Build an array of timers/time constants to manage every possible output.

  2. This has lost me can you provide a resource(s) for me to check out:

"You have to calculate on/off or PWM decay level for every channel, and output that against the continuously running timer values.
Having a local serial coprocessor may also help, as each local cpu will have its own pwm outputs- to drive the drivers."

How would I go about asking the mods to do that? Sorry... new here. Cool to know that I could get some return from this; but I agree that I want it designed first before I build it.

Sync clock... a means of deferring a complex command, then ensuring all the nodes fire simultaneously. Only necessary if you use the distributed cpu model.

  1. Every strike occurs at a moment in time, you need to track this so you can calculate the decay over time ‘after the event’. This will become the PWM value sent to the driver for te associated channels.***

e.g. an array of structs for each input - for event timing, and another array of structs for each output - to keep track of of the current pwm value and ramp speed.

*** This adds another possible twist.
You may like to map different outputs to different input events at different times during the performance... e.g. bass drum fires all outputs, not just the bass LEDs, or at other times, it fires some other combination of LEDs...
If you had a twin kit, you could animate ‘rotating wheel’ effects across the twins’. (just fun!). RGB adds a whole nother dimension!

Ok, I can actually follow all that, thanks for clarifying.

I think at this point ill need some hand holding to build this thing.

You mentioned that's not something you're comfortable with doing remotely, if we could work out some loose terms it may be possible.

If not, how would I go about asking the mods to shift this to the Gigs & collab forum?

Below the posts, there is a link “Report to moderator”. give that a shot.

Get back in touch if your chosen developer wants more info but I expect he’ll be pretty good, otherwise he’s going to struggle with all the concurrent action.

Depending on their preference, they will probably sketch out a black cm diagram and game plan - otherwise a project like this can get lost and out of control pretty quickly. Documentation is really important!

Ok sounds good. Thanks for your help.

Although I'm more looking to build/do this myself than off-load it on a developer (I can't really afford that :P)

Maybe i’m different, but this is a very tactile project, and needs the developer to understand exactly why certain hardware decisions were made - and how to interact with that hardware.
Yes it could be done remotely, but the costs involved - regardless of the actual project cost, could make it prohibitive,

What’s your level of coding experience? Any links? The hardware fabrication is a whole other area of skill.

For personal reasons I'm going to hold off on posting anything to my github. But a short summary is that I work for an Analytics Firm that does custom Machine Learning and Artificial Intelligence in Python, and I'm currently top 20 on a kaggle competition! In highschool I did some computer engineering and currently build custom high end PCs for people.

I suppose I'll see what the quote would be to guide me on something like this.

Do you have any good guides/tutorials on each of the steps you specified as being necessary?

Because you’re looking at Arduino, and this is definitely a real-time system - you’ll have to think C/C++ or lower.
The luxury of 4th gen languages will introduce too much variance in timing of (everything). You need to control aspect if execution down to 20-50mS consistently.

Edit the title...
Sync real-time LEDs to drum kit (Canada)

I suggest looking at the Adafruit site for LED projects to get an idea of what is available. For insanely bright RGB LEDs that can be controlled from an Uno, look no further. Think NeoPixel on steroids.

Thanks gd! From the description it looks like exactly what I'm looking for. Do you have a good idea of how to chain all the elements described from the posts above?

The Pixie's look like they'll do the job nicely ! USD 15 a pop... (ouch)

OP, organise the (hard part) mounting, comms and code - and you're there.
The nice thing here is that they have a gamma-corrected PWM driver on-board, so nothing else to think about at that level.

Depending on the distance between LEDs and strings, you may look at RS485 for the 2-wire interface at high speeds.

This drum project uses ws281x LEDs and the sound sensor is a microphone. I suggest studying this project to how the CPU (gemma) takes input from the microphone and controls the LEDs. Once you understand how this project works, you can substitute for high power 3W LEDs which means bigger batteries or maybe switch to AC power. Or maybe just use more normal LEDs to get more light.

Nice simple solution.
Easy to learn, then expand when you have the knowledge and experience.
Also easy to do within a month!

Do you think the latency will get very high on a system that uses microphones? Can they be subbed out for the piezo sensors once ready? There's also the issue that with mics you can't control what it reacts to... so if i hit one drum it will trigger other lights most likely, so is it just a matter of switching the sensor? I appreciate you showing me this, looks close to what I want given I can really turn up the brightness.

That looks like a great place to start and could translate easily to my actual use if it just comes down to adding more power + brighter lights.

Thanks you two, before I go and try that, is there any limitations to this method for scaling up? What does the more complicated solution cover that this one wouldn't?

Sorry, I have no experience building the project. You may have experiment with microphone vs. piezo to see which works best. There is a gain control for the microphone so turning the gain down might make it react only to its drum. But I am not sure.

I see, ok. Maybe someone else will see this! Still looking to collab in Ontario :smiley:

MrSelleck:
I see, ok. Maybe someone else will see this! Still looking to collab in Ontario :smiley:

How is the project going so far?

aarg:
How is the project going so far?

I haven't started building it yet, I'm trying to get ahold of (Redirecting...)

Otherwise I'll build it first the way gd presented. However still looking to collab with someone that can provide regular guidance/answer my questions. Why? Are you interested?