Module: j5e/lm35
Description
A module for measuring temperature using a LM35 thermistor.
A thermistor is a type of resistor whose resistance is strongly dependent on temperature, more so than in standard resistors. The word thermistor is a portmanteau of thermal and resistor.Read more on Wikipedia
Requires
Class: LM35
The LM35 class allows for reading of LM35 thermistors
Constructor
new LM35(io)
Parameters
(required)
Description:
Pin identifier or IO Options (See instantiation)
Example
// Use a LM35
import LM35 from "j5e/lm35";
const myLM35 = await new LM35(12);
myLM35.on("change", function(data) {
trace(data.C);
});
Properties
(read only)
(read only)
(read only)
(read only)
(read only)
(read only)
(read only)
(read only)
(read only)
(read only)
(read only)
(read only)
Events
- event:data
- event:change
Methods
LM35.configure
Note: This method is not part of the public API, and is subject to change.
Configure an LM35
lm35.configure();
Returns: The instance on which the method was called
Example
// Passing in Cofiguration Options
import LM35 from "j5e/lm35";
const thermometer = await new LM35({
pin: 14
});
thermometer.on("change", data => {
trace(thermometer.celsius);
});
LM35.configure
Note: This method is not part of the public API, and is subject to change.
Configure a Thermometer
lm35.configure(options);
Returns: The instance on which the method was called
Parameters
(required)
Description:
Device configuration options
Description:
Analog reference voltage
Default: 3.3
Description:
Wether the device is currently performing reads every
Default: true
Description:
Interval between readings in millseconds
Default: 100
Description:
Limit the output range
Description:
The input range of the sensor
Default: [0, N]
Description:
The output range for the sensor's value
Default: [0, N]
Description:
The minimum amount of change required to emit a "change" event
Default: 1
Description:
Function that converts raw value to Celsius
Example
// Passing in Cofiguration Options
import Thermometer from "j5e/thermometer";
const thermometer = await new Thermometer({
pin: 14
});
myThermometer.configure({
toCelsius: function(raw) {
return raw / 16;
}
});
thermometer.on("change", data => {
trace(thermometer.celsius);
});
LM35.enable
Enable a disabled sensor.
lm35.enable();
Returns: instance
Example
import Sensor from "j5e/sensor";
const sensor = await new Sensor(12);
sensor.disable();
// Wait 5 seconds and then take readings
timer.setTimeout(function() {
sensor.enable();
});
LM35.disable
Disable an enabled sensor.
lm35.disable();
Returns: instance
Example
import Sensor from "j5e/sensor";
const sensor = await new Sensor(12);
// Take reading for 5 seconds and then stop
timer.setTimeout(function() {
sensor.disable();
});
LM35.read
Synchronous read of a sensor.
lm35.read();
Returns: sensor value
Example
import Sensor from "j5e/sensor";
const sensor = await new Sensor(12);
let myValue = sensor.read();
LM35.scale
scale/scaleTo Set a value scaling range
lm35.scale(low, high, low, high);
Returns: instance
Parameters
(required)
Description:
Lowerbound
(required)
Description:
Upperbound
Description:
Lowerbound
Example
import Sensor from "j5e/sensor";
const sensor = await new Sensor(12);
// Scale all future values to 8-bit range
sensor.scale([0, 255]);
LM35.scaleTo
scaleTo Scales value to integer representation
lm35.scaleTo(low, low, high);
Returns: The scaled value
Parameters
(required)
Description:
An array containing a lower and upper bound
(required)
Description:
A number to use as a lower bound
(required)
Description:
A number to use as an upper bound
Example
import Sensor from "j5e/sensor";
const sensor = await new Sensor(12);
// Scale the returned value to 8-bit range
sensor.scaleTo([0, 255]);
LM35.fscaleTo
fscaleTo Scales value to single precision float representation
lm35.fscaleTo(low, low, high);
Returns: The scaled value
Parameters
(required)
Description:
An array containing a lower and upper bound
(required)
Description:
A number to use as a lower bound
(required)
Description:
A number to use as an upper bound
Example
import Sensor from "j5e/sensor";
const sensor = await new Sensor(12);
// Scale the returned value to float between 0 and 1
sensor.fscaleTo([0, 1]);
LM35.within
Fire a callback when the value is within a certain range
lm35.within(range, unit, callback);
Parameters
(required)
Description:
The upper and lower ends of the range to watch
(required)
Description:
The property to test
(required)
Description:
A callback to run when the event is fired.
LM35.on
Create an event listener
lm35.on(event, listener);
Parameters
(required)
Description:
The name of the event to listen for
(required)
Description:
A callback to run when the event is fired.
LM35.removeListener
Remove an event listener
lm35.removeListener(event, listener);
Parameters
(required)
Description:
The name of the event that we are removing a listener from
(required)
Description:
The callback that we are removing
LM35.emit
Note: This method is not part of the public API, and is subject to change.
Emit an event
lm35.emit(event);
Parameters
(required)
Description:
The name of the event to emit
LM35.once
Create an event listener that will only fire one time.
lm35.once(event, listener);
Parameters
(required)
Description:
The name of the event to listen for
(required)
Description:
A callback to run when the event is fired.
LM35.configure
Configure a Thermometer
lm35.configure(options);
Returns: The instance on which the method was called
Parameters
(required)
Description:
Device configuration options
Description:
Analog reference voltage
Default: 3.3
Description:
Wether the device is currently performing reads every
Default: true
Description:
Interval between readings in millseconds
Default: 100
Description:
Limit the output range
Description:
The input range of the sensor
Default: [0, N]
Description:
The output range for the sensor's value
Default: [0, N]
Description:
The minimum amount of change required to emit a "change" event
Default: 1
Description:
Function that converts raw value to Celsius
Example
// Passing in Cofiguration Options
import Thermometer from "j5e/thermometer";
const thermometer = await new Thermometer({
pin: 14
});
myThermometer.configure({
toCelsius: function(raw) {
return raw / 16;
}
});
thermometer.on("change", data => {
trace(thermometer.celsius);
});