How to 'bling' Up a Boring Staircase

71K25093


Intro: How to 'bling' Up a Boring Staircase

Well why indeed, Well why not!

This project has 2 distinct appeals to me.

1) For me, it does jazz up a very plain area of the house. It also does it in a way that is unique (I'm not aware you can buy this sort of thing from the local hardware or electronics shop - not yet at least),

2) There is a practical and safety element too here.

Practical - The hall and stairs a frequently used but only need to be lit whilst you walk up/down them. You can switch the lights on and off each time but even the energy miser that I am I forget sometimes to switch the off only to realise hours later that they are still on.

Safety - As this system is automaticaly switch on via passive infra red detectors (PIR), it might save a fall down the stairs at night if, either you risk walking down with the light off or someone unfamiliar with your house stumbles down because they can not find the wall switch for the lights

In this regard this project could also be installed in other 'traffic' areas of the house, particularly dark corridors whith little or no natural light.

STEP 1: Safety Notes

Whilst all the circuits you need to wire and construct are 5VDC and (as such are catagorised as extra low voltage) you are ok to work on a project like this with no electrical license. However I would point out the following notes:

1) You will need to get that 5VDC from a power supply connected to the mains. The easiest is to use a power supply with an already terminated plug. However, I decided to wire my system directly to a lighting circuit as it was the most convenient power (closest) to suit my needs. Get help with this step is you are not confident or competant - mains electicity can be a killer!

2) The DC ampage (amount of current) for this project is not insignificant. Make sure the 5VDC cable has conductors of sufficient cross section (thickness). A cable that is too thin could heat up and potentially cause a fire, although this is a worse case scenario I thought should just mention it.

STEP 2: Tools and Skills

I have tried to make this project achievable by the typical DIY person. Most of the project is to wire together bought components and construct a fairly simple DC circuit. The most challenging issue is to get access to install the wiring in and around the stairs, in this regard, the higher your skills and patience are the better the outcome
will be.

For the Wiring:

Soldering Iron - only a low skill level required.

Drill - to drill holes in stairs for wiring.

Wire cutter/stripper

Crimper and spade terminals for wire terminals - depending on how you terminate to the small control board

Multimeter - not absolutley necessary but an invaluable part of your toolbox if you plan to do more projects of this type!

Terminal screwdriver

Hammer - for cable clips

For Arduino:

You will need a computer with a USB connection and the Arduino IDE loaded.

Arduino IDE

Programming skills - not really required if you just download my pre-prepared program. However the more familiar you are with Arduino the easier this instructable will be to understand and you could modify the lighting schemea and or timings.

STEP 3: The Basis of the Project, an Adressable LED

Rather than use the common type of RGB (Red, Green, Blue) LED strip, this project uses a strip utilising WS2821B LED's. These LED's which come in a 5050 package (thats 5mm x 5mm square), have an additional 'inteligent' chip incorporated into each LED which allows it to be switched on independantly of the other LED's in the strip. This allows the user full, open and flexible control of the light and colour which is in stark contast to the sometimes garish FLASHING that LED strips can sometimes feel like.

I've added a PDF datasheet for the LED but this is just for your further interest and you do not need to read it to complete this project.

STEP 4: The Circuit

Here is a Fritzing circuit diagram. I had to improvise the PIR parts as they are not in the library, I hope this does not cause any confusion.

STEP 5: Powering the LED String

The LED chip string chosen for this project requires a 5VDC power supply. The current draw for these strips at full blast (RGB all on, eg white in colour) and at full brightness is as follows:

30LEDs/meter ~9 watts ~ 1.9amps @ 5VDC

60LEDs/meter ~18watts ~3.8Amps @5VDC

There are strips with higher number of LEDs/meter, right up to a whopping 144/meter but I think that that is a tad over the top for a bit of ambient background lighting such as this project.

I decided early on to use the 30LEDs/meter strip and as my staircase is 3.9 meters long I can expect the system to draw:

