Electronics

ADC 16Bit GY-ADS1115 I2C Analog To Digital Converter Module

Out Of Stock

1

Description

The ADC 16Bit GY-ADS1115 I2C Analog To Digital Converter Module is a small electronic device that converts analog signals, such as voltage or current, into digital signals that can be read by a microcontroller or computer. It has a high resolution of 16 bits, allowing for precise measurements of small changes in analog signals. The module communicates with the microcontroller or computer through an I2C interface, which is a commonly used communication protocol for digital devices. The GY-ADS1115 module is commonly used in applications such as sensors, data acquisition systems, and other projects that require accurate analog-to-digital conversion.

 

Package Includes:

  • 1 x 16Bit GY-ADS1115 I2C ADC Converter Module

 

Features:

  • High resolution: The module has a 16-bit analog-to-digital converter, providing high precision and accuracy.
  • Wide input range: The module can measure a wide range of analog signals, from -0.3 to 6V.
  • Low power consumption: The module is designed to operate on very low power, making it suitable for battery-powered devices.
  • Programmable gain amplifier: The module includes a programmable gain amplifier (PGA) that can amplify analog signals up to 16 times.
  • I2C interface: The module communicates with the microcontroller or computer through an I2C interface, which is a widely used digital communication protocol.
  • Onboard voltage reference: The module includes an onboard voltage reference, which allows for the accurate measurement of analog signals.
  • Small form factor: The module is compact and easy to integrate into a variety of projects and applications.
  • Configurable sampling rate: The module's sampling rate can be configured from 8 to 860 samples per second, allowing for flexibility in different applications.

 

Description:

The ADC 16Bit GY-ADS1115 I2C Analog To Digital Converter Module is a high-precision analog-to-digital converter that converts analog signals to digital signals for use by a microcontroller or computer. This module has a 16-bit resolution, which allows it to provide very accurate readings of analog signals. One of the key features of this module is its wide input range. It can measure analog signals from -0.3V to 6V, which makes it suitable for a wide range of applications. Additionally, the module includes a programmable gain amplifier (PGA) that can amplify analog signals up to 16 times, which provides further flexibility in measuring different types of signals. The module communicates with the microcontroller or computer through an I2C interface, which is a widely used digital communication protocol. The I2C interface allows for easy integration into a variety of projects and applications. The module also includes an onboard voltage reference, which provides a stable reference voltage for the accurate measurement of analog signals. Another notable feature of the ADC 16Bit GY-ADS1115 I2C Analog To Digital Converter Module is its low power consumption. It is designed to operate on very low power, which makes it suitable for use in battery-powered devices. Additionally, the module's sampling rate can be configured from 8 to 860 samples per second, which provides flexibility in different applications.

 

Principle of Work:

The ADC 16Bit GY-ADS1115 I2C Analog To Digital Converter Module works on the principle of analog-to-digital conversion. It converts analog signals, such as voltage or current, into digital signals that can be processed by a microcontroller or computer. The module uses a process called successive approximation to perform the conversion. When a signal is applied to the module's input pin, the onboard ADC compares the signal to an internal reference voltage. The ADC then starts a conversion cycle by setting the most significant bit (MSB) of a register to 1 and setting the other bits to 0. The module then checks the output of the comparator to determine whether the analog input signal is higher or lower than the reference voltage. Based on this comparison, the module sets the next bit of the register to 1 or 0 and repeats the process for each successive bit until all 16 bits have been set. Once the conversion cycle is complete, the module sends the resulting digital value to the microcontroller or computer through the I2C interface. The microcontroller or computer can then process the digital value to extract the original analog signal.

 

Pinout of the Module:

 

  1. GND: This is the ground pin, which should be connected to the ground of the power supply.
  2. VDD: This is the power supply pin, which should be connected to a 3.3V or 5V power source.
  3. SCL: This is the clock pin for the I2C interface, which should be connected to the SCL pin of the microcontroller or computer.
  4. SDA: This is the data pin for the I2C interface, which should be connected to the SDA pin of the microcontroller or computer.
  5. ADDR: This is the address pin, which can be used to set the module's I2C address. The default address is 0x48, but it can be changed to 0x49, 0x4A, or 0x4B by connecting this pin to VDD or GND.
  6. ALERT: This is the alert pin, which can be used to trigger an interrupt on the microcontroller or computer when a conversion is complete or when a set threshold is crossed.
  7. A0: This is one of the analog input pins, which can measure signals in the range of -0.3V to 6V.
  8. A1: This is another analog input pin, which can also measure signals in the range of -0.3V to 6V.
  9. A2: This is the third analog input pin, which can also measure signals in the range of -0.3V to 6V.
  10. A3: This is the fourth analog input pin, which can also measure signals in the range of -0.3V to 6V.

In addition to these pins, the module also has a programmable gain amplifier (PGA) that can amplify analog signals up to 16 times. The module's sampling rate can be configured from 8 to 860 samples per second, and it includes an onboard voltage reference for accurate measurements.

 

Applications: 

  1. Temperature sensing: The module can be used to measure temperature from a thermistor or other temperature sensors.
  2. Pressure sensing: The module can be used to measure pressure from a pressure sensor or a strain gauge.
  3. Weight measurement: The module can be used to measure weight using load cells.
  4. Voltage measurement: The module can be used to measure voltage from a variety of sensors, such as potentiometers or voltage dividers.
  5. Current measurement: The module can be used to measure current using a shunt resistor or a current sensor.
  6. Gas sensing: The module can be used to measure gas concentrations using gas sensors.
  7. pH sensing: The module can be used to measure pH using a pH sensor.
  8. Sound sensing: The module can be used to measure sound levels using a microphone. 

 

