The ADS1115 [KY-053] Analog to I2C Converter is a high-precision, 16-bit analog-to-digital converter (ADC) module. It is designed to interface analog signals with digital systems, such as microcontrollers, via the I2C communication protocol. This module is particularly useful for applications requiring precise analog signal measurements, such as sensors, instrumentation, and data acquisition systems.
The ADS1115 is equipped with four analog input channels, which can be configured as single-ended inputs or differential pairs. It also features a programmable gain amplifier (PGA) for handling a wide range of input voltages. The module is compact, easy to use, and compatible with popular development boards like the Arduino UNO and Raspberry Pi.
The following table outlines the key technical details of the ADS1115 [KY-053]:
Parameter | Value |
---|---|
Resolution | 16-bit |
Input Channels | 4 (single-ended) or 2 (differential) |
Input Voltage Range | ±6.144V (programmable via PGA) |
Programmable Gain Amplifier | Yes (6 gain settings) |
Communication Protocol | I2C |
I2C Address Range | 0x48 to 0x4B (configurable) |
Operating Voltage | 2.0V to 5.5V |
Current Consumption | 150 µA (typical) |
Data Rate | Programmable (8 SPS to 860 SPS) |
Operating Temperature Range | -40°C to +125°C |
The ADS1115 [KY-053] module has the following pinout:
Pin | Name | Description |
---|---|---|
1 | VCC | Power supply input (2.0V to 5.5V) |
2 | GND | Ground |
3 | SCL | I2C clock line |
4 | SDA | I2C data line |
5 | ADDR | Address pin (sets I2C address: connect to GND, VCC, SCL, or SDA for 0x48-0x4B) |
6 | A0 | Analog input channel 0 |
7 | A1 | Analog input channel 1 |
8 | A2 | Analog input channel 2 |
9 | A3 | Analog input channel 3 |
To use the ADS1115 with an Arduino UNO, follow these steps:
Wiring the Module:
Install Required Libraries:
Sketch > Include Library > Manage Libraries
, search for "Adafruit ADS1X15", and install it.Write and Upload Code:
#include <Wire.h>
#include <Adafruit_ADS1X15.h>
// Create an ADS1115 object
Adafruit_ADS1115 ads;
void setup() {
Serial.begin(9600); // Initialize serial communication at 9600 baud
Serial.println("Initializing ADS1115...");
// Initialize the ADS1115
if (!ads.begin()) {
Serial.println("Failed to initialize ADS1115. Check connections!");
while (1); // Halt execution if initialization fails
}
Serial.println("ADS1115 initialized successfully!");
}
void loop() {
// Read analog values from all four channels
int16_t adc0 = ads.readADC_SingleEnded(0); // Channel 0
int16_t adc1 = ads.readADC_SingleEnded(1); // Channel 1
int16_t adc2 = ads.readADC_SingleEnded(2); // Channel 2
int16_t adc3 = ads.readADC_SingleEnded(3); // Channel 3
// Print the readings to the Serial Monitor
Serial.print("ADC0: "); Serial.print(adc0);
Serial.print(" | ADC1: "); Serial.print(adc1);
Serial.print(" | ADC2: "); Serial.print(adc2);
Serial.print(" | ADC3: "); Serial.println(adc3);
delay(1000); // Wait 1 second before the next reading
}
Issue | Possible Cause | Solution |
---|---|---|
ADS1115 not detected on I2C bus | Incorrect wiring or I2C address mismatch | Verify connections and ensure the correct I2C address is used in the code. |
Incorrect or unstable analog readings | Input voltage exceeds PGA range | Check the input voltage and configure the PGA appropriately. |
No response from the ADS1115 | Missing pull-up resistors on SDA/SCL lines | Add 4.7kΩ pull-up resistors to SDA and SCL lines. |
Arduino IDE reports "Library not found" | Adafruit ADS1X15 library not installed | Install the library via the Arduino Library Manager. |
Q1: Can I use the ADS1115 with a 3.3V microcontroller?
A1: Yes, the ADS1115 operates at 2.0V to 5.5V, making it compatible with both 3.3V and 5V systems.
Q2: How do I measure differential signals?
A2: Configure the ADS1115 to read differential pairs (e.g., A0-A1 or A2-A3) using the readADC_Differential
function in the Adafruit library.
Q3: What is the maximum sampling rate of the ADS1115?
A3: The maximum sampling rate is 860 samples per second (SPS), configurable via the library.
Q4: Can I connect multiple ADS1115 modules to the same I2C bus?
A4: Yes, you can connect up to four ADS1115 modules by configuring their I2C addresses using the ADDR pin.
This documentation provides a comprehensive guide to using the ADS1115 [KY-053] module. Whether you're a beginner or an experienced user, this guide will help you integrate the ADS1115 into your projects with ease.