Robot's needed be mobile, walking, talking beings... so I plan to do something I doubt has been thought of before... I'm turning my staircase in to a robot Well, JARVIS is controlling it to be more specific. (Note: The title may say Add-On #1 but it's actually idea #127 - yes there really have been 126 other ideas before this one, and more since too... needless to say my ideas don't always come to light)
The History:
When walking up or down the staircase I want something that looks insanely awesome...
So, I had the idea of fitting LED strip to the underside of the stair rail, routered in to the rail so it is not visible at all until turned on and then just a wash of light coming from the rail.
Easy to do, it doesn't even need an EZ-B or EZ-Builder... You know what, that's not insanely awesome, it's just pretty awesome... Not good enough for me so back to the drawing board.
What if it looked kinda like runway lights when they turn on, you know one pair either side of the runway come on, then the next, then the next and so on. That would be pretty damn awesome right? But still not quite insanely awesome...
What if they were automatic? Pretty cool right? So we have cool and awesome but not insanely awesome...
What if they were totally automatic, direction dependent? You know, get to the bottom of the stairs and the trail lights from bottom to top. Get to the top and it lights top to bottom. Yeah that's pretty insane, we're on the right tracks now.
But what about turning off? What about changing your mind about going up?.. Sorted... ARC can do that...
So something insanely awesome? You tell me. I think so
The Plan:
Take sections of LED strip, fix to the underside of the stair rail, sensors top and bottom to detect movements, LED strips switched by the Digital ports of the EZ-B, Sharp IR sensors for the proximity detection, EZ-Script to set the dance in motion...
However since drawing it up I have found (thanks to Tony) some better IR sensors which would work much better and be less demand on EZ-Builder. So, as always, this is a work in progress, it will be adjusted throughout but it's a start.
What will happen is Sensors 1, 2 & 3 (3 is needed for coming down from up) will be triggered, EZ-Script will detect this, turn each section one one at a time with slight delay between. When the other sensor the other end (i.e. Sensor 2 if coming from downstairs or Sensor 1 from up) is triggered it knows you're done and will turn off the lights after a small delay (3 or 4 minutes).
If you trigger Sensor 1 then Sensor 1 again it will cancel the action.
If Sensor 1 is triggered and neither Sensor 1 or Sensor 2 within a minute or two then it alerts of a problem.
Photos, schematics, scripts etc. all will follow
Skip to comments
By Rich
— Last update
Other robots from Synthiam community

Bhouston's I Added Something To My Inmoov
I added something to my InMoov, can you tell what it is? I am flattered that EZ-Robot used my InMoov in their latest...

DJ's Jd Humanoid Controlled By Microsoft Kinect
Microsoft had sent me a Kinect a few years ago, and I embarrassingly finally got around to doing something with it. I...

Ezang's New Hand Progress, 3D Printing, Glyphs , Ultrasonic,...
I am using ARC software with 2 iotinys controller, 2 EzB4 controllers - 3 EZ-ROBOT 1300 lithium batteries for the four...
Hopefully this will also inspire others to think up awesome ways to use the EZ-B or to use this idea. I have another plan for external lighting that will be awesome (but will be kept under wraps for now).
I forgot to mention, this will be using EventGhost to know when it is dark enough to illuminate the strips too, which should hopefully demonstrate the telnet abilities of ARC and how simple it can be to link ARC to other applications.
@Josh, I already have automatic lighting through RF modules and an RFXCON RXFTRX433. Currently it's only activated via voice, time, web page, tablet/smart phone and the original switches but soon it'll know when I'm home (based on detection of bluetooth devices). This isn't done with the EZ-B for the simple fact it's mains voltage and I don't want to mess with that if I can help it.
Excuse the mess, it was taken while decorating/building.
Pretty much a blank canvas for the entire staircase.
Currently there is an external photocell fitted for the outside light. The photocell is RF and Jarvis already aware of it's status. On change EventGhost picks up the event and a simple Python Script in EventGhost writes this change to the MySQL database.
A PHP web page has also been already written which will lookup the data in the MySQL database and display a simple "On" or "Off" on the web page. A further overview web page exists however this holds a lot more information therefore would require parsing for use in ARC. The simple PHP page photocellstatus.php was the simplest option.
I'll post the PHP code and Python Scripts when I get home and have the chance to tidy them up a little.
Code:
This now checks for the status every 10 seconds and is stored in ARC as $lightsactive. This can now be used to enable other scripts to only work when either dark (or light) outside.
With that running and ARC aware of the photo cell status we can now look at the next part of activation. Time based. While it may not necessarily be used I will have it there just in case I change my mind.
Code:
This one will check if the time is between 23:30 and 05:30, if it is then it sets $lightsenabled to 0 otherwise $lightsenabled is set to 1. At the end it waits for the minute to change (i.e. a different method of waiting or sleeping for 1 minute) and loops back to the start again.
Now we have;
$lightsactive
$lightsenabled
Now we have the "dependencies" on whether the lights should work we can move on to the sensors and getting the lights working...
For the lights to work, $lightsactive and $lightsenabled both need to be on, or set to a 1. The sensor must also be triggered, since there will be two sensors (originally three sensors however I think I may get away with using only two) in this case and the direction of the dance depends on which sensor is triggered we need to periodically check for triggering of each sensor and then run the correct sequence.
Code:
Sequence1 & Sequence2 will be the scripts to illuminate the lights in the correct order, check for triggering of the sensors again to determine the direction the lights turn off, timing of the lights etc.
The bottom of the staircase (Sensor 1) takes priority over Sensor 2. This has assumed the sensors are digital on/off type (or pressure plates) connected to D0 and D1 and will, on being triggered, supply +5V to the signal pin of the port(s).
The code for Sequence 1 and Sequence 2 will follow another time. Hopefully the above does two things, 1. flags up any errors I may have made (which happens) and 2. explains a few of the commands and built in variables in EZ-Script and how they can be used. It also means I can work on scripts while at work and have them ready to copy and paste in to ARC when I get home
The main point in this project/add on is to use the EZ-B and ARC. I've wanted to use it as part of Jarvis for a while and just needed to find something that required (or could do with) a little bit of extra help from the EZ-B