Introduction
The Gravity: 0-10V 15-bit High Precision Dual Channel ADC Module is specifically designed for high precision 0-10V analog signal acquisition, capable of achieving a resolution of up to 0.3125mV within a 0-10V voltage range with a measurement error <2mV. The module utilizes the Texas Instruments ADS1115 chip, which boasts an internal precision reference voltage and Programmable Gain Adjustment (PGA), thus offering stellar performance and reliability. The module supports I2C and UART communication, facilitating connection with microcontrollers, and is widely applicable to various 0-10V analog voltage signal acquisition needs such as temperature sensors, water level sensors, pressure sensors, etc. It is an ideal choice for industrial automation and environmental monitoring fields.
Features
- Supports 0-10V analog input signals, compatible with most industrial and agricultural analog sensors
- Dual channel with 15-bit high resolution (0.3125mV resolution), and high accuracy (measurement error <2mV)
- Supports I2C and UART communication, compatible with various master controllers
Application
- Industrial Automation: Detection of parameters such as temperature, pressure, flow rate, water level, etc.
- Environmental Monitoring: Detection of parameters such as temperature, humidity, wind speed, wind direction, water quality, etc.
Specifications
- ADC Chip Model: ADS1115
- Operating Voltage: 3.3V-5V
- Measurement Range: 0-10V
- Resolution: 0.3125mV
- Measurement Error: ±2mV
- Number of Channels: 2 Channels
- Communication Method: I2C, UART
Function Diagram
Number | Interface Name | Description |
---|---|---|
1 | D/T | I2C data line SDA or UART transmit TXD |
2 | C/R | I2C clock line SCL or UART receive RXD |
3 | GND | Power negative |
4 | VCC | Power positive (3.3~5V) |
5 | I2C, UART switch | Select I2C/UART communication mode |
6 | I2C address switch | Switch I2C address, address info on back |
7 | AIN1 | Input voltage signal 1 positive |
8 | AIN2 | Input voltage signal 2 positive |
9 | GND | Input voltage signal negative |
Dimension Diagram
Serial Communication Description
Factory Parameters
- Device Address: 0x00CC
- Baud Rate: 9600bps
Command Table:
Device Address | Input Register | Number of Registers | Select Channel | Read Device Address | Read Register Address | Read Voltage Data |
---|---|---|---|---|---|---|
0xCC | 0x20 | 0x01 | 0x01 0x02 |
0xBB | 0x31 | 0x03 |
Reading Channel 1 Voltage Data via Serial Port
Host sends: 0xCC 0x20 0x01 0x01 //Select module device address and channel
Then send: 0xBB 0x31 0x03 //Read channel 1 voltage value
Serial AT Command Description
Command | Meaning | Return Value |
---|---|---|
AT | AT Test Command | OK |
AT+AIN1=? | Read AIN1 Channel Data | AT+AIN1= Decimal number, unit mV, keep two decimal places |
AT+AIN2=? | Read AIN2 Channel Data | AT+AIN2= Decimal number, unit mV, keep two decimal places |
The following figure will show the voltage values of channel 1 and channel 2 read using AT commands respectively.
Note: If a command not listed in the table is used, it will return: ERROR
Arduino Usage Tutorial
Hardware and Software Preparation
- Hardware
- DFRduino UNO Controller x1
- DFR1184 Gravity:2-Channel 15Bit 0-10V ADC Module x1
- Software
- Arduino IDE Click to download Arduino IDE
- Download and install DFRobot_ADS1115 Library.
Reading Data Using I2C
Wiring Diagram
Sample Code
- Connect the module to the UNO controller according to the wiring diagram above. Of course, you can also use an expansion board for a more convenient and quicker prototype construction.
- Switch the sensor's selection switch to the I2C side.
- Download and install DFRobot_ADS1115 Library.
- Open the Arduino IDE, upload the following code to the UNO controller.
- Open the serial monitor of the Arduino IDE, adjust the baud rate to 9600, and observe the serial print results.
Note: Switch off the power when switching the toggle switch
#include <DFRobot_ADS1115_0_10V.h>
#define MODULE_I2C_ADDRESS 0x4A
DFRobot_ADS1115_I2C ads1115(&Wire, MODULE_I2C_ADDRESS);
void setup() {
Serial.begin(9600);
while (!ads1115.begin()) { delay(1000); }
}
void loop() {
double data;
data= ads1115.get_value(1); // Channel 1
Serial.print(data);
Serial.println("mv");
delay(1000);
}
Results
Open the serial monitor to get the voltage value input from channel 1.
Reading Data Using UART
Wiring Diagram
Sample Code
- Connect the module to the UNO controller according to the wiring diagram above. Of course, you can also use an expansion board for a more convenient and quicker prototype construction.
- Switch the sensor's selection switch to the UART side.
- Download and install DFRobot_ADS1115 Library.
- Open the Arduino IDE, upload the following code to the UNO controller.
- Open the serial monitor of the Arduino IDE, adjust the baud rate to 9600, and observe the serial print results.
Note: Switch off the power when switching the toggle switch
#include <DFRobot_ADS1115_0_10V.h>
#include <SoftwareSerial.h>
SoftwareSerial mySerial1(4, 5); // Set the RX and TX pins of the software serial port
DFRobot_ADS1115_UART ads1115(&mySerial1);
void setup() {
Serial.begin(9600);
mySerial1.begin(9600);
while (!ads1115.begin())
{
delay(1000);
}
}
void loop() {
double data;
data= ads1115.get_value(1); // Channel 1
Serial.print(data);
Serial.println("mv");
delay(1000);
}
Results
Open the serial monitor to get the voltage value input from channel 1.
More Resources for Download
Frequently Asked Questions (FAQ)
There are no customer questions for this product yet, feel free to contact us via QQ or forum!
For more questions and interesting applications, you can visit the forum for reference or posting.
[DFRobot store purchase link](