3.9 x 1.9 = 7.4Amps - thats quite lot. However, for the most time the strip will be running at much below this maximum but the system should be designed to cope with this peak current.

With this high ampage requirement comes 2 issues:

1) 5V power supplies at 10Amps (or 7.4Amps) are not as common as you might hope. I ordered one to come from the same e-bay supplier.

2) The issue of volts drop on:

a) The LED strip. If 5VDC is just inputted at one end then there will be a drop in volts due to the resistance of the thin copper strip. The reccomendation is to only power strips from one end for lenghts up to 1 meter. To remedy this I propose to power the strip in 2 mid points, 1 meter in from each end.

b) The 5Vcable itself. The choice of cable is also important to enure that the it has sufficient current carying capacity.

I will deal with both these issues in the next 2 steps.

At the end of this project I will check and verify these figures. See a later step.

The LED strip I purchased came from e-bay

e-bay link for LED strip

STEP 6: The 5VDC Power Supply

Hmmmm so I'm needing a 10Amp power supply.

The options are:

1) The E-bay supplier offers one.

e-bay link for 10A 5VDC power supply

In the end I did not use it in this project as I got hold of another one for free!

2) Here is a link to a frame style power supply, This should be installed in a project box/enclosure which is fine as we will need to have an enclosure for the Arduino, it will just need to be much bigger.

Frame style power supply

3) "double up" smaller (less capacity) power supplies - I personally don't like this solution but it should work.

4) A bench top power supply - ok for a temporary set up but not really suitable for a permanent installation.

STEP 7: The 5VDC Wire and the Wire Routing Scheme

This sounds complicated but is actually quite simple.

I've choosen this wire which I obtained from the local hardware store. It is twin 1.5mm2 stranded copper wire in a white PVC sheath.

1.5mm2 Twin Core Cable

The resistance for this wire is rated in the documentation from Olex as 13.6Ohms/km = 13.6/1000 = .00136Ohms/meter. This is the rating for DC use at 20DegC.

If I were to run 5VDC for 5 meters then the volts drop would be (using Ohms law where V=IR)

V (volts drop) = I(current)xR(resistance)

V = 7.4 x .00136 x 5(meters in length) = 0.05V which is nice and low = ok

This is ok but I also understand that for these strips that if you feed in the power only at one end then the LED's at the other end will be dimmer.

To get around this issue you can feed in the DC to multiple points on the LED strip - as per the diagram above

STEP 8: Install the 5VDC Wiring

If you have access under the stairs as I did it makes the installation much easier. If you don't I suggest you hide the cabling along the edge of the carpet and find a location for the controls at either the top or the bottom of the stairs. The location of the nearest 240/110V AC power will probably dictate the best location.

Install the 5VDC wire to the 2 locations on the stairs.

  1. Pull the carpet to one side to reveal the staircase itself.
  2. Drill a hole in the riser and thread the wire through to the underside of the staircase.
  3. Use a couple of cable clips to keep the cable from creeping or slipping.
  4. Replace the carpet.

STEP 9: Install the LED Strip

Starting at the top of the stairs lay the strip out and then fix it in a suitable position along the stair treads. In my case there was a convenient lip to hide the strip under. In my opinion it is better to have indirect illumination in this case so the more you can 'hide' the strip the better (as long as the light comes out and illuminates the treads of course)!

The strip is held in place with a combination of plastic clips and the odd dot of superglue.

STEP 10: Solder the 2 5VDC Power Feeds

Now it is time to solder the 2 x 5VDC power feeds. In my case the LED strip is encapsulated in a plastic square sectioned tube so it is necessary to carefully cut a small window in this area so that you can get access to the solder pads. After soldering I covered the joint with masking tape which happily is a similar colour to the carpet and paint!

STEP 11: Install the Wiring for the 2 X PIR's

2 PIR's need to be installed. One at the top of the stairs and one at the bottom. The PIR is used to detect motion in the same way tht a burgler alarm senses an intruder. The way PIR's work is that they constantly monitor the background infra red radiation (heat). When you move in front of the sensor you change the 'view' that the sensor has and an alarm can be triggered.

