Skip to content

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

Notifications You must be signed in to change notification settings

xseignard/adcPi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

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

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published