From 829a5a3c62fb7ea7f8c2f4b3b36e2eafdadcee5e Mon Sep 17 00:00:00 2001 From: Derek Wheelden Date: Sat, 9 May 2015 17:19:29 -0400 Subject: [PATCH] Added motion class with PIR controller --- README.md | 3 + docs/breadboard/motion.fzz | Bin 0 -> 9601 bytes docs/breadboard/motion.png | Bin 0 -> 118436 bytes docs/motion.md | 79 ++++++++++++++++++++++ eg/motion.js | 31 +++++++++ lib/johnny-five.js | 1 + lib/motion.js | 135 +++++++++++++++++++++++++++++++++++++ test/motion.js | 98 +++++++++++++++++++++++++++ tpl/programs.json | 11 +++ 9 files changed, 358 insertions(+) create mode 100644 docs/breadboard/motion.fzz create mode 100644 docs/breadboard/motion.png create mode 100644 docs/motion.md create mode 100644 eg/motion.js create mode 100644 lib/motion.js create mode 100644 test/motion.js diff --git a/README.md b/README.md index f9549f36a..52a9ff171 100644 --- a/README.md +++ b/README.md @@ -272,6 +272,9 @@ To interactively navigate the examples, visit the [Johnny-Five examples](http:// - [Proximity - HC-SR04](https://github.com/rwaldron/johnny-five/blob/master/docs/proximity-hcsr04.md) - [Proximity - LIDAR-Lite](https://github.com/rwaldron/johnny-five/blob/master/docs/proximity-lidarlite.md) +### Motion +- [Motion](https://github.com/rwaldron/johnny-five/blob/master/docs/motion.md) + ### Joystick - [Joystick](https://github.com/rwaldron/johnny-five/blob/master/docs/joystick.md) - [Joystick - Claw control](https://github.com/rwaldron/johnny-five/blob/master/docs/joystick-claw.md) diff --git a/docs/breadboard/motion.fzz b/docs/breadboard/motion.fzz new file mode 100644 index 0000000000000000000000000000000000000000..ba0c02c6b74c78c7a8b9b9aafad08548cd18da62 GIT binary patch literal 9601 zcmch7bx>U0_GRO)0fGc41b4b|clY4dP2=uPAXt##4#C|mxVr=i?(R;2;FIrXZ{Alm zRd1&1&AnB(&b@VZo%P2(d#%0pQIUs(#{&QW$N&=`aj6eZwjEPQ0Kkbh0D%7ItECgO zt-Xt-y&VhG>r`LQIh_a3@4U)*A$b)E&1JK3JHPJKjz4u(iQjTb2-<`kN{@)O!82TC zB�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

p)*`;dU7#zi`8S}AjLT04)d3XxD0D;Xsp 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 e3l26Brb2p8m+w(9T?j>;Nl{MqMvjc} + +# Motion + + +Basic infrared Motion example + + +Run with: +```bash +node eg/motion.js +``` + + + +```javascript +var five = require("johnny-five"); +var board = new five.Board(); + +board.on("ready", function() { + + // Create a new `motion` hardware instance. + var motion = new five.Motion(7); + + // "calibrated" occurs once, at the beginning of a session, + motion.on("calibrated", function() { + console.log("calibrated"); + }); + + // "motionstart" events are fired when the "calibrated" + // proximal area is disrupted, generally by some form of movement + motion.on("motionstart", function() { + console.log("motionstart"); + }); + + // "motionend" events are fired following a "motionstart" event + // when no movement has occurred in X ms + motion.on("motionend", function() { + console.log("motionend"); + }); + + // "data" events are fired at the interval set in opts.freq + // or every 25ms + motion.on("data", function(data) { + console.log(data); + }); +}); + +``` + + +## Illustrations / Photos + + +### Breadboard for "Motion" + + + +![docs/breadboard/motion.png](breadboard/motion.png)
+ +Fritzing diagram: [docs/breadboard/motion.fzz](breadboard/motion.fzz) + +  + + + + + +  + + + +## License +Copyright (c) 2012, 2013, 2014 Rick Waldron +Licensed under the MIT license. +Copyright (c) 2014, 2015 The Johnny-Five Contributors +Licensed under the MIT license. + + diff --git a/eg/motion.js b/eg/motion.js new file mode 100644 index 000000000..296024919 --- /dev/null +++ b/eg/motion.js @@ -0,0 +1,31 @@ +var five = require("../lib/johnny-five.js"); +var board = new five.Board(); + +board.on("ready", function() { + + // Create a new `motion` hardware instance. + var motion = new five.Motion(7); + + // "calibrated" occurs once, at the beginning of a session, + motion.on("calibrated", function() { + console.log("calibrated"); + }); + + // "motionstart" events are fired when the "calibrated" + // proximal area is disrupted, generally by some form of movement + motion.on("motionstart", function() { + console.log("motionstart"); + }); + + // "motionend" events are fired following a "motionstart" event + // when no movement has occurred in X ms + motion.on("motionend", function() { + console.log("motionend"); + }); + + // "data" events are fired at the interval set in opts.freq + // or every 25ms + motion.on("data", function(data) { + console.log(data); + }); +}); diff --git a/lib/johnny-five.js b/lib/johnny-five.js index e5a7dcd4a..923161385 100644 --- a/lib/johnny-five.js +++ b/lib/johnny-five.js @@ -20,6 +20,7 @@ module.exports = { Led: require("./led"), LedControl: require("./led/ledcontrol"), Joystick: require("./joystick"), + Motion: require("./motion"), Motor: require("./motor"), Nodebot: require("./nodebot"), Piezo: require("./piezo"), diff --git a/lib/motion.js b/lib/motion.js new file mode 100644 index 000000000..a5e3da48a --- /dev/null +++ b/lib/motion.js @@ -0,0 +1,135 @@ +var Board = require("../lib/board.js"), + events = require("events"), + util = require("util"), + temporal = require("temporal"), + priv = new Map(); + +var Controllers = { + PIR: { + initialize: { + value: function (opts, dataHandler) { + + var state = priv.get(this); + var calibrationDelay = "calibrationDelay" in opts ? opts.calibrationDelay : 30000; + + this.io.pinMode(opts.pin, this.io.MODES.INPUT); + + temporal.delay(calibrationDelay, function() { + state.isCalibrated = true; + this.emit("calibrated", null); + }.bind(this)); + + this.io.digitalRead(opts.pin, function(data) { + dataHandler.call(this, !!data); + }.bind(this)); + + } + } + }, +}; + +/** + * Motion + * @constructor + * + * five.Motion(7); + * + * five.Motion({ + * controller: "PIR", + * pin: 7, + * freq: 100, + * calibrationDelay: 1000 + * }); + * + * + * @param {Object} opts [description] + * + */ + +function Motion(opts) { + + if (!(this instanceof Motion)) { + return new Motion(opts); + } + + var controller; + var freq = opts.freq || 25; + + // new + var state; + var last = false; + + Board.Device.call( + this, opts = Board.Options(opts) + ); + + if (typeof opts.controller === "string") { + controller = Controllers[opts.controller]; + } else { + controller = opts.controller || Controllers["PIR"]; + } + + Object.defineProperties(this, controller); + + state = { + detectedMotion: false, + isCalibrated: false + }; + + priv.set(this, state); + + Object.defineProperties(this, { + /** + * [read-only] Current sensor state + * @property detectedMotion + * @type Boolean + */ + detectedMotion: { + get: function() { + return state.detectedMotion; + } + }, + /** + * [read-only] Sensor calibration status + * @property isCalibrated + * @type Boolean + */ + isCalibrated: { + get: function() { + return state.isCalibrated; + } + }, + }); + + if (typeof this.initialize === "function") { + this.initialize(opts, function(data) { + state.detectedMotion = data; + }); + } + + setInterval(function() { + + var eventData = { + timestamp : Date.now(), + detectedMotion : state.detectedMotion, + isCalibrated : state.isCalibrated + }; + + if (state.isCalibrated && state.detectedMotion && !last) { + this.emit("motionstart", eventData); + } + + if (state.isCalibrated && !state.detectedMotion && last) { + this.emit("motionend", eventData); + } + + this.emit("data", eventData); + + last = state.detectedMotion; + + }.bind(this), freq); +} + +util.inherits(Motion, events.EventEmitter); + +module.exports = Motion; diff --git a/test/motion.js b/test/motion.js new file mode 100644 index 000000000..768cad5b3 --- /dev/null +++ b/test/motion.js @@ -0,0 +1,98 @@ +var MockFirmata = require("./util/mock-firmata"), + five = require("../lib/johnny-five.js"), + events = require("events"), + sinon = require("sinon"), + Board = five.Board, + Motion = five.Motion, + board = new Board({ + io: new MockFirmata(), + debug: false, + repl: false + }); + +exports["Motion"] = { + setUp: function(done) { + this.clock = sinon.useFakeTimers(); + this.digitalRead = sinon.spy(board.io, "digitalRead"); + this.motion = new Motion({ + pin: 7, + calibrationDelay: 10, + board: board + }); + + this.instance = [{ + name: "detectedMotion" + }, { + name: "isCalibrated" + }]; + + done(); + }, + + tearDown: function(done) { + this.motion.removeAllListeners(); + this.clock.restore(); + this.digitalRead.restore(); + done(); + }, + + shape: function(test) { + test.expect(this.instance.length); + + this.instance.forEach(function(property) { + test.notEqual(typeof this.motion[property.name], "undefined"); + }, this); + + test.done(); + }, + + emitter: function(test) { + test.expect(1); + + test.ok(this.motion instanceof events.EventEmitter); + + test.done(); + }, + + data: function(test) { + var spy = sinon.spy(); + test.expect(1); + this.motion.on("data", spy); + this.clock.tick(25); + test.ok(spy.calledOnce); + test.done(); + }, + + motionstart: function(test) { + var callback = this.digitalRead.args[0][1], + spy = sinon.spy(); + + test.expect(1); + this.motion.on("motionstart", spy); + + // 0 then changes to 1 + callback(0); + callback(1); + this.clock.tick(25); + + test.ok(spy.calledOnce); + test.done(); + }, + + motionend: function(test) { + var callback = this.digitalRead.args[0][1], + spy = sinon.spy(); + + test.expect(1); + this.motion.on("motionend", spy); + + // 1 then changes to 0 + callback(1); + this.clock.tick(25); + callback(0); + this.clock.tick(25); + + test.ok(spy.calledOnce); + test.done(); + } +}; diff --git a/tpl/programs.json b/tpl/programs.json index c23b7ac68..5d2103a8e 100644 --- a/tpl/programs.json +++ b/tpl/programs.json @@ -494,6 +494,17 @@ } ] }, + { + "topic": "Motion", + "classes": ["Motion"], + "examples": [ + { + "file": "motion.js", + "title": "Motion", + "description": "Basic infrared Motion example" + } + ] + }, { "topic": "Joystick", "classes": ["Joystick"],