Littlebird Electronics link for PIR

Each PIR sensor has requires 3 wires.

1) +5VDC

2) 0VDC Ground

3) Signal wire

In my installation I used old spare cable I had in the garage, if I were to purchace cable the following cable would be suitable.

Jaycar alarm cable link (4 core)

Basically any 3 wires should be ok as the current consumption of these PIR's is very low and so there is no requirement for thick heavy cable.

Currently I have not mounted the PIR's satisfactorily. I was wanting work out the best angle to set them to before finally fixing them in position. It would be nice to have a 3D printer to make a specialised mini housing!

STEP 12: Install the Light Dependant Resistor (LDR)

Install the LDR in a position where it can detect the ambient light but will not be affected by either:

1) The LED's when they turn on or;

2) Any other light that may be installed in the hallway

I installed the LDR on the outside of the stair treads - its a pretty inconspicuous position and there is no hallway light near this location to intefere with the operation.

You could omit this feature if you are happy for the LED's to work 24/7. A minor change in the Arduino program would also be required. If you do include this then you will probably need to adjust the cut in/cut out point. Again this is a simple change to the Arduino program.

Jaycar link for LDR

STEP 13: The Arduino Controls

As I mentioned in the introduction this project is controlled by an Arduino. If you are unfamiliar with Arduino it is a the name given to a family of microprocessor based (Atmel AT Mega) printed circuit boards made to enable you & I to make projects that interface with the outside world.

Arduino Home Page

The software used to drive these microprocessors is based on C++ but you will not need to learn how to use this as I've provided the code in a later step and all you will need to do is download it to the board using your PC (via special USB cable).

I decided to use this Aruino board, the Arduino Pro Mini (5V 16Khz Version)

Arduino Pro Mini

This is a rather small board and in designed for use in semi-permanent installations and does not include a USB port on the board. If you are a newcomer to Arduino you may want to use a more "full Size" version such as the "Uno" or the "Micro"

Arduino Uno

Arduino Micro

As Arduino is "Open Source" you can either buy official hardware or clones from all sorts of sources. The choice is yours. I've used the one available from Sparkfun - around $10USD

Sparkfun Pro Mini

STEP 14: Mount the Arduino on a Small Piece of Perforated Board

Firstly I mounted the Arduino board onto a small piece of perforated board - This allows the field wiring to be easily interconnected and the board mounted into an enclosure.

1) I added an 8 way female header from Pin 13 to the GRD pin on one side of the Arduino

2) I added 6 male pin headers to the end of the board to ease programming

3) I supported the Arduino on the perf board with 3 x 2 pin headers in these locations.

pins 10 & 11

pins 6 & 7

pins tx & rx

STEP 15: Add Some Headers and Other Connections

I added 4 x 2 pin connectors onto the perf board

1) for 5VDC power input - this is to power the Arduino Pro Mini and the 2 x PIR sensors

2) & 3) for the PIR sensors

4) For the Light Dependant Resistor (LDR)

I added a 10k 1/8w resistor to act as a small current source for the LDR for the analoge input. (If the LDR has high resistance (when dark) the analog pin will be at 5 Volts).

I had the resistor already - you should be able to get one at your local electrical hobby shop - here is a link to a pack if ths helps:

Jaycar link for pack of 1/4w resistors

STEP 16: The Arduino Software

Here is attached the software for the Arduino.

The software is extensively commented so should be easy to read - so go ahead and check it out.

The function of the software is as follows:

When one of the Passive IR sensors the LED's will light up in the direction of travel - either up or down the stairs

After a period of time the lights will extinguish (again in the direction of travel). The LED's then display a 'waterfall effect' for a period of time ~30 sec then fade out.

In idle the first and last LED 'breathe' to show the program is looping.

The I/O is as follows:

DIGITAL

Pin 6 output for LED strip

Pin 10 input for PIR at the top of the stairs

Pin 11 input for PIR at the bottom of the stairs

Pin 13 output for Arduino on board LED (for debugging)

