tessel-pulse

0.1.0 • Public • Published

tessel-pulse

Pulse your LEDs with tessel. This module works only on PWM pins

Example

var tessel = require('tessel');
var mqtt = require('mqtt');
var port = tessel.port['GPIO'];
var pulse = require('tessel-pulse');
var pin = port.pwm[0]; // G4
var stop = pulse(pin, {
  type: 'pulse', // or 'blink'
  steps: 200, // the number of increments of the intesity of the led's light
  changeFrequency: 500 // ms after the step is incremented/decremented
});
setTimeout(stop, 10000); // blink for 10s

Example with MQTT

First, install MQTT.js with:

npm install mqtt --save

Then:

var tessel = require('tessel');
var mqtt = require('mqtt');
var port = tessel.port['GPIO'];
var pulse = require('tessel-pulse');
var pin = port.pwm[0]; // G4
var stop = null;
var client = mqtt.connect('mqtt://test.mosca.io');
 
port.pwmFrequency(10000) // set the PWM frequncy to 10kHz
 
client.publish('leds/matteo/hello', 'I\'m online!')
client.subscribe('leds/matteo/+')
 
client.on('message', function(topic, payload) {
  var command = topic.replace('leds/matteo/', '');
  console.log(payload)
 
  if (!payload)
    payload = {}
  else
    try {
      payload = JSON.parse(payload)
    } catch(err) {
      console.log('wrong json', err)
    }
 
  if (stop) stop()
 
  switch(command) {
    case 'start':
      stop = pulse(pin, payload)
      console.log('pulser started');
      break;
    case 'stop':
      console.log('pulser stopped');
      stop = null
      break;
  }
})
 
console.log('hello from my led!')

License

ISC

Dependents (0)

Package Sidebar

Install

npm i tessel-pulse

Weekly Downloads

0

Version

0.1.0

License

ISC

Last publish

Collaborators

  • matteo.collina