Description
ADC integrated with ADS1100 which is a fully differential, 16-bit, self-calibrating,delta-sigma A/D converter. It communicates through an I2C interface,which means you can collect AD data thru PortA on M5 core from this unit to enhence your A/D performance.
An ADC's work is basically collecting continuous signals from nature like the sound, electromagnetic wave , then convert it into discrete digital signals to become processable data for the MCUs.
The I2C address is 0x48.
Product Specification
- COMPLETE DATA ACQUISITION SYSTEM IN A TINY SOT23-6 PACKAGE
- 16-BITS NO MISSING CODES
- INL: 0.0125% of FSR MAX
- CONTINUOUS SELF-CALIBRATION
- SINGLE-CYCLE CONVERSION
- PROGRAMMABLE GAIN AMPLIFIER GAIN = 1, 2, 4, OR 8
- LOW NOISE: 4µVp-p
- PROGRAMMABLE DATA RATE: 8SPS to 128SPS
- INTERNAL SYSTEM CLOCK
- I2CTM INTERFACE
- POWER SUPPLY: 2.7V to 5.5V
- LOW CURRENT CONSUMPTION: 90µA
- AVAILABLE IN EIGHT DIFFERENT ADDRESSES
- Two Lego-compatible holes
Kit includes
- 1x ADC unit
- 1x GROVE Cable
- 1x HT3.96 Male Socket(2 pins)
Documents
- Datasheet - ADS1100
Learn
Example
1. Arduino IDE
The below code is incomplete(just for usage). If you want the complete code, please click here.
#include <M5Stack.h>
#include <Wire.h>
#include "ADS1100.h"
#define ADS1100_DEFAULT_ADDRESS 0x48
// declaration
byte error;
int8_t address;
//new a object
ADS1100 ads;
// initialization
M5.begin(true, false, false);
ads.getAddr_ADS1100(ADS1100_DEFAULT_ADDRESS);// 0x48, 1001 000 (ADDR = GND)
ads.setGain(GAIN_ONE); // 1x gain(default)
ads.setMode(MODE_CONTIN); // Continuous conversion mode (default)
ads.setRate(RATE_8); // 8SPS (default)
ads.setOSMode(OSMODE_SINGLE); // Set to start a single-conversion
ads.begin();
// read data
address = ads.ads_i2cAddress;
Wire.beginTransmission(address);
Wire.endTransmission();
ads.Measure_Differential();
2. UIFlow
If you want the complete code, please click here.
More information
Schematic
PinMap
M5Core ( GROVE A ) | GPIO22 | GPIO21 | 5V | GND |
ADC Unit | SCL | SDA | 5V | GND |