ANALOG

A0 for Light dependent resistor.

STEP 17: Loading Up the Software From a PC

As I used a Arduino pro mini I needed to use a special programming converter to load the program up to the board.

This is what I used:

Sparkfun FTDI USB Programmer

Of course if you have choosen to use an Arduino that already has the USB connector on board (such as the Arduino Uno) you will not need this and you can go ahead and load the program straight away.

1) Connect your PC/MAC to the Arduino over USB

2) Open the Arduino program IDE on your PC/Mac

3) Make sure you pick the correct board type and serial communications port under the "Tools" menu

4) Open the file provided in the last step

5) Press the "Upload" button - you should see the tx/rx led's on the Arduino board flicker for a few seconds as the program is uploaded.

That all - you can disconnect everything now and the programme is retained on the Arduino

STEP 18: The Installation Under the Stairs

I have used a small polycarbonate box and, well, in fact it was too small but I had it lying around and it just about fits!

Jaycar link for polycarbonate box

I added a fuse on the inbound 5VDC - it is currently a 10Amp one but I may reduce this later.

Jaycar link for fuse holder

I also added a 16V 3300uF electrolytic capacitor as recommended by the good people at Ladyada (they actually state 1000uF 6V or higher).

Here is a link for a 1000uF capacitor.

Jaycar link for capacitor

STEP 19: Actual Current and Power Consumption

Amperage in use:

Initially, I measured the DC usage at the 5VDC input so it does not include the efficiency of the power supply itself.

1) Idle = 0.152A = 760mW

2) All on (warm white) 0.857A = 4.285W

(In testing and setting up I discovered that I did not like the LED's (Fully on at '255'. I actually used 50, 50, 30 for R, G ,B settings to give a warm white colour).

3) all on (full blast, ie 255,255,255) = 4.036A = 20.18W

(4.9A is less than I calculated in step 4, (7.4A) . I'm not sure why there is such a wide discrepancy. Any ideas?!

To do a further check I decided to test the AC current into the power supply

1) All on (full blast, ie 255,255,255) = 0.139A = 30.0W (assuming power factor of 0.9)

2) Idle = 0.037A = 7.992W (no photo)

Clearly I could have used a much smaller power supply. Given the power supply is using about 8W in idle it may be better for me to swap this out at a later date. (8 x 24 = 192Whrs/day) = 70kWhrs/Year. Depending on your cost of electricity (curently 51c/kWh for me at peak rate) will alter your opinion on this issue!

STEP 20: Conclusions and Comments

So....whether you have a grand staircase with chandaliers or just a simple ladder, you can add a unique feature and get those LED's guiding your way in the dark!

As always comments and suggestions for improvements are most welcome.

80 Comments

Hi mate, I’m 70 years old and new to the Arduino world. I’ve read and researched a heap of information that’s given me a basic grounding and confidence to tackle some projects. I was writing a sketch to control my stair LEDs with mixed success when I found your YouTube vid and sketch. I’ve attempted to run your sketch but have a problem I hope you can help me with.
When I connect the PIR sensors the input at pin 10 is goes high with the LED at pin 13 constaflashing 3 times as though it senses movement . I’ve tested the PIRs in another sketch and all is good. I assumed it was the sensor that was faulty but neither is. I’ve tried both and both do the same thing. PIR output is HIGH when movement is detected and LOW when no movement. Any advice for this old fella would be appreciated.
Pete.
Hi there I’m new to this website so please be nice and bare with me if I ask dumb questions.

I’m really interested in wanting to make this project. I’m confident with doing the rest of project but I’m not confident in building of the circuitry with the Arduino Boars. Could you please help me on the construction side of the Arduino board ?
What sort of help do you need? The Arduino board is a purchased item so you only need to wire the board up to the sensors and power supply as per the schematics. If this is your first arduino project then I understand it will be daunting. If this is the case then the best thing would be to follow some arduino tutorials for 'getting started' before tackling this project
Hi, Nice project (y)

