Fabriquer un éclairage automatique d’escalier avec Arduino

Voici comment réaliser un éclairage automatique et progressif d’escalier façon arc-en-ciel ! Fini de se lever la nuit en utilisant la lumière de son portable pour éviter d’allumer !

Fabriquer un éclairage automatique d'escalier avec Arduino
Lire cette vidéo sur YouTube.
Tuto fabriquer un éclairage automatique d’escalier avec Arduino

Pour cela j’ai utilisé des goulottes pour câbles où sont installées des LEDs NeoPixel. La détection est assurée en haut et en bas par des détecteurs de présence PIR, installés dans les supports imprimés en 3D. La partie « intelligente » est confiée à un Arduino Nano.
Un capteur de lumière permet de n’activer le système que si il fait assez sombre, et 2 potentiomètres permettent les réglages, l’un pour la sensibilité à la lumière, et l’autre pour la durée d’allumage (0 à 5 minutes)

Matériel :

Dans cette vidéo, je vous présente aussi un Stater Kit avec tout ce qu’il faut pour débuter avec Arduino.
Ce kit m’a été offert par ELEGOO. Si j’ai accepté c’est parce qu’ils proposent un bon kit de démarrage à un prix tout à fait abordable, et qu’il est bien fait, complet, et en français. Mais sachez que dans tous les cas, je reste maitre des choix, contenus et jugements dans mes vidéos.

Le schéma électronique est dispo ici :

Le support 3D à imprimer :

Galerie photos :

Circuit imprimé et schéma électronique :

Code Arduino :

#include <Adafruit_NeoPixel.h>
#ifdef __AVR__
  #include <avr/power.h>
#endif

#define inIR_H 		  2  // Input PIR top
#define inIR_B 		  3  // Input PIR bottom
#define PIND        6  // Input Neopixel right
#define PING        5  // Input Neopixel left
#define PHOTOSENS   A0 // Input Photoresistor
#define POTARLUM    A2 // Input Brightness detection adjustment
#define POTARTPS    A4 // Input Light duration adjustment
#define NUMPIXELS   13 // Number of pixel by side

bool IR_H = LOW;
bool IR_B = LOW;
bool MemH = LOW;
bool MemB = LOW;

int PhotoVal;
int AdjLum;
int AdjTps;
long AdjTpsMil;


Adafruit_NeoPixel pixelsD = Adafruit_NeoPixel(NUMPIXELS, PIND, NEO_GRB + NEO_KHZ800);
Adafruit_NeoPixel pixelsG = Adafruit_NeoPixel(NUMPIXELS, PING, NEO_GRB + NEO_KHZ800);

void setup() { 
  pinMode(inIR_H,INPUT);
  pinMode(inIR_B,INPUT);
  
  pixelsD.begin();
  pixelsG.begin();
  
  pixelsD.clear();
  pixelsG.clear();

  pixelsD.show();
  pixelsG.show();
}

void loop() {
  
  PhotoVal = analogRead(PHOTOSENS);
  AdjLum   = analogRead(POTARLUM);
  AdjTps   = analogRead(POTARTPS);

  AdjTpsMil = AdjTps / (1024 / 300); // 0 to 300 seconds (5 minutes)
  AdjTpsMil *= 1000;         // to miliseconds
  
  IR_H = digitalRead(inIR_H);
  IR_B = digitalRead(inIR_B);
  
  if (IR_H != MemH){
    if (IR_H == HIGH and PhotoVal < AdjLum){
      downHigh();
      delay(AdjTpsMil); 
      downLow();
    }
    MemH = IR_H;
  }

  if (IR_B != MemB){
    if (IR_B == HIGH and PhotoVal < AdjLum){
      upHigh();
      delay(AdjTpsMil); 
      upLow();
    }
    MemB = IR_B;
  }  
  
}

void downLow() {
  int16_t i, j;
  
  for(i=0; i<=NUMPIXELS; i++) {
   	long lngRGB = pixelsD.getPixelColor(i);	// actual color
   	uint8_t u8R = (uint8_t)((lngRGB >> 16) & 0xff),
    	    u8G = (uint8_t)((lngRGB >> 8) & 0xff),
    	    u8B = (uint8_t)(lngRGB & 0xff);
 
    for(j=1; j<10; j++) {
      pixelsD.setPixelColor(i, u8R / j, u8G / j, u8B / j);
      pixelsG.setPixelColor(i, u8R / j, u8G / j, u8B / j);
      pixelsD.show();
      pixelsG.show();
      delay(15);  
    }      
    pixelsD.setPixelColor(i, 0, 0, 0);
    pixelsG.setPixelColor(i, 0, 0, 0);
    pixelsD.show();
    pixelsG.show();    
    delay(500);      
  }
}


void downHigh() {
  int16_t i, j;
  int32_t Color[3];
  
  for(i=0; i<NUMPIXELS; i++) {
    for(j=20; j>0; j--) {
      Rainbow(256 / NUMPIXELS * i, Color);   
      pixelsD.setPixelColor(i, Color[0] / j, Color[1] / j, Color[2] / j);
      pixelsG.setPixelColor(i, Color[0] / j, Color[1] / j, Color[2] / j);
      pixelsD.show();
      pixelsG.show();
      delay(5);  
    }
    delay(200);    
  }
}

