Skip to content

Latest commit

 

History

History
58 lines (39 loc) · 2.01 KB

README.md

File metadata and controls

58 lines (39 loc) · 2.01 KB

mcp300X

Implementation of the mcp3004/mcp3008 ADC chip.

npm Version GitHub package.json version CI GitHub Downloads Per Month GitHub last commit Package Quality

Features:

  • Provides access to pseudo differential mode
  • Does not assume Vref and Vin are the same

And while this implementation is more verbose, it does so in order to aid in clarity of understanding and for learning.

Sample Usage

import { mcp300x } = from '@johntalton/mcp300X'
const spi = ...
const adc = mcp300X.from({ bus: spi, Vref: 5, channels: 8 })

const result = await dev.readADC(channel)

console.log('normalized value', result.normal)
console.log('voltage', result.V)

In the usage above our Analog circuitry is running at 5V, while the chip is running at 3.3V configuration.

The returned result object holds the normal-ized value, as well as the raw ADC value and the ```V``oltage as calculated.

Psuedo Differential Mode

The mode allows the bonding of two channels in +/- or -/+ configurations.

Reference by channel pair or index

The readADCDiff method can be passed a single "index-channel" or the order +/- pair.

From the spec:

Idx +ch / -ch
1st Ch0 / Ch1
2nd Ch1 / Ch0
3rd Ch2 / Ch3
etc ...
  ...
  dev.readADCDiff(6).then(result => { ... }) // index-channel 6 or +Ch5 / -Ch4