Floor Buttons - Triggering Video Animations and LED Strip Colors

Hey everyone! Glad to be a part of the community, just joined up. Really enjoying learning about how to use Arduino.

That being said, I have an interesting application that I'm trying to wrap my head around and was hoping some of you guys might be able to help.

THE APPLICATION:

3 floor buttons. Center to begin "questions", left & right to choose between question a/b.
Each button will have NeoPixel strips around them, and will have pressure sensitive pads within to detect someone stepping on them as input.

I need to be able to send serial data saying which button has been pressed, and then I need to be able to return data back to the buttons to tell them to change colors/animations. Essentially they are just controlling another Arduino that is talking to TouchDesigner and telling it to trigger animations.

I'm thinking that I could accomplish this with 2 Arduinos hooked up through the TX/RX and transmitting serial data back and forth to one another. One to drive the button I/O and LEDs, one to talk to the software. Is that a reasonable assumption, or is it overkill/something I could easily do with a single device? How would you guys approach this scenario?

Thanks in advance for your help, really looking forward to hearing your thoughts!

or is it overkill/something I could easily do with a single device?

Yes.
Having more than one Arduino is seldom the answer. One Arduino sensing the pads and triggering off an animation on a WS2812b LED strip is something well within the capabilities of a single Arduino.

Then a serial link back to your computer can signal what has happened. The same serial link can send commands to the Arduino to trigger different animations.

DasBatman:
I need to be able to send serial data saying which button has been pressed, and then I need to be able to return data back to the buttons to tell them to change colors/animations.

Why? To where do you want to send the serial data?

To where do you want to send the serial data?

He said

Essentially they are just controlling another Arduino that is talking to TouchDesigner and telling it to trigger animations.

TouchDesigner runs on a laptop.

Thanks; I feel dumb.

Grumpy_Mike:
Yes.
Having more than one Arduino is seldom the answer. One Arduino sensing the pads and triggering off an animation on a WS2812b LED strip is something well within the capabilities of a single Arduino.

Then a serial link back to your computer can signal what has happened. The same serial link can send commands to the Arduino to trigger different animations.

Grumpy_Mike:
Yes.
Having more than one Arduino is seldom the answer. One Arduino sensing the pads and triggering off an animation on a WS2812b LED strip is something well within the capabilities of a single Arduino.

Then a serial link back to your computer can signal what has happened. The same serial link can send commands to the Arduino to trigger different animations.

Thanks so much for this. You're totally right, no need, as the base I/O button triggering program is so small that there is plenty of memory to run LED output.

One more question on the matter:

I notice that when sending serial data, I get 1's coming in on buttons that aren't being pushed when watching the input as I hold the button. Is there a good way to control that I/O data to make sure that the ons are coming in on the right button push into the software? I can't have ons leaking into the other button inputs as they will send incorrect pushes to the program and cause glitchy performance. Do I need to add more delay? Should I use a Serial flush? A bit confused on this.

What you need to do is to only send the one when the button becomes pressed not while it is being pressed.
So you remember state of the button last time you read it and only send the one if last time was unpressed and this time is pressed. This is known as a state change and there is an example of how to do it in the examples section of the IDE.