nanoFramework.Iot.Device.Mcp3428
1.2.673
Prefix Reserved
dotnet add package nanoFramework.Iot.Device.Mcp3428 --version 1.2.673
NuGet\Install-Package nanoFramework.Iot.Device.Mcp3428 -Version 1.2.673
<PackageReference Include="nanoFramework.Iot.Device.Mcp3428" Version="1.2.673" />
paket add nanoFramework.Iot.Device.Mcp3428 --version 1.2.673
#r "nuget: nanoFramework.Iot.Device.Mcp3428, 1.2.673"
// Install nanoFramework.Iot.Device.Mcp3428 as a Cake Addin #addin nuget:?package=nanoFramework.Iot.Device.Mcp3428&version=1.2.673 // Install nanoFramework.Iot.Device.Mcp3428 as a Cake Tool #tool nuget:?package=nanoFramework.Iot.Device.Mcp3428&version=1.2.673
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.15.5)
- nanoFramework.System.Buffers.Binary.BinaryPrimitives (>= 1.2.670)
- nanoFramework.System.Device.I2c (>= 1.1.16)
- nanoFramework.System.Threading (>= 1.1.32)
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 | 86 | 10/23/2024 |
1.2.631 | 99 | 8/28/2024 |
1.2.590 | 112 | 7/17/2024 |
1.2.570 | 106 | 6/14/2024 |
1.2.436 | 315 | 11/10/2023 |
1.2.416 | 126 | 11/8/2023 |
1.2.329 | 196 | 5/26/2023 |
1.2.313 | 153 | 5/12/2023 |
1.2.297 | 156 | 5/3/2023 |
1.2.212 | 316 | 1/5/2023 |
1.2.203 | 313 | 12/28/2022 |
1.2.159 | 384 | 11/14/2022 |
1.2.153 | 388 | 11/5/2022 |
1.2.141 | 403 | 10/25/2022 |
1.2.95 | 444 | 9/22/2022 |
1.2.87 | 516 | 9/15/2022 |
1.2.82 | 496 | 9/14/2022 |
1.1.116.8772 | 463 | 6/24/2022 |
1.1.113.2032 | 445 | 6/23/2022 |
1.1.97.17326 | 482 | 6/13/2022 |
1.1.92.53000 | 445 | 6/8/2022 |
1.1.58.10097 | 462 | 5/23/2022 |
1.1.3 | 463 | 4/15/2022 |
1.1.1 | 465 | 4/14/2022 |
1.0.300 | 493 | 3/31/2022 |
1.0.288-preview.114 | 130 | 3/25/2022 |
1.0.288-preview.113 | 118 | 3/25/2022 |
1.0.288-preview.104 | 113 | 3/22/2022 |
1.0.288-preview.100 | 122 | 3/19/2022 |
1.0.288-preview.98 | 125 | 3/18/2022 |
1.0.288-preview.93 | 121 | 3/15/2022 |
1.0.288-preview.65 | 128 | 2/18/2022 |
1.0.288-preview.48 | 140 | 2/4/2022 |
1.0.288-preview.42 | 135 | 1/31/2022 |
1.0.288-preview.29 | 135 | 1/28/2022 |
1.0.288-preview.22 | 132 | 1/27/2022 |
1.0.288-preview.20 | 139 | 1/27/2022 |
1.0.288-preview.18 | 137 | 1/27/2022 |
1.0.288-preview.1 | 136 | 1/21/2022 |
1.0.260 | 325 | 12/10/2021 |
1.0.259 | 320 | 12/9/2021 |
1.0.258 | 307 | 12/8/2021 |
1.0.189 | 428 | 9/25/2021 |
1.0.155 | 347 | 8/31/2021 |
1.0.138 | 384 | 7/18/2021 |
1.0.136 | 422 | 7/17/2021 |
1.0.135 | 172 | 7/16/2021 |
1.0.134 | 185 | 7/15/2021 |
1.0.133 | 208 | 7/14/2021 |
1.0.130 | 167 | 7/6/2021 |
1.0.125 | 212 | 7/5/2021 |
1.0.121 | 216 | 6/29/2021 |
1.0.119 | 233 | 6/28/2021 |
1.0.112 | 216 | 6/16/2021 |
1.0.105 | 290 | 5/29/2021 |
1.0.55 | 220 | 5/25/2021 |