HomeBright: Умное освещение дома с Leap Motion и Arduino UNO
Компоненты и материалы
| Arduino UNO | 1 |
| Leap Motion Controller | 1 |
| Светодиоды (обычные) | 4 |
| Перемычки | 10 |
Приложения и онлайн-сервисы
- Arduino IDE
О проекте
Это приложение использует Leap Motion и Arduino Uno для создания системы домашней автоматизации, управляющей интенсивностью освещения комнат. План этажа дома отображается на координаты Leap Motion для определения конкретной комнаты. Позиция ладони управляет освещением целевой комнаты, а подъем или опускание ладони — интенсивностью света.
Инструкция
- Установите Node.js
- Установите Leap Motion SDK
- Установите Cylon.js для Arduino и Leap Motion (см. полезные ссылки ниже)
- Или используйте package.json для установки всех необходимых модулей
Как запустить
node homebright-console.js
(Код см. в разделе Code)
Полезные ссылки
Код
homebright-console.js (JavaScript)
Cylon-робот, управляющий 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) {
// гостиная
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
Конфигурация npm-пакета. Установка: 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"
}
}
Схемы
Схемы подключения прилагаются в разделе Schematics оригинального проекта (два варианта).
Производственный процесс
- Сборка Bluetooth-робота-шпиона на Arduino с управлением с телефона
- FlickMote: жестовое IR-пульт для умного дома на Arduino 101 и ультразвуковом датчике
- DIY Arduino TV-B-Gone: универсальный пульт для выключения любого телевизора
- Создание пользовательских LED-часов с будильником — видно с 12 метров
- Find Me: Умный поисковик вещей на Arduino и Bluetooth
- Оптимизированные решения питания для проектов на Arduino
- Крестики-нолики на Arduino с матрицей MAX7219 и картонным корпусом
- Пошаговое руководство: сборка умного четырёхногого робота на Arduino
- Своё рулевое управление (джойстик) для игр на Arduino
- Построение полнофункционального станка с ЧПУ на базе Arduino Nano R3