Circuit:

  • Connect the ADS1115 SDA pin to the SDA pin on the Arduino (A4).
  • Connect the ADS1115 SCL pin to the SCL pin on the Arduino (A5).
  • Connect the GND pin on the ADS1115 to the GND pin on the Arduino.
  • Connect the VCC pin on the ADS1115 to the 5V pin on the Arduino.
  • Connect the pot middle pin to the A0 pin on the module.

It's worth noting that the module's VCC pin can also be connected to the 3.3V pin on the Arduino if you're using a 3.3V system. Additionally, if you're using multiple ADS1115 modules, you'll need to connect each one to a different I2C address using the ADDR pin.

 

Library:

To install the ADS1115 Arduino library, you can follow these simple

  1. Open the Arduino IDE.
  2. Select “Sketch” from the menu bar, and then choose “Include Library” and “Manage Libraries“.
  3. In the “Library Manager“, type “ADS1X15” in the search bar and press enter.
  4. Look for the “Adafruit ADS1X15” library and select it.
  5. Then click the “Install” button to install the library.

 

Code:  

This code reads the analog input values of 4 channels (0 to 3) using the ADS1115 module and displays the converted voltage values on the serial monitor. The code sets the gain to 0, reads the values using the readADC function, converts them to voltage using the toVoltage function, and displays them on the serial monitor with a delay of 1 second between readings.

 
#include "ADS1X15.h" 
 
ADS1115 ADS(0x48);
 
void setup() 
{
  Serial.begin(115200);
  Serial.println("Hello!"); 
 
  Serial.println(__FILE__);
  Serial.print("ADS1X15_LIB_VERSION: ");
  Serial.println(ADS1X15_LIB_VERSION);
 
  ADS.begin();
}
 
void loop() 
{
  ADS.setGain(0);
 
  int16_t val_0 = ADS.readADC(0);  
  int16_t val_1 = ADS.readADC(1);  
  int16_t val_2 = ADS.readADC(2);  
  int16_t val_3 = ADS.readADC(3);  
 
  float f = ADS.toVoltage(1);  // voltage factor
 
  Serial.print("\tADC0: "); Serial.print(val_0); Serial.print('\t'); Serial.println(val_0 * f, 3);
  Serial.print("\tADC1: "); Serial.print(val_1); Serial.print('\t'); Serial.println(val_1 * f, 3);
  Serial.print("\tADC2: "); Serial.print(val_2); Serial.print('\t'); Serial.println(val_2 * f, 3);
  Serial.print("\tADC3: "); Serial.print(val_3); Serial.print('\t'); Serial.println(val_3 * f, 3);
  Serial.println();
 
  delay(1000);
}

 

  • The code starts by including the ADS1X15 library, which provides a set of functions for interfacing with the ADS1115 module. It then initializes an ADS1115 object with the I2C address 0x48.
  • In the setup function, the code sets up the serial communication and prints some information to the serial monitor, including the name of the sketch file and the version of the ADS1X15 library. It then calls the begin function of the ADS1115 object to initialize it.
  • In the loop function, the code sets the gain of the ADS1115 module to 0 using the setGain function. It then reads the analog input values of channels 0 to 3 using the readADC function, which returns the values as 16-bit integers. The code then uses the toVoltage function to convert each value to a voltage, based on the gain setting and the reference voltage of the ADS1115 module.
  • The converted voltage values for each channel are then printed to the serial monitor with Serial.print and Serial. println functions. The delay function is used to wait for 1 second before reading the values again, giving a continuous stream of voltage readings from the module.

 

Technical Details:

  • Resolution: 16 bits
  • Input voltage range: -0.3V to VDD +0.3V
  • Programmable gain amplifier: 2/3, 1, 2, 4, 8, 16
  • Sampling rate: 8, 16, 32, 64, 128, 250, 475, 860 samples per second
  • Input channels: 4 differential or 8 single-ended
  • I2C address: selectable from four different addresses
  • Input voltage reference: programmable (default is internal 2.048V reference)
  • Operating voltage: 2.0V to 5.5V
  • Current consumption: typically 150µA during operation and 0.01µA during standby
  • Operating temperature range: -40°C to +125°C
  • Dimensions: 25mm x 13mm

 

Resources:

 

Comparisons:

The ADS1115 and ADS1015 are both analog to digital converter modules from Texas Instruments that communicate over the I2C bus. Here is a comparison of their features:

  • Resolution: The ADS1115 has a higher resolution of 16 bits compared to the ADS1015, which has a resolution of 12 bits.
  • Input voltage range: Both modules have the same input voltage range of -0.3V to VDD +0.3V.
  • Programmable gain amplifier: The ADS1115 offers six different gain settings, while the ADS1015 offers only four.
  • Sampling rate: ADS1115 has a higher maximum sampling rate of 860 samples per second compared to ADS1015's maximum sampling rate of 330 samples per second.
  • Input channels: The ADS1115 offers 4 differential or 8 single-ended input channels, while the ADS1015 only offers 2 differential or 4 single-ended input channels.
  • I2C address: Both modules have a selectable I2C address.
  • Input voltage reference: Both modules have programmable input voltage references.
  • Operating voltage: Both modules have the same operating voltage range of 2.0V to 5.5V.
  • Current consumption: The ADS1015 consumes less current during operation and standby compared to the ADS1115.

In summary, the ADS1115 has a higher resolution, more gain settings, higher maximum sampling rate, and more input channels compared to the ADS1015. However, the ADS1015 consumes less current during operation and standby. The choice between the two modules would depend on the specific requirements of the application at hand.