#include const int ADS1110_ADDRESS = 0x48; // I2C address of the ADS1110 void setup() { Wire.begin(); Serial.begin(9600); // Configure the ADS1110 Wire.beginTransmission(ADS1110_ADDRESS); Wire.write(0x85); // Config register address Wire.write(0x83); // Single-ended measurement on AIN0, gain = 2/3, mode = continuous conversion, data rate = 860 SPS Wire.endTransmission(); } void loop() { // Start a conversion Wire.beginTransmission(ADS1110_ADDRESS); Wire.write(0x80); // Conversion register address Wire.endTransmission(); // Wait for the conversion to finish (13 ms for 860 SPS) delay(15); // Read the conversion result (MSB first) Wire.requestFrom(ADS1110_ADDRESS, 2); byte msb = Wire.read(); byte lsb = Wire.read(); int result = (msb << 8) | lsb; // Print the result Serial.print("AIN0 voltage: "); float voltage = result * 0.1875 / 1000; // Calculate voltage (16-bit result * LSB value * Vref / gain / 1000) Serial.print(voltage, 4); // Print voltage with 4 decimal places Serial.println(" V"); delay(1000); // Wait for 1 second before taking the next measurement }