adc-pi-gpio

Using an ADC with a Pi

npm install adc-pi-gpio
5 downloads in the last week
14 downloads in the last month

adc-pi-gpio Build Status Dependency Status

Node.js Bit banging communication between ADC and the Raspberry Pi.

Largely inspired by ladyada's script: https://gist.github.com/ladyada/3151375.

Usage

  • install with npm install adc-pi-gpio --save
  • check the demo sample:
var ADC = require('../adc-pi-gpio'),
    config = {
        tolerance : 2,
        interval : 300,
        channels : [ 0 ],
        SPICLK: 12,
        SPIMISO: 16,
        SPIMOSI: 18,
        SPICS: 22
    };

var adc = new ADC(config);

process.on('SIGTERM', function(){
    adc.close();
});
process.on('SIGINT', function(){
    adc.close();
});

adc.init();

adc.on('ready', function() {
    console.log('Pins ready, listening to channel');
});
adc.on('close', function() {
    console.log('ADC terminated');
    process.exit();
});
adc.on('change', function(data) {
    console.log('Channel ' + data.channel + ' value is now ' + data.value + ' which in proportion is: ' + data.percent);
});

API

ADC()

ADC class, that represents an instance of an ADC.

Below is a code snippet that shows the configuration possibilities.

The opts object is optional. And each key inside it too.

The values shown there are the defaults fallback.

var ADC = require('adc-pi-gpio'),
  opts = {
    tolerance : 2,
    interval : 300,
    channels : [0],
    SPICLK: 12,
    SPIMISO: 16,
    SPIMOSI: 18,
    SPICS: 22
  };
var adc = new ADC(opts);

ADC.init()

Init the pins that are used by the ADC and start reading on the defined ADC channels.

ADC.close()

Close the pins used by the ADC.

ADC.read(channel:Number, callback:function())

Read the value of the given ADC channel.

npm loves you