UNPKG

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!

63 lines (50 loc) 1.23 kB
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 activeLed = { last: -1, next: -1, }; var virtual = new five.Board.Virtual( new five.Expander("MUXSHIELD2") ); var leds = new five.Leds( Array.from({ length: 16 }, function(_, index) { var bar = new Barcli({ label: "IO3-" + index, range: [0, 1] }); var lit = new five.Sensor({ type: "digital", pin: "IO3-" + index, board: virtual, }); var led = new five.Led({ pin: "IO1-" + index, board: virtual, }); lit.on("data", function() { if (index === activeLed.last || index === activeLed.next) { bar.update(this.value); } }); return led; }) ); var button = new five.Button(9); button.on("press", function() { activeLed.last = activeLed.next; if (activeLed.last !== -1) { leds[activeLed.last].off(); } activeLed.next++; if (activeLed.next > 15) { activeLed.last = 15; activeLed.next = 0; } leds.off(); leds[activeLed.next].on(); }); });