nanoFramework.Iot.Device.Ads1115 1.2.673

Prefix Reserved
dotnet add package nanoFramework.Iot.Device.Ads1115 --version 1.2.673                
NuGet\Install-Package nanoFramework.Iot.Device.Ads1115 -Version 1.2.673                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="nanoFramework.Iot.Device.Ads1115" Version="1.2.673" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add nanoFramework.Iot.Device.Ads1115 --version 1.2.673                
#r "nuget: nanoFramework.Iot.Device.Ads1115, 1.2.673"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install nanoFramework.Iot.Device.Ads1115 as a Cake Addin
#addin nuget:?package=nanoFramework.Iot.Device.Ads1115&version=1.2.673

// Install nanoFramework.Iot.Device.Ads1115 as a Cake Tool
#tool nuget:?package=nanoFramework.Iot.Device.Ads1115&version=1.2.673                

ADS1115 - Analog to Digital Converter

ADS1115 is an Analog-to-Digital converter (ADC) with 16 bits of resolution.

Documentation

Prodcut datasheet can be found here

Sensor Image

ADS1115

Usage

Important: make sure you properly setup the I2C pins especially for ESP32 before creating the I2cDevice, make sure you install the nanoFramework.Hardware.ESP32 nuget:

//////////////////////////////////////////////////////////////////////
// when connecting to an ESP32 device, need to configure the I2C GPIOs
// used for the bus
Configuration.SetPinFunction(21, DeviceFunction.I2C1_DATA);
Configuration.SetPinFunction(22, DeviceFunction.I2C1_CLOCK);

For other devices like STM32, please make sure you're using the preset pins for the I2C bus you want to use.

// set I2C bus ID: 1
// ADS1115 Addr Pin connect to GND
I2cConnectionSettings settings = new I2cConnectionSettings(1, (int)I2cAddress.GND);
I2cDevice device = I2cDevice.Create(settings);

// pass in I2cDevice
// measure the voltage AIN0
// set the maximum range to 6.144V
using (Ads1115 adc = new Ads1115(device, InputMultiplexer.AIN0, MeasuringRange.FS6144))
{
    // read raw data form the sensor
    short raw = adc.ReadRaw();
    // raw data convert to voltage
    double voltage = adc.RawToVoltage(raw);
}

See the samples project for more examples and usage for different applications.

If you want to use the interrupt pin, the pulses generated by the ADS1115 might be to short to be properly recognized in the software, i.e. on a MCU. The schematic below shows a way of increasing the pulse length so that it is properly recognized (from about 10us to 150us). This uses discrete electronics, but an implementation with an NE555 or equivalent would likely work as well (Just note that you need a type that works at 3.3V).

Pulse_lengthener_schema

Example

Hardware Required

  • ADS1115
  • Rotary Potentiometer
  • Male/Female Jumper Wires

Circuit

circuit

ADS1115

  • ADDR - GND
  • SCL - SCL
  • SDA - SDA
  • VCC - 5V
  • GND - GND
  • A0 - Rotary Potentiometer Pin 2

Rotary Potentiometer

  • Pin 1 - 5V
  • Pin 2 - ADS1115 Pin A0
  • Pin 3 - GND

Code

// set I2C bus ID: 1
// ADS1115 Addr Pin connect to GND
I2cConnectionSettings settings = new I2cConnectionSettings(1, (int)I2cAddress.GND);
I2cDevice device = I2cDevice.Create(settings);

// pass in I2cDevice
// measure the voltage AIN0
// set the maximum range to 6.144V
using (Ads1115 adc = new Ads1115(device, InputMultiplexer.AIN0, MeasuringRange.FS6144))
{
    // loop
    while (true)
    {
        // read raw data form the sensor
        short raw = adc.ReadRaw();
        // raw data convert to voltage
        double voltage = adc.RawToVoltage(raw);

        Debug.WriteLine($"ADS1115 Raw Data: {raw}");
        Debug.WriteLine($"Voltage: {voltage}");
        Debug.WriteLine();

        // wait for 2s
        Thread.Sleep(2000);
    }
}

Results

run results interupt result

Product Compatible and additional computed target framework versions.
.NET Framework net is compatible. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.2.673 88 10/23/2024
1.2.662 92 10/11/2024
1.2.656 85 10/3/2024
1.2.639 103 9/6/2024
1.2.631 85 8/28/2024
1.2.613 120 8/9/2024
1.2.601 70 7/26/2024
1.2.590 80 7/17/2024
1.2.573 111 6/19/2024
1.2.570 110 6/14/2024
1.2.560 112 5/29/2024
1.2.548 110 5/15/2024
1.2.536 128 4/15/2024
1.2.514 122 3/22/2024
1.2.494 110 2/28/2024
1.2.474 139 1/24/2024
1.2.462 157 1/5/2024
1.2.458 128 12/20/2023
1.2.436 171 11/10/2023
1.2.416 118 11/8/2023
1.2.403 142 10/6/2023
1.2.396 131 9/27/2023
1.2.384 147 9/6/2023
1.2.378 147 8/16/2023
1.2.369 154 8/2/2023
1.2.363 149 7/28/2023
1.2.357 148 7/19/2023
1.2.354 142 7/14/2023
1.2.345 141 6/21/2023
1.2.341 139 6/14/2023
1.2.337 142 6/7/2023
1.2.335 119 6/2/2023
1.2.329 133 5/26/2023
1.2.313 140 5/12/2023
1.2.302 169 5/10/2023
1.2.297 165 5/3/2023
1.2.273 229 3/17/2023
1.2.267 222 3/10/2023
1.2.263 232 3/8/2023
1.2.259 241 2/27/2023
1.2.256 235 2/24/2023
1.2.253 244 2/22/2023
1.2.222 318 1/9/2023
1.2.212 305 1/5/2023
1.2.208 307 1/3/2023
1.2.203 286 12/28/2022
1.2.159 365 11/14/2022
1.2.153 377 11/5/2022
1.2.141 396 10/25/2022
1.2.128 381 10/22/2022
1.2.122 436 10/12/2022
1.2.114 395 10/8/2022
1.2.95 452 9/22/2022
1.2.87 481 9/15/2022
1.2.73 408 9/8/2022
1.2.63 415 9/3/2022
1.2.47 434 8/15/2022
1.2.40 440 8/6/2022
1.2.38 433 8/5/2022
1.2.28 418 8/1/2022
1.2.13 446 7/24/2022
1.2.10 429 7/23/2022
1.1.145.58726 458 7/7/2022
1.1.133.52556 444 6/30/2022
1.1.121.35854 455 6/26/2022
1.1.116.8772 448 6/24/2022
1.1.113.2032 445 6/23/2022
1.1.102.51394 429 6/15/2022
1.1.99.36719 427 6/14/2022
1.1.97.17326 455 6/13/2022
1.1.92.53000 444 6/8/2022
1.1.72.29765 458 5/31/2022
1.1.64.21380 442 5/26/2022
1.1.58.10097 448 5/23/2022
1.1.54.28879 447 5/23/2022
1.1.40 452 5/5/2022
1.1.3 484 4/15/2022
1.1.1 469 4/14/2022
1.0.300 463 3/31/2022
1.0.288-preview.114 128 3/25/2022
1.0.288-preview.113 118 3/25/2022
1.0.288-preview.104 118 3/22/2022
1.0.288-preview.103 112 3/21/2022
1.0.288-preview.100 129 3/19/2022
1.0.288-preview.99 133 3/18/2022
1.0.288-preview.98 121 3/18/2022
1.0.288-preview.93 131 3/15/2022
1.0.288-preview.87 122 3/10/2022
1.0.288-preview.86 128 3/8/2022
1.0.288-preview.77 127 2/27/2022
1.0.288-preview.75 120 2/26/2022
1.0.288-preview.65 126 2/18/2022
1.0.288-preview.63 124 2/16/2022
1.0.288-preview.61 130 2/12/2022
1.0.288-preview.58 122 2/10/2022
1.0.288-preview.53 122 2/9/2022
1.0.288-preview.48 141 2/4/2022
1.0.288-preview.41 134 1/31/2022
1.0.288-preview.29 136 1/28/2022
1.0.288-preview.20 139 1/27/2022
1.0.288-preview.19 145 1/27/2022
1.0.288-preview.18 139 1/27/2022
1.0.288-preview.5 138 1/24/2022
1.0.288-preview.1 132 1/21/2022
1.0.272 166 1/10/2022
1.0.259 334 12/9/2021
1.0.258 327 12/7/2021
1.0.218 203 10/18/2021
1.0.209 361 10/12/2021
1.0.157 346 9/4/2021
1.0.155 342 8/31/2021
1.0.153 171 8/14/2021
1.0.151 183 8/6/2021
1.0.146 170 7/22/2021
1.0.136 238 7/17/2021
1.0.135 170 7/16/2021
1.0.134 175 7/15/2021
1.0.133 187 7/14/2021
1.0.130 163 7/6/2021
1.0.127 179 7/5/2021
1.0.125 201 7/5/2021
1.0.122 223 6/30/2021
1.0.121 204 6/29/2021
1.0.119 226 6/28/2021
1.0.111 190 6/14/2021
1.0.105 288 5/29/2021
1.0.104 248 5/29/2021
1.0.97 184 5/28/2021
1.0.63 184 5/26/2021
1.0.20 225 5/21/2021