Im having issues with a few things. I also have the hc-sr501 with 144 Ws2812 LEDS
Ive followed each step ( newbie ) but im getting false readings by the PIR

If the LEDS arent plugged in but just the PIR and Board i can get it to read correctly showing the countdown etc without any further readings.
If i plug the LEDS in i get it detecting bottom i cover up the sensor i still get readings. ive tried in both Daylight and night the LEDS just detect after a few off readings

ive been going at it for a week any ideas?

see Code below

// "Bling" up your Staircase By Simon Jowett November 2014
// Thanks to the Neopxel Library by Adafruit
#include <Adafruit_NeoPixel.h>
#define PIN 6
// Parameter 1 = number of pixels in strip
// Parameter 2 = Arduino pin number (most are valid)
// Parameter 3 = pixel type flags, add together as needed:
// NEO_KHZ800 800 KHz bitstream (most NeoPixel products w/WS2812 LEDs)
// NEO_KHZ400 400 KHz (classic 'v1' (not v2) FLORA pixels, WS2811 drivers)
// NEO_GRB Pixels are wired for GRB bitstream (most NeoPixel products)
// NEO_RGB Pixels are wired for RGB bitstream (v1 FLORA pixels, not v2)
Adafruit_NeoPixel strip = Adafruit_NeoPixel(144, PIN, NEO_GRB + NEO_KHZ800);
// IMPORTANT: To reduce NeoPixel burnout risk, add 1000 uF capacitor across
// pixel power leads, add 300 - 500 Ohm resistor on first pixel's data input
// and minimize distance between Arduino and first pixel. Avoid connecting
// on a live circuit...if you must, connect GND first.
// Set up Variables
unsigned long timeOut=60000; // timestamp to remember when the PIR was triggered.
int downUp = 0; // variable to rememer the direction of travel up or down the stairs
int alarmPinTop = 10; // PIR at the top of the stairs
int alarmPinBottom =11; // PIR at the bottom of the stairs
int alarmValueTop = HIGH; // Variable to hold the PIR status
int alarmValueBottom = HIGH; // Variable to hold the PIR status
int ledPin = 13; // LED on the arduino board flashes when PIR activated
int LDRSensor = A0; // Light dependant resistor
int LDRValue = 0; // Variable to hold the LDR value
int colourArray[350]; // An array to hold RGB values
int change = 1; // used in 'breathing' the LED's
int breathe = 0; // used in 'breathing' the LED's
void setup() {
strip.begin();
strip.show(); // Initialize all pixels to 'off'
Serial.begin (9600); // only requred for debugging
pinMode(ledPin, OUTPUT); // initilise the onboard pin 13 LED as an indicator
pinMode(alarmPinTop, INPUT); // for PIR at top of stairs initialise the input pin and use the internal restistor
pinMode(alarmPinBottom, INPUT); // for PIR at bottom of stairs initialise the input pin and use the internal restistor
delay (2000); // it takes the sensor 2 seconds to scan the area around it before it can
//detect infrared presence.
for (int i=0 ;i < 350; i++) { // initilise the colourArray to zero
colourArray[i]=0;
}
}
void loop() {
LDRValue = analogRead(LDRSensor);
Serial.println(LDRValue);
if (timeOut+57000 < millis()) { // idle state - 'breathe' the top and bottom LED to show program is looping
breathe = breathe + change;
strip.setPixelColor(0,0,0,breathe);
strip.setPixelColor(143,0,0,breathe);
strip.show();
if (breathe == 100 || breathe == 0) change = -change; // breathe the LED from 0 = off to 100 = fairly bright
if (breathe == 100 || breathe == 0) delay (300); // Pause at beginning and end of each breath
delay(25);
}
if (LDRValue > 600) { // only switch on LED's at night when LDR senses low light conditions - you may have to change the number for your circumstances!
alarmValueTop = digitalRead(alarmPinTop); // Constantly poll the PIR at the top of the stairs
alarmValueBottom = digitalRead(alarmPinBottom); // Constantly poll the PIR at the bottom of the stairs
if (alarmValueTop == HIGH && downUp != 2) { // the 2nd term allows timeOut to be contantly reset if one lingers at the top of the stairs before decending but will not allow the bottom PIR to reset timeOut as you decend past it.
timeOut=millis(); // Timestamp when the PIR is triggered. The LED cycle wil then start.
downUp = 1;
topdown(); // lights up the strip from top down
}
if (alarmValueBottom == HIGH && downUp != 1) { // the 2nd term allows timeOut to be contantly reset if one lingers at the bottom of the stairs before decending but will not allow the top PIR to reset timeOut as you decend past it.
timeOut=millis(); // Timestamp when the PIR is triggered. The LED cycle wil then start.
downUp = 2;
bottomup(); // lights up the strip from bottom up
}
if (timeOut+10000 < millis() && timeOut+15000 < millis()) { //switch off LED's in the direction of travel.
if (downUp == 1) {
colourWipeDown(strip.Color(0, 0, 0), 50); // Off
}
if (downUp == 2) {
colourWipeUp(strip.Color(0, 0, 0), 50); // Off
}
downUp = 0;
// for (int i=0 ;i < 350; i++) { // Depending on your preference you may want to include this loop to clear out the colourArray
// colourArray[i]=0;
// }
}
if (timeOut+15000 < millis() && timeOut+54999 > millis()) waterfall(); // Waterfall effect to play between these times after a PIR trigger.
if (timeOut+55000 < millis() && timeOut+56999 > millis()) fade(); // Fade/switch off LED's
}
}
void topdown() {
Serial.println ("detected top"); // Helpful debug message
colourWipeDown(strip.Color(50, 50, 30), 40); // Warm White
for(int i=0; i<3; i++) { // Helpful debug indication flashes led on Arduino board twice
digitalWrite(ledPin,HIGH);
delay(200);
digitalWrite(ledPin,LOW);
delay(200);
}
}
void bottomup() {
Serial.println ("detected bottom"); // Helpful debug message
colourWipeUp(strip.Color(50, 50, 30), 40); // Warm White
for(int i=0; i<3; i++) { // Helpful debug indication flashes led on Arduino board twice
digitalWrite(ledPin,HIGH);
delay(200);
digitalWrite(ledPin,LOW);
delay(200);
}
}
// Fill the dots one after the other with a color
void colourWipeDown(uint32_t c, uint8_t wait) {
for(uint16_t i=0; i<strip.numPixels(); i++) {
strip.setPixelColor(i, c);
strip.show();
delay(wait);
}
}
// Fill the dots one after the other with a color
void colourWipeUp(uint32_t c, uint8_t wait) {
for(uint16_t i=strip.numPixels(); i < -1; i--) {
strip.setPixelColor(i, c);
strip.show();
delay(wait);
}
}
// Play the Waterfall effect
void waterfall(){
for(int i=347; i>-1; i--) { // Shift the RGB colours down in the colourArray[]
colourArray[i+3]=colourArray[i];
}
colourArray[0] = random(0,20); // Genearate the red component of the 1st LED at the top of the stairs
colourArray[1] = random(0,40); // Genearate the green component of the 1st LED at the top of the stairs
colourArray[2] = random(10,70); // Genearate the blue component of the 1st LED at the top of the stairs
for (int k=0; k<351; k=k+3) { // Set and send the colours to the strip
uint32_t c = strip.Color(colourArray[k],colourArray[k+1],colourArray[k+2]);
strip.setPixelColor(((k+3)/3)-1,c);
}
strip.show(); // and display the result
delay(35); // delay to simulate running water
}
// Play the LED fade out
void fade(){
for (int j = 0; j <70; j++) {
for(int i=350; i>-1; i--) {
colourArray[i]=colourArray[i]-1; // reduce intensity of light by 1
if (colourArray[i] <= 0 ) colourArray[i] = 0;
}
for (int k=0; k<351; k=k+3) {
uint32_t c = strip.Color(colourArray[k],colourArray[k+1],colourArray[k+2]);
strip.setPixelColor(((k+3)/3)-1,c);
}
strip.show();
delay(60);
}
breathe = 0;
change = 1;
}
So, have you managed to solve your problem? I changed my sensors for hcsr 501 but I still have the same problems as you ...
Hello,
I have the exact same problem as you, I own an arduino UNO, I have 455 leds and 2 PIR AM312.

