Arduino UNO驱动ADS1115模数转换模块
简介ADS1115模块原理图Arduino UNO与ADS1115接线图Arduino UNO测试代码总结原文链接:/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测试代码
例程下载链接:/DFRobot/DFRobot_ADS1115
打开如下四端模拟输入检测转换例程,下载至Arduino UNO开发板里
/** file ADS1115_ReadVoltage.ino** @ /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](), * Copyright GNU Lesser General Public License** version V1.0* date -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); // 0x49ads.setGain(eGAIN_TWOTHIRDS); // 2/3x gainads.setMode(eMODE_SINGLE); // single-shot modeads.setRate(eRATE_128);// 128SPS (default)ads.setOSMode(eOSMODE_SINGLE); // Set to start a single-conversionads.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)两对差分输入信号电压采集,内部阀值电压设置和外部采集信号电压采样比较后中断信号输出。
如果觉得《Arduino UNO驱动ADS1115模数转换模块》对你有帮助,请点赞、收藏,并留下你的观点哦!