ADS1115
A Node.js library for an ADS1115 analog to digital converter
Theses are super inexpensive on amazon!
The joystick is: here
The display is: here
--> Also checkout my node module for it!: here
const connection = ['/dev/tty.usbserial-DO010000', 0x48, 'i2cdriver/i2c-bus']
ADS1115.open(...connection).then(async (ads1115) => {
ads1115.gain = 1
for (let i = 0; i < 1000; i++) {
let x = await ads1115.measure('0+GND')
let y = await ads1115.measure('1+GND')
console.log(x, y)
}
})
Or, use with an existing bus instance:
const ADS1115 = require('ads1115')
const i2c = require('i2c-bus')
i2c.openPromisified(1).then(async (bus) => {
const ads1115 = await ADS1115(bus)
for (let i = 0; i < 1000; i++) {
let value = await ads1115.measure('0+GND')
console.log(value)
}
})
Install
https://npmjs.com/package/ads1115
npm install ads1115 i2c-bus
*i2c-bus not included in dependencies
To prevent multiple instances of i2c-bus
being installed in your project- it is NOT included as a dependency. You just
need to install it separately.
This also allows you to swap in a different bus, such as an i2cdriver if desired.
API
ADS1115(bus, addr = 0x48)
Creates an ADS1115 instance using and existing bus
object.
ADS1115.open(busNum, addr = 0x48, provider = 'i2c-bus')
Opens an i2c bus and creates a new ads1115
instance.
busNum
- The bus to open
addr
- The address of the ads1115 device
provider
- The i2c module to use to open the bus. (default i2c-bus)
The module must conform to the i2c-bus@^5.0.0 interface.
TIP! Try an i2cdriver for development!
ads1115.gain
Gets or sets the gain. You can use a Number
or String
.
Valid values:
2/3
= +/- 6.144V (default)
1
= +/- 4.096V
2
= +/- 2.048V
4
= +/- 1.024V
8
= +/- 0.512V
16
= +/- 0.256V
ads1115.measure(mux)
Requests a single measurement.
Valid values for mux
parameter:
'0+1'
= Differential measurement between A0 & A1
'0+3'
= Differential measurement between A0 & A3
'1+3'
= Differential measurement between A1 & A3
'2+3'
= Differential measurement between A2 & A3
'0+GND'
= Single-ended measurement on A0
'1+GND'
= Single-ended measurement on A1
'2+GND'
= Single-ended measurement on A2
'3+GND'
= Single-ended measurement on A3
License
MIT