void upLow() {
  int16_t i, j;
  
  for(i=NUMPIXELS; i>=0; i--) {
    //Serial.println(i);
   	long lngRGB = pixelsD.getPixelColor(i);	// actual color
   	uint8_t u8R = (uint8_t)((lngRGB >> 16) & 0xff),
    	    u8G = (uint8_t)((lngRGB >> 8) & 0xff),
    	    u8B = (uint8_t)(lngRGB & 0xff);
 
    for(j=1; j<10; j++) {
      pixelsD.setPixelColor(i, u8R / j, u8G / j, u8B / j);
      pixelsG.setPixelColor(i, u8R / j, u8G / j, u8B / j);
      pixelsD.show();
      pixelsG.show();
      delay(15);  
    }      
    pixelsD.setPixelColor(i, 0, 0, 0);
    pixelsG.setPixelColor(i, 0, 0, 0);
    pixelsD.show();
    pixelsG.show();    
    delay(500);      
  }
}

void upHigh() {
  int16_t i, j;
  int32_t Color[3];
  
  for(i=NUMPIXELS; i>=0; i--) {
    for(j=20; j>0; j--) {
      Rainbow(256 / NUMPIXELS * (i * -1 + NUMPIXELS - 1), Color);   
      pixelsD.setPixelColor(i, Color[0] / j, Color[1] / j, Color[2] / j);
      pixelsG.setPixelColor(i, Color[0] / j, Color[1] / j, Color[2] / j);
      pixelsD.show();
      pixelsG.show();
      delay(5);  
    }
    delay(200);    
  }
}

void Rainbow(byte WheelPos, int32_t TheColors[3]) {
  WheelPos = 255 - WheelPos;
  
  if(WheelPos < 85) {
    TheColors[0] = 255 - WheelPos * 3;
    TheColors[1] = 0;
    TheColors[2] = WheelPos * 3;
  }
  else if(WheelPos < 170) {
    WheelPos -= 85;
    TheColors[0] = 0;
    TheColors[1] = WheelPos * 3;
    TheColors[2] = 255 - WheelPos * 3;    
  }
  else {
  	WheelPos -= 170;
    TheColors[0] = WheelPos * 3;
    TheColors[1] = 255 - WheelPos * 3;
    TheColors[2] = 0;    
  }
}

Suite à plusieurs demandes voici la version du code Arduino sans photocellule et sans le potentiomètre de réglage de luminosité associé : Stair2.ino

Fabriquer un escalier à double limon central en bois

Une vidéo pour vous monter comment réaliser cet escalier moderne à un coût raisonnable. Il est composé de 2 limons rapprochés, et de 14 marches sans contremarches. Ce qui donne l’impression d’être dans le vide.
Désolé pour la qualité des images, j’ai fabriqué cet escalier en 2010, je n’avais pris que des photos à l’époque et elles n’étaient pas toutes de bonne qualité.

Fabriquer un escalier à double limon central en bois
Lire cette vidéo sur YouTube.

Matériel escalier :

  • 2 madriers de 75 x 225 mm x 5 m
  • 14 marches en hêtre massif lamellé collé de 38mm d’épaisseur (2 plans de travail de 250 x 65 cms)
  • Barre à rideaux en bois diamètre 30mm
  • Equerres et vis

Matériel rampe:

  • 4 poteaux en hêtre 70 x 70 mm x 1,18 m
  • 2 mains courantes alu
  • 2 embouts de tube + 1 raccord (main courante)
  • 4 câbles complets (câbles à rideaux)
  • Visserie

Outillage :

  • Scie circulaire
  • Défonceuse
  • Visseuse
  • Outillage à main

Coût escalier : environ 260 €
2 madriers (2x30) + 2 plans de travail (2x89) + divers = 260 €
Comptez 2000 € dans le commerce.

Coût rampe : environ 210 €
4 poteaux en hêtre (4×22,5€) + 2 mains courantes alu (2×35€) + 2 embouts de tube (19€) + 1 raccord de tube (5€) + 4 câbles complets (4×4,9€) + visserie (~6€) = 210 €.
La même toute faite dans le commerce ~= 800 € (il faut compter 200 € / mètre)

L’escalier :

La rampe :

Comment fabriquer une rampe d’escalier moderne

Mise à jour d’octobre 2020 : une vidéo de la fabrication de l’escalier est dispo !

Fabriquer un escalier à double limon central en bois
Lire cette vidéo sur YouTube.
Fabriquer un escalier à double limon central en bois
Blog de magicmanu :Aménagement de notre maison, Comment fabriquer une rampe d’escalier moderne

Question sécurité, on a finalement ajouté une rampe sur notre
escalier fait maison. Il est constitué de 4 poteaux en
hêtre, une main courante en aluminium et des câbles d’acier
tendus.

