-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Multi
Rick Waldron edited this page Mar 24, 2016
·
23 revisions
The Multi
class constructs objects that represent a single "breakout" module attached to the physical board. The "breakout" module will itself contain 2 or more components, such as a thermistor and a hygrometer, or an altimeter and a pressure sensor.
Supported multi sensor modules:
- BMP180
- HTU21D
- MPL115A2
- MPL3115A2
- SI7020
- MS5611
- TH02
- DHT11 (Via I2C Backpack)
This list will continue to be updated as more component support is implemented.
-
General Options
Property Type Value/Description Default Required controller string BMP180, HTU21D, MPL115A2, MPL3115A2, SI7020, MS5611, TH02. The Name of the controller to use yes
Some of these properties may or may not exist depending on whether the multi sensor supports it.
Property Name | Description | Read Only |
---|---|---|
accelerometer |
An instance of Accelerometer class. |
Yes |
altimeter |
An instance of Altimeter class. |
Yes |
barometer |
An instance of Barometer class. |
Yes |
gyro |
An instance of Gyro class. |
Yes |
hygrometer |
An instance of Hygrometer class. |
Yes |
thermometer |
An instance of Thermometer class. |
Yes |
temperature |
Thermometer class. |
new five.Multi({
controller: "BMP180"
});
Property Name | Description | Read Only |
---|---|---|
barometer |
An instance of Barometer class. |
Yes |
thermometer |
An instance of Thermometer class. |
Yes |
temperature |
Thermometer class. |
new five.Multi({
controller: "HTU21D"
});
Property Name | Description | Read Only |
---|---|---|
hygrometer |
An instance of Hygrometer class. |
Yes |
thermometer |
An instance of Thermometer class. |
Yes |
temperature |
Thermometer class. |
new five.Multi({
controller: "MPL115A2"
});
Property Name | Description | Read Only |
---|---|---|
barometer |
An instance of Barometer class. |
Yes |
thermometer |
An instance of Thermometer class. |
Yes |
temperature |
Thermometer class. |
new five.Multi({
controller: "MPL3115A2"
});
Property Name | Description | Read Only |
---|---|---|
altimeter |
An instance of Altimeter class. |
Yes |
barometer |
An instance of Barometer class. |
Yes |
thermometer |
An instance of Thermometer class. |
Yes |
temperature |
Thermometer class. |
new five.Multi({
controller: "SI7020"
});
Property Name | Description | Read Only |
---|---|---|
hygrometer |
An instance of Hygrometer class. |
Yes |
thermometer |
An instance of Thermometer class. |
Yes |
temperature |
Thermometer class. |
new five.Multi({
controller: "MS5611"
});
Property Name | Description | Read Only |
---|---|---|
altimeter |
An instance of Altimeter class. |
Yes |
barometer |
An instance of Barometer class. |
Yes |
thermometer |
An instance of Thermometer class. |
Yes |
new five.Multi({
controller: "TH02"
});
Property Name | Description | Read Only |
---|---|---|
hygrometer |
An instance of Hygrometer class. |
Yes |
thermometer |
An instance of Thermometer class. |
Yes |
new five.Multi({
controller: "DHT11_I2C_NANO_BACKPACK"
});
Property Name | Description | Read Only |
---|---|---|
hygrometer |
An instance of Hygrometer class. |
Yes |
thermometer |
An instance of Thermometer class. |
Yes |
var five = require("johnny-five");
var board = new five.Board();
board.on("ready", function() {
var multi = new five.Multi({
controller: "MPL115A2"
});
multi.on("data", function() {
console.log("Barometer: %d", this.barometer.pressure);
console.log("Temperature: %d", this.temperature.celsius);
});
});
var five = require("johnny-five");
var board = new five.Board();
board.on("ready", function() {
var multi = new five.Multi({
controller: "HTU21D"
});
multi.on("change", function() {
console.log("temperature");
console.log(" celsius : ", this.temperature.celsius);
console.log(" fahrenheit : ", this.temperature.fahrenheit);
console.log(" kelvin : ", this.temperature.kelvin);
console.log("--------------------------------------");
console.log("Hygrometer");
console.log(" relative humidity : ", this.hygrometer.relativeHumidity);
console.log("--------------------------------------");
});
});
The Multi class does not have an explicit API. Refer to the individual components for their APIs
-
data The "data" event is fired as frequently as new data becomes available.
-
change The "change" event is fired whenever a corresponding "change" is fired from a component.