HomeBright: Controle Inteligente de Iluminação Residencial com Leap Motion e Arduino UNO
Componentes e Materiais
| Arduino UNO | 1 | |
| Controlador Leap Motion | 1 | |
| LED (genérico) | 4 | |
| Jumpers (genéricos) | 10 |
Aplicativos e Serviços Online
- Arduino IDE
Sobre o Projeto
Este aplicativo usa LeapMotion e Arduino Uno para criar um sistema de automação residencial que controla a intensidade da iluminação dos cômodos. Uma planta baixa da casa é mapeada para as coordenadas do LeapMotion para determinar um cômodo específico. Enquanto a posição da palma controla a iluminação de um cômodo alvo, elevar ou abaixar a palma controla a intensidade da iluminação do cômodo.
Instruções
- Instale node.js
- Instale Leap Motion SDK
- Instale Cylon.js para Arduino e Leap Motion (Consulte links úteis abaixo)
- Ou use o package.json para instalar todos os módulos node necessários
Como Executar
Execute: node homebright-console.js (Consulte seção de código)
Links Úteis
- https://developer.leapmotion.com/
- https://cylonjs.com/documentation/platforms/arduino/
- https://cylonjs.com/documentation/platforms/leapmotion/
- https://cylonjs.com/documentation/drivers/led/
Código
- homebright-console.js
- package.json
homebright-console.js JavaScript
Robô cylon que controla iluminação LED
node homebright-console.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;
var x = hand.palmPosition[0];
var z = hand.palmPosition[2];
var value = 0;
if (on) {
value = hand.palmPosition[1];
}
console.log(value);
if(x > 0 && z > 0) {
// sala de estar
my.livingroom.brightness(value);
} else if (x > 0 && z < 0) {
// sala de jantar
my.dininghall.brightness(value);
} else if (x < 0 && z > 0) {
// escritório
my.studyroom.brightness(value);
} else {
// quarto
my.bedroom.brightness(value);
}
});
}
}).start();
package.json JavaScript
Arquivo de configuração package node
npm install
{
"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"
}
}
Esquemáticos
Processo de manufatura
- Construa um Spybot Controlado por Bluetooth com Arduino
- FlickMote: Controle Remoto IR por Gestos para Casa Inteligente
- DIY Arduino TV B-Gone: Controle Remoto Universal para Todas as TVs
- Construa um Relógio Mestre LED Personalizado com Alarme – Visível a 12 Metros
- Find Me: Localizador Inteligente de Objetos com Arduino e Bluetooth
- Soluções de Energia Otimizadas para Projetos Arduino
- Jogo da Velha com Arduino, Matriz LED MAX7219 e Caixa de Papelão
- Construa um Robô Quadrúpede Inteligente com Arduino: Guia Passo a Passo
- Volante Joystick Arduino Personalizado para Jogos
- Construa uma Máquina CNC Totalmente Funcional com Arduino Nano R3