Exemple #1
0
int main() {

    ADS1115 adc;

    adc.setMode(ADS1115_MODE_SINGLESHOT);
    adc.setRate(ADS1115_RATE_860); 

    uint16_t muxes[] = {ADS1115_MUX_P0_NG, ADS1115_MUX_P1_NG, ADS1115_MUX_P2_NG, ADS1115_MUX_P3_NG};
    float results[ARRAY_SIZE(muxes)] = {0.0f};
    int i = 0;

    while (true) {
        adc.setMultiplexer(muxes[i]);

        float conversion = adc.getMilliVolts();
        results[i] = conversion;

        i = (i + 1) % ARRAY_SIZE(muxes);

        for (int j = 0; j < ARRAY_SIZE(muxes); j++) {
            printf("A%d: %.4fV ", j, results[j] / 1000);
        }
        printf("\n");
    }

    return 0;
}
Exemple #2
0
/**
 * @brief   initialize ADS1115
 * @return  true, if succeed, otherwise false.
*/
bool initADS1115(ADS1115& adc)
{
    adc.init();
    adc.setMode(ADS1115_MODE_SINGLESHOT);
    adc.setRate(ADS1115_RATE_860); 

    return true;
}
Exemple #3
0
/**
 * @brief  get ADS1115 data and print them.
 */
void getADCData(ADS1115& adc)
{
    uint16_t muxes[] = {ADS1115_MUX_P0_NG, 
                        ADS1115_MUX_P1_NG,
                        ADS1115_MUX_P2_NG,
                        ADS1115_MUX_P3_NG};
    float results[ARRAY_SIZE(muxes)] = {0.0f};
    int i = 0;

    while (true) {
        adc.setMultiplexer(muxes[i]);

        float conversion = adc.getMilliVolts();
        results[i] = conversion;

        i = (i + 1) % ARRAY_SIZE(muxes);

        for (int j = 0; j < ARRAY_SIZE(muxes); j++) {
            printf("A%d: %.4fV ", j, results[j] / 1000);
        }
        printf("\n");
    }
}