HomeBright : Contrôle d'éclairage domotique par gestes Leap Motion et Arduino UNO
Composants et fournitures
| Composant | Quantité |
|---|---|
| Arduino UNO | 1 |
| Contrôleur Leap Motion | 1 |
| LED (genériques) | 4 |
| Fils de connexion (jumper wires) | 10 |
Applications et services en ligne
- Arduino IDE
- Node.js + Cylon.js (framework robotique JavaScript)
À propos du projet
Cette application utilise Leap Motion et Arduino Uno pour créer un système domotique contrôlant l'intensité d'éclairage de pièces. Un plan de maison est mappé aux coordonnées Leap Motion : la position de la paume sélectionne la pièce, sa hauteur contrôle l'intensité.
Instructions
- Installer Node.js.
- Installer le SDK Leap Motion.
- Installer Cylon.js pour Arduino et Leap Motion (voir liens utiles).
Ou utiliserpackage.jsonpour installer tous les modules :npm install.
Comment lancer
node homebright-console.js
Liens utiles



Code
homebright-console.js (JavaScript / Node.js)
"use strict";
var cylon = require("cylon");
cylon.robot({
connections: {
leapmotion: { adaptor: "leapmotion" },
arduino: { adaptor: "firmata", port: "COM7" }
},
devices: {
leapmotion: { driver: "leapmotion" },
livingroom: { driver: "led", pin: 6, connection: "arduino" },
dininghall: { driver: "led", pin: 9, connection: "arduino" },
bedroom: { driver: "led", pin: 10, connection: "arduino" },
studyroom: { driver: "led", pin: 11, connection: "arduino" }
},
work: function(my) {
my.leapmotion.on("hand", function(hand) {
var on = hand.grabStrength > 0.5 ? false : true; // main ouverte = contrôle actif
var x = hand.palmPosition[0];
var z = hand.palmPosition[2];
var value = 0;
if (on) { value = hand.palmPosition[1]; } // hauteur = intensité
console.log(value);
// Mapping quadrants -> pièces
if (x > 0 && z > 0) {
my.livingroom.brightness(value);
} else if (x > 0 && z < 0) {
my.dininghall.brightness(value);
} else if (x < 0 && z > 0) {
my.studyroom.brightness(value);
} else {
my.bedroom.brightness(value);
}
});
}
}).start();
package.json
{
"name": "homebright-console",
"version": "1.0.0",
"dependencies": {
"cylon": "1.2.0",
"cylon-gpio": "0.27.0",
"cylon-i2c": "0.23.0",
"cylon-leapmotion": "0.20.0",
"serialport": "1.7.4",
"firmata": "0.5.5",
"cylon-firmata": "0.23.0"
}
}
Schémas


Processus de fabrication
- Construire un Spybot Arduino piloté par Bluetooth
- FlickMote : Télécommande IR à gestes pour maison connectée
- TV-B-Gone DIY Arduino : Télécommande universelle pour toutes les TV
- Construire une horloge maître LED personnalisée avec alarme – Visible à 12 mètres
- Find Me : Localisateur d'objets intelligent avec Arduino et Bluetooth
- Solutions d'alimentation optimisées pour projets Arduino
- Morpion sur matrice LED MAX7219 avec boîtier en carton
- Construire un robot quadrupède Arduino intelligent : guide étape par étape
- Volant Joystick Arduino Personnalisé pour Jeux Vidéo