johnny-five
Version:
The JavaScript Robotics and Hardware Programming Framework. Use with: Arduino (all models), Electric Imp, Beagle Bone, Intel Galileo & Edison, Linino One, Pinoccio, pcDuino3, Raspberry Pi, Particle/Spark Core & Photon, Tessel 2, TI Launchpad and more!
107 lines (84 loc) • 2.28 kB
JavaScript
var Barcli = require("barcli");
var five = require("../lib/johnny-five.js");
var board = new five.Board({
// repl: false,
// debug: false
});
board.on("ready", function() {
/*
var expander = new five.Expander("MUXSHIELD2");
var p15 = new Barcli({ label: "Pin 15", range: [0, 1023] });
var pXX = new Barcli({ label: "Pin XX", range: [0, 1023] });
var act = new Barcli({ label: "Active", range: [0, 14] });
expander.pinMode("IO1-15", expander.MODES.ANALOG);
expander.analogRead("IO1-15", function(data) {
p15.update(data);
});
for (var i = 0; i < 15; i++) {
(function(pin) {
expander.pinMode(pin, expander.MODES.ANALOG);
expander.analogRead(pin, function(data) {
if (pin === getActivePin()) {
pXX.update(data);
}
});
}("IO1-" + i));
}
var button = new five.Button(9);
var activePin = 0;
button.on("press", nextActivePin);
function nextActivePin() {
activePin++;
if (activePin > 14) {
activePin = 0;
}
act.update(activePin);
}
function getActivePin() {
return "IO1-" + activePin;
}
*/
/*
var expander = new five.Expander("MUXSHIELD2");
for (var i = 0; i < 16; i++) {
expander.pinMode("IO1-" + i, expander.MODES.OUTPUT);
expander.pinMode("IO3-" + i, expander.MODES.OUTPUT);
expander.digitalWrite("IO1-" + i, expander.LOW);
expander.digitalWrite("IO3-" + i, expander.LOW);
}
var button = new five.Button(9);
var startIndex = 1;
var pinIndex = startIndex;
button.on("press", toggleNextPin);
function toggleNextPin() {
if (pinIndex != startIndex) {
expander.digitalWrite("IO1-" + pinIndex, expander.LOW);
}
pinIndex++;
if (pinIndex > 15) {
pinIndex = startIndex;
return toggleNextPin();
} else {
console.log("IO1-" + pinIndex);
expander.digitalWrite("IO1-" + pinIndex, expander.HIGH);
}
}
*/
var virtual = new five.Board.Virtual(
new five.Expander("MUXSHIELD2")
);
var a = new five.Sensor({
pin: "IO1-15",
board: virtual
});
a.on("data", function() {
console.log(this.value);
});
var b = new five.Sensor({
pin: "IO2-15",
board: virtual
});
b.on("data", function() {
console.log(this.value);
});
});