To be frank, the Star Trek Doors project has been a “back-burner”, a project slowly evolving in the background while my brother-in-law and I are also busy with everything else in our lives.
Just lately, I’ve had a bit of free time, so I got back in to learning Arduino and figuring out how to properly drive the air valves from it.
I was able to spend some time modifying a tutorial on buttons to apply to the project. I wired up an old industrial push-button control to operate the air valves. The buttons send a signal to the Arduino, which then sends an output to a relay on a four-relay board. The relay then applies power to the air valve. The great thing about using an Arduino, instead of hardwiring a button straight to a relay, is that I can use the code to change the properties of the button push.
For example, the buttons are momentary on. They only complete the circuit as long as the button is held down. In this project, that means holding down the button until the door is all the way open or close. Not a big deal, but wouldn’t it be better if you simply pressed the button briefly, and the door then did whatever it had to?
In the “IF..ELSE….” section of code, I simply added a delay after activating the valve. That leaves power to the valve ON for whatever I set the delay to, for example, a second or two – however long I expect it would take for the door to fully open or close.
The other neat thing about a “coded” button is that I can make it do more than one thing at once! I had some 12V LED light tape kicking around and I wired it up to the third relay. Now, the button could not just activate the OPEN valve, but also turn on a light. I think it would be pretty slick to have LED light all the way around the door frame that turns on and off as the door is used. By modifying the code, I can have the button open or close the door AND turn that light on or off.
Besides doing more than one thing at once, I can also use code to create a series of actions. I set up the STOP button so that it would open the door, pause long enough for a person to go through, then close the door. It would also activate the light at the beginning of the actions and turn it off at the end. (Of course, this will still need a safety added. You do NOT want the door to close with a person standing in it…)
For those of you experienced in programming Arduinos, this probably seems pretty simple to you. In my case, it’s pretty new and I’m just learning, but loving the fact that I can change machine behavior with just a few clicks.
I mounted the valves, the Arduino and breadboard, the relay board, and a 12V fuse board, all down to a piece of plywood. It’s still not that pretty, but at least I have a functional “control panel” that’s all together. For the moment, everything is running from a single 12V power supply, except the Arduino. Since I was programming it, I had that running on a USB cable anyways. I’ll still want to wire that up with a DC barrel connector to run it from the 12V as well.
In the mean time, Fred has still been working on the physical doors themselves. The garage side of the doors are finished, other than paint. On the inside, he started building the interior false wall, which will hide the doors when they are retracted. This includes a geometric upper bump-out for the connecting bracket to pass through.
He also built the decorative door frame for the garage side. It’s flat wood, but with pieces cut in a geometric pattern and contrasting colors. The middle horizontal pieces were laminated together by cutting wood to two different lengths, then alternating them and gluing them together. The planned finish for the wood frame is to stain it with contrasting light and dark wood stain. The finished effect should be somewhat steam-punk sci-fi.
This whole “panel” that I’ve been working on will still need some cleaning up. I’m using a very large power supply for the moment. I’d like to trim that down to a more typical “wall-wort”. I think we also want to have power for the project all running through a switched outlet. That way, if something is ever not working right, we can just flip a switch to turn it off, and open and close the doors manually. I’m using a physically very large fuse board, which supports multiple circuits. I really only need something small and simple. A single 12V fuse should probably be fine. I also need to find a good way to attach the tiny jumper wires from the Arduino to the physically larger wires (18 ga lamp cord) that I’m using to go to the buttons. Maybe there’s some sort of small screw-down terminal strips I can use, or a custom circuit board with everything wired to it? I do NOT intend to use alligator clips between the two in any sort of permanent fashion!
So, that’s your update for now. Look for more soon!
PS: To see everything on this project, visit the project home page: http://ecoprojecteer.net/star-trek-doors/