-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Motion
The Motion
class constructs an object that represents a single Motion Detection sensor.
Supported Motion sensors:
- Passive Infra-Red by Parallax
- Generic Passive Infra-Red, HC-SR501
-
OSEPP IR Proximity Sensor
- Note: despite its name, this is not a proximity sensor that outputs a measured distance to an obstruction.
- Sharp IR Motion Detection
-
pin A Number pin address for Motion sensor.
-
options An object of property parameters.
Property Type Value/Description Default Required pin Number, String Analog or Digital Pin. Use for non-I2C sensors Yes (non-I2C) controller String PIR, HCSR501, GP2Y0D805Z0F, GP2Y0D810Z0F, GP2Y0D815Z0F. See aliases PIR
No Controller Alias HC-SR501 PIR HCSR501 PIR GP2Y0D805Z0F 0D805 GP2Y0D805Z0F 805 GP2Y0D810Z0F 0D810 GP2Y0D810Z0F 810 GP2Y0D815Z0F 0D815 GP2Y0D815Z0F 815
{
id: A user definable id value. Defaults to a generated uid
pin: The pin address that the Sensor is attached to
value: Sensor value. READONLY
detectedMotion: Boolean value. READONLY
isCalibrated: Boolean flag indicating calibration state. READONLY
}
This is the default controller.
// Pin only
new five.Motion(7);
// Options object with pin property
var motion = new five.Motion({
pin: 7
});
var motion = new five.Motion({
controller: "GP2Y0D805Z0F"
});
var motion = new five.Motion({
controller: "GP2Y0D810Z0F",
pin: "A0"
});
var motion = new five.Motion({
controller: "GP2Y0D815Z0F",
pin: "A0"
});
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 The "data" event is fired as frequently as the user defined freq will allow in milliseconds. ("data" replaced the "read" event)
-
change The "change" event is fired whenever a change within the motion detection field is observed.
-
motionstart The "motionstart" event is fired when motion occurs within the observable range of the PIR/Motion/IR.Proximity sensor
-
motionend The "motionend" event is fired when motion has ceased within the observable range of the PIR/Motion/IR.Proximity sensor.
-
calibrated The "calibrated" event is fired when PIR/Motion sensor is ready to detect movement/motion in observable range. (PIR/Motion ONLY)