Ce genre de rampe est hors de prix, j’ai donc trouvé des
astuces pour avoir le même rendu à un coup raisonnable. A commencer
par les câbles : j’ai utilisé des câbles pour rideaux
équipés de leurs supports et tendeurs :

Blog de magicmanu : Aménagement de notre maison, Comment fabriquer une rampe d’escalier moderne

4 poteaux en hêtre massif sont coupés à 90 cms et vitrifiés (2
couches de vitrificateur gel V33 escalier comme pour lesmarches) :

Blog de magicmanu : Aménagement de notre maison, Comment fabriquer une rampe d’escalier moderne

Les poteaux d’extrémité reçoivent les supports des
tendeurs de câbles :

Blog de magicmanu : Aménagement de notre maison, Comment fabriquer une rampe d’escalier moderne

Pour les poteaux intermédiaires j’ai fabriqué des supports
avec des tubes d’alu :

Blog de magicmanu : Aménagement de notre maison, Comment fabriquer une rampe d’escalier moderne

Blog de magicmanu : Aménagement de notre maison, Comment fabriquer une rampe d’escalier moderne

Les 4 poteaux terminés :

Blog de magicmanu : Aménagement de notre maison, Comment fabriquer une rampe d’escalier moderne

Ils sont fixés sur les marches avec des tire-fond de
10x100mm et cachés avec des caches boulons :

Blog de magicmanu : Aménagement de notre maison, Comment fabriquer une rampe d’escalier moderne

Blog de magicmanu : Aménagement de notre maison, Comment fabriquer une rampe d’escalier moderne

Ils sont aussi maintenus sur la marche du dessus par une longue
vis :

Blog de magicmanu : Aménagement de notre maison, Comment fabriquer une rampe d’escalier moderne

Des équerres sont pliées au bon angle et vissées sur la main
courante (tube d’alu diamètre 40mm) :

Blog de magicmanu : Aménagement de notre maison, Comment fabriquer une rampe d’escalier moderne

Les tendeurs aux extrémités :

Blog de magicmanu : Aménagement de notre maison, Comment fabriquer une rampe d’escalier moderne

Le câble passe par les supports intermédiaires :

Blog de magicmanu : Aménagement de notre maison, Comment fabriquer une rampe d’escalier moderne

Ils reçoivent des bouchons en plastique pour la finition (venant
de vis plastique) :

Blog de magicmanu : Aménagement de notre maison, Comment fabriquer une rampe d’escalier moderne

Terminé : une rampe solide et design :

Blog de magicmanu : Aménagement de notre maison, Comment fabriquer une rampe d’escalier moderne

Pose escalier

Blog de magicmanu :Aménagement de notre maison, Pose escalier

Il est installé ! Avec Olivier, mon beauf, on a assemblé et
installé l’escalier, il s’intègre bien dans la pièce :

Blog de magicmanu : Aménagement de notre maison, Pose escalier

Les 2 limons qui soutiennent les marches :

Blog de magicmanu : Aménagement de notre maison, Pose escalier


Blog de magicmanu : Aménagement de notre maison, Pose escalier


Blog de magicmanu : Aménagement de notre maison, Pose escalier

Reste quelques finitions et on pourra repeindre le plafond et
les murs.
Merci à Olivier pour son travail propre et précis {#}

Retrouvez les détails de la fabrication de cet escalier
ICI.

Escalier, les fixations

Blog de magicmanu :Aménagement de notre maison, Escalier, les fixations

J’ai équipé les limons pour la fixation des marches (petites
équerres) et pour fixer l’escalier à la trémie et au sol.
4 grosses équerres seront fixées en haut (dans la charpente) avec
des boulons + écrous de 10mm et en 2 bas dans le carrelage.


Blog de magicmanu : Aménagement de notre maison, Escalier, les fixations

Installation lundi si tout va
bien…

Retrouvez toute la rubrique Escalier

Finitions escalier avant assemblage

Blog de magicmanu :Aménagement de notre maison, Finitions escalier avant assemblage

Voilà où j’en suis avec la fabrication de l’escalier, j’ai
découpé 28 morceaux de bois dans une barre à rideaux pour soutenir
les marches :

Blog de magicmanu : Aménagement de notre maison, Finitions escalier avant assemblage

Les limons ont été poncés et les bords arrondis à la défonceuse,
j’ai ensuite percé les trous avec une mèche de 28mm pour placer les
« tubes » (enfoncés et collés) :
Blog de magicmanu : Aménagement de notre maison, Finitions escalier avant assemblage
(On aperçoit aussi les trous dans le « V » pour la fixation des
marches)

Ce que ça va donner avec les marches :
Blog de magicmanu : Aménagement de notre maison, Finitions escalier avant assemblage

Peinture en blanc : les limons ont reçus une couche d’apprêt
bois et 2 couches de blanc brillant :
Blog de magicmanu : Aménagement de notre maison, Finitions escalier avant assemblage

Et voilà la bêbête en blanc avec sa corne sur la tête !
{#}
Blog de magicmanu : Aménagement de notre maison, Finitions escalier avant assemblage