Gravity: I2C ADS1115 16-Bit ADC
Module(Arduino & Raspberry Pi
Compatible) SKU: DFR0553
DFRobot I2C ADS1115 16-bit ADC module can accurately collect and convert analog signals.
Through this ADC module, Raspberry Pi can easily use a wide range of Gravity series analog
sensors to measure various signals, and perceive this world.
Raspberry Pi is a common master control board which is powerful in its functions, but the I/O pins of
Raspberry Pi can read digital signals only, what's more, only through an external analog-to-digital
conversion (ADC) module can it read signals of analog sensor or device, it is not convenient to use.
DFRobot I2C ADS1115 16-bit ADC module is specially designed for Raspberry Pi and Gravity series
analog sensors, which greatly reduces the difficulty of using the Gravity series analog sensors, plug
and play, no welding, very convenient. The number of Gravity series sensors is large and its wide
variety can meet the needs of various sensors of the Raspberry Pi.
This module uses 16-bit ADC chip ADS1115, supports 3.3 ~ 5V wide voltage power supply. The chip
has a precision reference voltage and programmable gain adjustment (PGA), therefore, accurate
acquisition and conversion can be performed for both weak and highly variable signals. So it is also
applicable to all types of applications that the main control board needs to accurately collect the
analog signals.
One ADC module can read analog signals of 4 channels. Because of the onboard I2C address selection switch, it supports the cascade of two ADC modules and can
read analog signals of 8 channels, it can satisfy the needs of various applications.
Specification
Supply Voltage (VCC): 3.3~5.0V
Analog Signal Detection Range: 0~VCC
Number of Analog Channels: 4
ADC Bits: 16 Bit
Operating Current: 2~3mA (Not include sensor module)
Interface Type: Gravity I2C
Interface Level: High 3.3V, Low 0V
Product Size: 32mm * 32mm(1.26in*1.26in)
Board Overview
Gravity: I2C ADS1115 16-Bit ADC Module(Arduino & Raspberry Pi Compatible)
Num
+
C
D
A
ADDR
Label
VCC
GND
SCL
SDA
Analog In
I2C Address
Description
Power VCC(+3.3~5.0V)
Power GND(0V)
I2C Bus Clock Line
I2C Bus Data Line
Analog Input Channels: A0, A1, A2, A3
I2C address selection switch,I2C address: 0x48, 0x49
Tutorial
The voltage on analog input pins must be less than VCC+0.3V! That is, Analog Signal ≤
VCC+0.3V
Arduino Tutorial
This tutorial will demonstrate how to use the ADC module to read 4 channels analog signals with
the Arduino board. Please switch the I2C address to 0x48.
Requirements
Hardware
DFRduino UNO R3 (or similar) x 1
I2C ADS1115 16-bit ADC Module x 1
Analog Sensors(sound, voltage, temperature, ambient light, etc.) x4
Gravity 4pin Cable (or several DuPont cables) x1
Software
Arduino IDE (Version requirements: V1.0.x or V1.8.x), Click to Download Arduino IDE from
Arduino®
Connection Diagram
Sample Code
Please down the DFRobot_ADS1115 Library and install it.
How to install Libraries in Arduino IDE
Description of the I2C Address in this Library:
ADS1115_IIC_ADDRESS0:0x48
ADS1115_IIC_ADDRESS1:0x49
/*
* file ADS1115_ReadVoltage.ino
*
* @ https://github.com/DFRobot/DFRobot_ADS1115
*
* connect ADS1115 I2C interface with your board (please reference board c
ompatibility)
*
* The voltage value read by A0 A1 A2 A3 is printed through the serial por
t.
*
* Copyright
[DFRobot](http://www.dfrobot.com), 2016
* Copyright
GNU Lesser General Public License
*
* version
* date
V1.0
2018-01-21
*/
#include
#include
DFRobot_ADS1115 ads;
void setup(void)
{
Serial.begin(115200);
ads.setAddr_ADS1115(ADS1115_IIC_ADDRESS0);
ads.setGain(eGAIN_TWOTHIRDS);
ads.setMode(eMODE_SINGLE);
// 0x48
// 2/3x gain
// single-shot mode
ads.setRate(eRATE_128);
// 128SPS (default)
ads.setOSMode(eOSMODE_SINGLE);
// Set to start a single-conversion
ads.init();
}
void loop(void)
{
if (ads.checkADS1115())
{
int16_t adc0, adc1, adc2, adc3;
adc0 = ads.readVoltage(0);
Serial.print("A0:");
Serial.print(adc0);
Serial.print("mV,
");
adc1 = ads.readVoltage(1);
Serial.print("A1:");
Serial.print(adc1);
Serial.print("mV,
");
adc2 = ads.readVoltage(2);
Serial.print("A2:");
Serial.print(adc2);
Serial.print("mV,
");
adc3 = ads.readVoltage(3);
Serial.print("A3:");
Serial.print(adc3);
Serial.println("mV");
}
else
{
Serial.println("ADS1115 Disconnected!");
}
delay(1000);
}
Expected Results
Raspberry Pi Tutorial
This tutorial will demonstrate how to use the ADC module to read 4 channels analog signals with
Raspberry Pi. Please switch the I2C address to 0x48.
Requirements
Hardware
Raspberry Pi 3 Model B (or similar) x 1
I2C ADS1115 16-bit ADC Module x 1
Analog Sensors(sound, voltage, temperature, ambient light, etc.) x4
Gravity 4pin Cable (or several DuPont cables) x1
Software
DFRobot_ADS1115 Raspberry Driver
RASPBIAN
Connection Diagram
Install Driver
1.Open the Raspberry Pi I2C interface. If it is already open, skip this step.
Open Terminal, type the following command, and press Enter:
sudo raspi-config
Then use the up and down keys to select “5 Interfacing Options”, press Enter, select “P5 I2C”
and press Enter to confirm “YES”. Restart the Raspberry Pi.
2. Install the Python related libraries and git, then Raspberry Pi requires networking. If it is
already installed, skip this step.
In the terminal, type in the following commands in order, and press Enter:
sudo apt-get update
sudo apt-get install build-essential python-dev python-smbus git
3. Download the driver and run. In the terminal, type in the following commands in order, and
press Enter.
cd ~
git clone https://github.com/DFRobot/DFRobot_ADS1115.git
cd DFRobot_ADS1115/RaspberryPi/Python
sudo python DFRobot_ADS1115.py
Run the Sample Code
In the terminal, type the following commands in order, and press Enter:
cd ~/DFRobot_ADS1115/RaspberryPi/Python/ADS1115_ReadVoltage
sudo python ADS1115_ReadVoltage.py
Expected Results
https://www.dfrobot.com/wiki/index.php/Gravity:_I2C_ADS1115_16‐Bit_ADC_Module(Arduino_%26_Raspberry_Pi_Compatible)_SKU:_DFR0553 6‐5‐18