Hello everyone,
I have a question about possible software solutions for my project. Every year, I create a haunted house with many automatic features including lights, pneumatic doors, animatronics, and so on. So far, I have been using a program called S4A (Snap for Arduino) that helps to organize and streamline the coding process. It allows for quick and easy control over any component of the haunted house, allows me to create a user interface, and uses my computer's processing power instead of having to worry about Arduino's single threading limitation. While it is great for what I use it for, I'm looking to step away from this entry-level program and expand into a more "real world" approach.
While S4A does everything I need, I have recently been looking into alternative software that is more legitimate. I've been working on learning actual coding language, instead of cheating by using the drag and drop blocks in S4A. The problem I run into however, is that S4A does what I need way better than the traditional IDE. So while I would love to create the code in a more legitimate way, I'm stuck using S4A as I have not found a similar program and/or workflow.
So I'm wondering if anyone knows of a software that includes this kind of functionality, or knows of a different workflow that is optimized for a dynamic environment such as a haunted house, where there are hundreds of components working together off of multiple boards. I know it is possible, because theme parks and sequenced rides exist, but I need some advice on where to start.
Here is the list of features I currently employ in my haunted house:
-Multithreaded coding support
-Processing carried out on laptop computer rather than individual Arduinos
-Audio playback support
-User Interface on laptop
-Network communication via HTTP protocol that enables an app to be used to control the house
-The Arduinos simply receive sensor data and control relays and transistors.
Basically, I'm asking how someone with professional experience would go about creating an attraction like this in the simplest, most versatile way possible. Yes, I have a system that already works pretty good, but I'd still like to learn how to do it the "right" way.
Any help is greatly appreciated, and feel free to ask for more information. Thanks!