Arduino 利用ADS1115 AD转换模块进行数据读取

去年利用Arduino配合ADS1115 AD转换模块对一个微伏级输出的测试箱进行电压读取,配合上位机进行采样的数据进行数字滤波。

                

 

ADS1115是具有16位分辨率的高速AD转换芯片,可调增益,最小测量电压为0.0078125mV(约7.8uV),其实7.8uV对我来说还是大了。但没办法,精度越高成本也越高,个人玩家干不起来。

软件上使用了Adafruit为ADS系列芯片做好的库Adafruit_ADS1015,上手简单。ADS1115采样后的数据通过串口输出到上位机上进行处理。上位机需要发送一个“G”命令来获取数据,过程简单的不得了。

/* This module is simplily read data from ADS1115 and transfer to serial port.
 * Author: Daniel Gee
 * Date: 2019-06-08
 */

#include <Wire.h>
#include <Adafruit_ADS1015.h>

Adafruit_ADS1115 ads1115(0x48); // construct an ads1115 at address 0x48

float  volt = 0.0;
const int16_t duration = 1;
int16_t adc_data = 0;
char N = 30;
char i =0;

void setup() {
  
  Serial.begin(19200);
  ads1115.begin();
  ads1115.setGain(GAIN_SIXTEEN); // 16x gain, 1 bit = 0.0078125mV
}

void loop() {

  while(Serial.available()){
     char inChar = (char)Serial.read();
     if(inChar == 'G'){
      for (i = 0; i < N; i++){
        adc_data = ads1115.readADC_Differential_0_1();
        volt = adc_data * 0.0078125 * 10;
        Serial.print(volt,4);Serial.print(",");
        delay(duration);
        }
       Serial.println();
      }
     }
  }

 

  • 3
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
ADS1115是一款高精度的模数转换器,可以通过I2C总线与Arduino进行通讯。双模块应用指的是使用两个ADS1115模块来实现更高的精度和更多的通道数。 以下是双模块应用的步骤: 1. 确定ADS1115模块的I2C地址,每个模块都有一个默认地址(0x48和0x49)。如果需要更改地址,可以通过跳线帽或编程修改来实现。 2. 连接ADS1115模块Arduino的I2C总线上。将ADS1115的SCL引脚连接到Arduino的SCL引脚,将SDA引脚连接到Arduino的SDA引脚,同时将模块的VDD和GND引脚分别连接到Arduino的5V和GND引脚上。 3. 初始化ADS1115模块。可以使用Adafruit ADS1X15库来简化代码,首先需要创建一个ADS1115对象,然后调用begin()方法进行初始化。 4. 配置ADS1115模块的采样率、增益和通道选择。可以使用setGain()和startComparatorSingle()方法来设置增益和通道,使用setSPS()方法来设置采样率。 5. 读取ADS1115模块转换结果。可以使用readADC_SingleEnded()方法来读取单端输入的转换结果,使用readADC_Differential_0_1()方法来读取差分输入的转换结果。 6. 重复步骤4和步骤5,以实现更多的通道和更高的精度。 需要注意的是,双模块应用需要同时控制两个ADS1115模块,因此需要使用两个I2C地址来进行通讯。可以使用Wire库的beginTransmission()和endTransmission()方法来切换地址。同时,每个ADS1115模块的引脚连接需要正确地配置,以避免冲突和错误的读取结果。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值