@iiot2k/ads1115

2.1.1 • Public • Published

@iiot2k/ads1115

platform

ads1115 analog to digital converter library


Developing software is a hard job. Thanks for the coffee !! 😁

Installation

npm install @iiot2k/ads1115

or add in your package.json:

"dependencies": {
    "@iiot2k/ads1115": "latest"
},

View on npm📌
View on GitHub📌
Report any issues here📌

ads1115📌 16bit analog to digital converter

  • 16bit Conversion Resolution.
  • Four Analog Inputs.
  • Each input can be selected Single-Ended, Differential.
  • Internal Voltage Reference.
  • Internal Oscillator.
  • Programmable Data Rate 8 SPS to 860 SPS.
  • The PGA offers input ranges from ±256 mV to ±6144 mV.
  • I2C Interface with four pin-selectable addresses.

Usage

  • This library works on Raspberry Pi with 32bit or 64bit OS.
  • The output value is mV or adc raw data.
  • Enable I2C with raspi-config.
  • In this case i2c-1 is enabled (port=1).
  • If you use i2c-0 port add
    dtparam=i2c_vc=on
    to /boot/config.txt,
    then Pin27=SDA, Pin28=SCK.
  • For other ports add this to /boot/config.txt.

Address Pin Connection

I2C Address ADDR Pin
48H GND or open
49H VCC
4AH SDA
4BH SCL

Node.js API

Node.js API functions are explained in document API.md
Node.js examples are on examples folder.

// example reads single adc input
"use strict";

const ads1115 = require("@iiot2k/ads1115");

ads1115.read(
    1, // i2c-1
    ads1115.ADR_48, // address 0x48
    ads1115.MUX_I0_GND, // AIN0 - GND
    ads1115.GAIN_4096, // 4096 mV
    ads1115.RATE_128, // 128 SPS
    false, // no rawdata
    function(data) {
        if (data === undefined)
            console.log(ads1115.error_text());
        else
            console.log(data, "mV");
    });

C++ API

This library uses C++ addon modules as interface to hardware.
Therefore, there is also a C++ interface to the drivers.
Unfortunately the C++ addon modules are not open source.
I provide the C++ static link libraries.
But if you are interested in the sources, I can send them to you.
Please send me an email with your name to iiot2k@gmail.com
I can only provide limited support for the C++ addon modules sources.

I have shown some C++ examples in the cpp directory and on GitHub📌
The C++ API functions are described in the header file ads1115_lib.h

// example reads single adc input

#include <stdio.h>

#include "ads1115_lib.h"

#define PORT 1 // i2c-1

int main()
{
    double value;

    bool ret = ads1115::read(
        PORT,
        ads1115::ADR_48, // address 0x48
        ads1115::MUX_I0_GND, // AIN0 - GND
        ads1115::GAIN_4096, // 4096 mV
        ads1115::RATE_128, // 128 SPS
        false, // no rawdata
        value);

    if (ret)
        printf("%.0fmV\n", value);
    else
        printf("%s\n", ads1115::error_text());

    return 0;
}

Package Sidebar

Install

npm i @iiot2k/ads1115

Weekly Downloads

15

Version

2.1.1

License

Apache-2.0

Unpacked Size

353 kB

Total Files

23

Last publish

Collaborators

  • iiot2k