Giando
Published

Linino Christmas with Lifx

Make Christmas lights that vary color with the music!

Full instructions provided2,241
Linino Christmas with Lifx

Things used in this project

Story

Read more

Code

code.txt

JSON
{
  "name": "XmasLifx",
  "version": "0.0.1",
  "description": "Ideino project",
  "author": {
    "name": "Ideino Team"
  },
    "dependencies": {
        "lifx": "*"
    }
}

code.txt

JavaScript
var linino = require('ideino-linino-lib'),
    board = new linino.Board(),
    tone = require('tone.json'),
    buz = board.pin.pwm.P5;
    var del = 0;

var lifx = require('lifx');
var lx = lifx.init();

var jbells = [
        "NOTE_E5", "NOTE_E5", "NOTE_E5", "NOTE_E5", "NOTE_E5", "NOTE_E5", "NOTE_E5", "NOTE_G5", "NOTE_C5", "NOTE_D5", "NOTE_E5",
        "NOTE_F5", "NOTE_F5", "NOTE_F5", "NOTE_F5", "NOTE_F5", "NOTE_E5", "NOTE_E5", "NOTE_E5", "NOTE_E5", "NOTE_D5", "NOTE_D5", "NOTE_E5", "NOTE_D5", "NOTE_G5",
        "NOTE_E5", "NOTE_E5", "NOTE_E5", "NOTE_E5", "NOTE_E5", "NOTE_E5", "NOTE_E5", "NOTE_G5", "NOTE_C5", "NOTE_D5", "NOTE_E5",
        "NOTE_F5", "NOTE_F5", "NOTE_F5", "NOTE_F5", "NOTE_F5", "NOTE_E5", "NOTE_E5", "NOTE_E5", "NOTE_G5", "NOTE_G5", "NOTE_F5", "NOTE_D5", "NOTE_C5", "0", "0"
];
var jbellstimes = [
    200, 200, 400, 200, 200, 400, 200, 200, 200, 200, 800,
    200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 400, 400,
    200, 200, 400, 200, 200, 400, 200, 200, 200, 200, 800,
    200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 800
];

lx.lightsOn();

function play(melody, times) {
    board.noTone(buz);
    for (thisNote = 0; thisNote < melody.length; thisNote++) {
        sendsound(tone.tone[melody[thisNote]], del);
        del = times[thisNote] + del;
    }

}

function sendsound(sound, time) {
    setTimeout(function() {
        board.tone(buz, sound);
        lx.lightsColour((sound * 16384) & 0xFFFF, 32767, 65535, 0, 0);
    }, time);
}


board.connect(function() {
    board.pinMode(buz, board.MODES.PWM);

    play(jbells, jbellstimes);

});

Credits

Giando
15 projects • 16 followers

Comments