Did you manage to solve your problem ??

I noticed thanks to the computer that the PIRs activate even if they are disconnected. (Sorry if there are comprehension problems, I am French).

thank you for your reply
Hi, I have another question, I saw you have 117 LED, my case is 76, I think I need to adjust some variables to match my LED quantity, but I am not sure how.

colourArray[350]
350 what is the math here?

Water Fall Effects I can see numbers 347 and 351:
117 x 3 = 351
347? what is the math here?

Fade:
350? what is the math here?

Thank you in advance


Hi Nice job you did, thank you very much for the share.

I am looking to change the Waterfall effect to Halloween effect, instead to user RED,GREEN and BLUE, I want to use Purple, green, red, and orange, where I need to make this change?

I think is here

colourArray[0] = random(0,20); // Genearate the red component of the 1st LED at the top of the stairs
colourArray[1] = random(0,40); // Genearate the green component of the 1st LED at the top of the stairs
colourArray[2] = random(10,70); // Genearate the blue component of the 1st LED at the top of the stairs
Hi!
Thank you so much for sharing your project. Have made the same as you and it was very good.
How do I change the time it takes to light up a step?
Have tried to change numbers values 10000 and 15000 without success.
Could you please help me?
Sincerely, Rune

"if (timeOut + 10000 <millis () && timeOut + 15000 <millis ())"
If I'm understaning your question correctly the speed at which the lights travel up or down the stairs is this command:
colourWipeDown(strip.Color(50, 50, 30), 40);
The 1st 3 numbers are the RGB colour and the 4th (40ms in this example) is the delay between updates, change this number.
Thank you very much for your help, now the steps light up at the pace I want. Thank you for all that you have posted and explained. Sorry for bad English I'm from Norway. Thanks again, Rune.
Hi
I am just getting all the parts together to put together this project.
Unforunately the l;nk supplied for the LDR is no longer valid, would you know of either another supplier of the part / its partnumber / or another manuacturer of a similar part that would work with your circuit.

