-
Notifications
You must be signed in to change notification settings - Fork 6
Atlas Scientific Conductivity
Jake Hartnell edited this page Jun 20, 2016
·
5 revisions
Note: for this to work, the circuit needs to be I2C mode. Instructions for this can be found in the documentation.
// Require the Grow.js build and johnny-five library.
var GrowInstance = require('Grow.js');
var five = require('johnny-five');
var ascii = require('ascii-codes');
// Create a new board object
var board = new five.Board();
// When board emits a 'ready' event run this start function.
board.on('ready', function start() {
// This must be called prior to any I2C reads or writes.
this.i2cConfig();
var EC_reading;
// Create a new grow instance.
var grow = new GrowInstance({
name: 'Conductivity sensor', // The display name for the thing.
desription: 'Atlas Scientific Conductivity sensor',
username: 'YOURUSERNAMEHERE', // The username of the account you want this device to be added to.
properties: {},
actions: {
log_ec_data: {
name: 'Conductivity sensor',
template: 'sensor',
type: 'EC', // Currently needed for visualization component... HACK.
schedule: 'every 1 second',
function: function () {
// Request a reading
board.i2cWrite(0x64, [0x52, 0x00]);
// Read response.
board.i2cRead(0x64, 0x00, 7, function (bytes) {
var bytelist = [];
if (bytes[0] === 1) {
for (i = 0; i < bytes.length; i++) {
if (bytes[i] !== 1 && bytes[i] !== 0) {
bytelist.push(ascii.symbolForDecimal(bytes[i]));
}
}
EC_reading = bytelist.join('');
}
});
// // Send value to Grow-IoT
grow.sendData({
type: 'EC',
value: EC_reading
});
}
}
}
});
});