Skip to content

Instantly share code, notes, and snippets.

@jamesbulpin
Created December 19, 2017 17:34
Show Gist options
  • Save jamesbulpin/900b4f73dab941bab6034117c1f214d2 to your computer and use it in GitHub Desktop.
Save jamesbulpin/900b4f73dab941bab6034117c1f214d2 to your computer and use it in GitHub Desktop.
Node.js program to update LEDs via a serial-over-USB connected Arduino for my Christmas Jumper project
var SerialPort = require("serialport");
var tinycolor2 = require("tinycolor2");
var request = require('request');
var portdev = "/dev/ttyACM0";
var port = new SerialPort(portdev, {
baudRate: 9600,
});
port.on('error', function(err) {
console.log('Error: ', err.message);
})
port.on('data', function (data) {
console.log('Data: ' + data);
});
setInterval(function() {
request('http://api.thingspeak.com/channels/1417/field/2/last.json', { json: true }, (err, res, body) => {
if (err) { return console.log(err); }
var c = tinycolor2(body.field2).toRgb();
// Divide all values by 4 to reduce brightness and power usage
var r = c.r / 4;
var g = c.g / 4;
var b = c.b / 4;
// These LEDs have red and green swapped
var x = "COLOR " + tinycolor2({ r: g, g: r, b: b }).toHexString() + "\n";
port.write(x);
});
}, 5000);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment