nanoFramework.Iot.Device.Mcp3428
1.1.92.53000
Prefix Reserved
See the version list below for details.
dotnet add package nanoFramework.Iot.Device.Mcp3428 --version 1.1.92.53000
NuGet\Install-Package nanoFramework.Iot.Device.Mcp3428 -Version 1.1.92.53000
<PackageReference Include="nanoFramework.Iot.Device.Mcp3428" Version="1.1.92.53000" />
paket add nanoFramework.Iot.Device.Mcp3428 --version 1.1.92.53000
#r "nuget: nanoFramework.Iot.Device.Mcp3428, 1.1.92.53000"
// Install nanoFramework.Iot.Device.Mcp3428 as a Cake Addin #addin nuget:?package=nanoFramework.Iot.Device.Mcp3428&version=1.1.92.53000 // Install nanoFramework.Iot.Device.Mcp3428 as a Cake Tool #tool nuget:?package=nanoFramework.Iot.Device.Mcp3428&version=1.1.92.53000
Mcp3428 - Analog to Digital Converter (I2C)
The library implements the Microchip MCP3428 16 bit A/D converter with I2C interface. It has hardware configurable I2C address and software configurable resolution and gain. Can work in continuous and on-demand conversion modes.
Documentation
"The MCP3426, MCP3427 and MCP3428 devices (MCP3426/7/8) are the low noise and high accuracy 16 Bit Delta-Sigma Analog-to-Digital (ΔΣ A/D) Converter family members of the MCP342X series from Microchip Technology Inc. These devices can convert analog inputs to digital codes with up to 16 bits of resolution." - Datasheet
The 3 devices differ only in addressing capability and channel number. The library implements all of them.
- MCP3428 datasheet
Board
Usage
Simple example for measuring LED forward voltage using the MCP3428 ADC and a MCU.
// I2C addres based on pin configuration
var addr = Mcp3428.AddressFromPins(PinState.Low, PinState.Low);
var options = new I2cConnectionSettings(1, addr);
using (var dev = new UnixI2cDevice(options))
using (var adc = new Mcp3428(dev, ModeEnum.OneShot, ResolutionEnum.Bit16, GainEnum.X1))
{
var ch1 = adc.ReadChannel(0);
Debug.WriteLine($"LED forward voltage value: {ch1} V");
}
On the MCP3428 you can select 8 different I2C addresses that the device answers on. It's done by connecting two pins, Adr0 and Adr1 to supply voltage or ground or leaving then floating. The library has a helper method to choose the address based on pin states.
With this instantiating the device and reading the first channel is done like this:
var options = new I2cConnectionSettings(1,
Mcp3428.AddressFromPins(PinState.Low, PinState.Floating));
using (var dev = new UnixI2cDevice(options))
using (var adc = new Mcp3428(dev)) // Default settings
{
var ch1 = adc.ReadChannel(0);
Debug.WriteLine($"ADC Channel value: {ch1} V");
}
The library provides an async API as reading with 16 bit resolution can take up to 60-80ms. It's in a separate class called Mcp3428Async
.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET Framework | net is compatible. |
-
- nanoFramework.CoreLibrary (>= 1.12.0)
- nanoFramework.System.Buffers.Binary.BinaryPrimitives (>= 1.1.91.44277)
- nanoFramework.System.Device.I2c (>= 1.0.3)
- nanoFramework.System.Threading (>= 1.0.4)
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 | 75 | 10/23/2024 |
1.2.631 | 96 | 8/28/2024 |
1.2.590 | 109 | 7/17/2024 |
1.2.570 | 102 | 6/14/2024 |
1.2.436 | 312 | 11/10/2023 |
1.2.416 | 120 | 11/8/2023 |
1.2.329 | 190 | 5/26/2023 |
1.2.313 | 150 | 5/12/2023 |
1.2.297 | 151 | 5/3/2023 |
1.2.212 | 313 | 1/5/2023 |
1.2.203 | 310 | 12/28/2022 |
1.2.159 | 379 | 11/14/2022 |
1.2.153 | 385 | 11/5/2022 |
1.2.141 | 399 | 10/25/2022 |
1.2.95 | 440 | 9/22/2022 |
1.2.87 | 511 | 9/15/2022 |
1.2.82 | 493 | 9/14/2022 |
1.1.116.8772 | 460 | 6/24/2022 |
1.1.113.2032 | 442 | 6/23/2022 |
1.1.97.17326 | 476 | 6/13/2022 |
1.1.92.53000 | 441 | 6/8/2022 |
1.1.58.10097 | 459 | 5/23/2022 |
1.1.3 | 460 | 4/15/2022 |
1.1.1 | 462 | 4/14/2022 |
1.0.300 | 490 | 3/31/2022 |
1.0.288-preview.114 | 129 | 3/25/2022 |
1.0.288-preview.113 | 117 | 3/25/2022 |
1.0.288-preview.104 | 111 | 3/22/2022 |
1.0.288-preview.100 | 121 | 3/19/2022 |
1.0.288-preview.98 | 124 | 3/18/2022 |
1.0.288-preview.93 | 120 | 3/15/2022 |
1.0.288-preview.65 | 127 | 2/18/2022 |
1.0.288-preview.48 | 139 | 2/4/2022 |
1.0.288-preview.42 | 134 | 1/31/2022 |
1.0.288-preview.29 | 131 | 1/28/2022 |
1.0.288-preview.22 | 131 | 1/27/2022 |
1.0.288-preview.20 | 136 | 1/27/2022 |
1.0.288-preview.18 | 136 | 1/27/2022 |
1.0.288-preview.1 | 134 | 1/21/2022 |
1.0.260 | 321 | 12/10/2021 |
1.0.259 | 315 | 12/9/2021 |
1.0.258 | 304 | 12/8/2021 |
1.0.189 | 424 | 9/25/2021 |
1.0.155 | 344 | 8/31/2021 |
1.0.138 | 380 | 7/18/2021 |
1.0.136 | 418 | 7/17/2021 |
1.0.135 | 168 | 7/16/2021 |
1.0.134 | 180 | 7/15/2021 |
1.0.133 | 203 | 7/14/2021 |
1.0.130 | 164 | 7/6/2021 |
1.0.125 | 209 | 7/5/2021 |
1.0.121 | 213 | 6/29/2021 |
1.0.119 | 230 | 6/28/2021 |
1.0.112 | 213 | 6/16/2021 |
1.0.105 | 287 | 5/29/2021 |
1.0.55 | 217 | 5/25/2021 |