Arduino UNO驱动ADS1115模数转换模块

本文详细介绍了如何使用ArduinoUNO配合ADS1115模数转换模块进行信号采集。ADS1115是一款高精度、低功耗的16位ADC,支持I2C接口,具备可编程增益和采样率。通过接线图和测试代码,展示了如何连接和读取ArduinoUNO板上不同电压引脚的模拟信号,实现四通道模拟电压测量及差分输入功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原文链接:https://www.yourcee.com/newsinfo/2928454.html

简介

ADS1115可对模拟量信号转换成16位的二进制数字信号,具有内部低温漂电压基准、振荡器和可编程比较器且兼容 I2C接口(4个可编程地址引脚),可编程数据采样率8-860sps,连续转换模式下150uA的低流耗。具有 一个输入多路复用器 (MUX),可实现两次差动输入测量或四次单端输入测量。内部PGA 可提供从 ±256mV 到±6.144V 的输入范围。
在这里插入图片描述
在这里插入图片描述

ADS1115模块原理图

请添加图片描述

点击图片购买

在这里插入图片描述

Arduino UNO与ADS1115接线图

在这里插入图片描述
在这里插入图片描述
A0、A1采集Arduino UNO板上的5V输出引脚、A2、A3采集Arduino UNO板上的3.3V输出引脚

Arduino UNO测试代码

例程下载链接:https://github.com/DFRobot/DFRobot_ADS1115
打开如下四端模拟输入检测转换例程,下载至Arduino UNO开发板里

/*
 * file ADS1115_ReadVoltage.ino
 *
 * @ https://github.com/DFRobot/DFRobot_ADS1115
 *
 * connect ADS1115 I2C interface with your board (please reference board compatibility)
 *
 * The voltage value read by A0 A1 A2 A3 is printed through the serial port.
 *
 * Copyright   [DFRobot](http://www.dfrobot.com), 2016
 * Copyright   GNU Lesser General Public License
 *
 * version  V1.0
 * date  2018-01-21
 */

#include <Wire.h>
#include <DFRobot_ADS1115.h>

DFRobot_ADS1115 ads(&Wire);

void setup(void) 
{
    Serial.begin(115200);
    ads.setAddr_ADS1115(ADS1115_IIC_ADDRESS0);   // 0x49
    ads.setGain(eGAIN_TWOTHIRDS);   // 2/3x gain
    ads.setMode(eMODE_SINGLE);       // single-shot mode
    ads.setRate(eRATE_128);          // 128SPS (default)
    ads.setOSMode(eOSMODE_SINGLE);   // Set to start a single-conversion
    ads.init();
}

void loop(void) 
{
    if (ads.checkADS1115())
    {
        int16_t adc0, adc1, adc2, adc3;
        adc0 = ads.readVoltage(0);
        Serial.print("A0:");
        Serial.print(adc0);
        Serial.print("mV,  ");
        adc1 = ads.readVoltage(1);
        Serial.print("A1:");
        Serial.print(adc1);
        Serial.print("mV,  ");
        adc2 = ads.readVoltage(2);
        Serial.print("A2:");
        Serial.print(adc2);
        Serial.print("mV,  ");
        adc3 = ads.readVoltage(3);
        Serial.print("A3:");
        Serial.print(adc3);
        Serial.println("mV");
    }
    else
    {
        Serial.println("ADS1115 Disconnected!");
    }

    delay(1000);
}

在这里插入图片描述

总结

ADS1115不仅可以实现四端模拟信号电压采样输入,还能实现A0(P)\A1(N),A2(P)\A3(N)两对差分输入信号电压采集,内部阀值电压设置和外部采集信号电压采样比较后中断信号输出。

评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值