Many Thanks.

Hi, thanks for this instructable, I have tried to build it but I found that it's working only up to 307 LEDs, If set up for more than 307 it's not working. I need 333 LEDs for my stairs. Do you have any advice what am I doing wrong.Thanks

did you work it out?
Yeas, I found out that Arduino memory is not big enough for running code with that many LEDs so I had to change it slightly and remove some of the effects. I think "colourArray" factor was tooo big for that many lights. In My case I used Arduino mini with 333LEDs and I had to reduce colourArray to 250. Few other lines in code had to be tweaked as well
i found the same problem last night. i changed to another arduino. i got the mega now. now everything works :)
hee!! nice tut!

Can you please help me?
i followed you tutorial, i insert the 576 leds if got. the right pin, but nothing happends.
sometimes 2 bottom lights turns on. there is no breath ore waterfall. when i upload my strandtest it works perfecly.
Hello. First of all I'd like to thank you for sharing with us this great and very useful feature. I'm really looking forward to make this happen for my staircase.
I'm not that familiar with Arduino Pro Mini and I would like to use an Arduino Uno. Can you please make a schematic/circuit for Uno please and to look like..."for dummies" :) Something like the attached picture.

Also, my staircase isin L shape with 3 spiral stairs, how can I implement this and still keep the good looks? or maybe have each step illuminated one by one.
Thank a lot!

Is there a way to speed up the leds going up and down the stairs. I find that I beat them up and down by 3 steps each time. Please let me know?

Thanks for your reply

Hi your led project very interesting I what to make the same. Can you help me or how ( Im new with this ) to disable the LDR sensor, I just don't have LDR right now.

Thank you

More Comments