ESP8266-Arduino编程实例-ADS1115模数转换器驱动

ADS1115模数转换器驱动

1、ADS1115介绍

ADS1115 器件是一款精密、低功耗、16 位、I2C 兼容的模数转换器 (ADC),采用超小型、无引线、X2QFN-10 和 VSSOP-10 封装。 ADS1115 器件包含一个低漂移电压基准和一个振荡器。 ADS1115 还包含一个可编程增益放大器和一个数字比较器。 这些特性以及宽工作电源范围使 ADS1115 非常适合功率和空间受限的传感器测量应用。

在这里插入图片描述

ADS1115 以高达每秒 860 个样本 (SPS) 的数据速率执行转换。 PGA 提供从 ±256 mV 到 ±6.144 V 的输入范围,可实现精确的大信号和小信号测量。 ADS1115 具有一个输入多路复用器,允许进行两个差分或四个单端输入测量。 使用 ADS1115 中的数字比较器进行欠压和过压检测。

ADS1115 在连续转换模式或单次模式下运行。 设备在单次模式下转换一次后自动掉电; 因此,空闲期间的功耗显着降低。

ADS1115具有如下特性:

  • 宽电源范围:2.0 V 至 5.5 V
  • 低电流消耗:150µA(连续转换模式)
  • 可编程数据速率:8 SPS 至 860 SPS
  • 单周期沉降
  • 内部低漂移电压基准
  • 内部振荡器
  • I2C 接口:四个引脚可选地址
  • 四个单端或两个差分输入 (ADS1115)
  • 可编程比较器(ADS1114 和 ADS1115)
  • 工作温度范围:–40°C 至 +125°C

2、硬件准备

  • ESP8266 NodeMCU开发板一块
  • ADS1115传感器模块一个
  • 面板板一个
  • 杜邦线若干
  • 数据线一条

硬件接线如下:

传感器引脚 ESP8266开发板引脚
Vin 5v
Gnd Gnd
SCL D1
SDA D2

3、软件准备

  • Arduino IDE或VSCode + PlatformIO

在前面的文章中,对如何搭建ESP8266开发环境做了详细的介绍,请参考:

ESP8266 NodeMCU的引脚介绍在前面的文章中做了详细的介绍,请参考:

4、代码实现

本次实例使用如下驱动库:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include <Wire.h>
#include <Adafruit\_ADS1015.h>

Adafruit_ADS1115 ads(0x48);

void setup(void)
{
Serial.begin(9600);
Serial.println("Hello!");

Serial.println("Getting single-ended readings from AIN0..3");
Serial.println("ADC Range: +/- 6.144V (1 bit = 3mV/ADS1015, 0.1875mV/ADS1115)");

ads.begin();
}

void loop(void)
{
int16\_t adc0, adc1, adc2, adc3;

adc0 = ads.readADC\_SingleEnded(0);
adc1 = ads.readADC\_SingleEnded(1);
adc2 = ads.readADC\_SingleEnded(2);
adc3 = ads.readADC\_SingleEnded(3);
Serial.print("AIN0: ");
Serial.println(adc0);
Serial.print("AIN1: ");
Serial.println(adc1);
Serial.print("AIN2: ");
Serial.println(adc2);
Serial.print("AIN3: ");
Serial.println(adc3);
Serial.println(" ");

delay(1000);
}

文章来源: https://iotsmart.blog.csdn.net/article/details/126655242