使用Arduino驱动 ADS1115 ADC采样芯片

使用Arduino驱动 ADS1115 ADC采样芯片

如图,这是这颗ADC采样芯片的内部结构图,可以看到, 从芯片引脚到芯片内部的ADC模块,还有几个部分: MUX,PGA, 这两个分别叫做多路复用器、和增益放大器, MUX用来切换采样引脚,而PGA则用来切换测量量程。

我参照芯片官方的数据手册写出了这个简易的测试程序,只用到了最基本的IIC的通讯, 使用功能也比较有限,高级一些的功能都需要使用基于IIC通讯的SMBUS协议, 这个就没有继续深究了。

1474197-20190819205237157-1227511123.png

#include <Wire.h>

const int8_t ADS1115_address = 0x48;



enum ADS1115Conf{
  AIN0_2AIN1  =  0b000, // << 12,
  AIN0_2AIN3  =  0b001, // << 12,
  AIN1_2AIN3  =  0b010, // << 12,
  AIN2_2AIN3  =  0b011, // << 12,
  AIN0_2GND   =  0b100, // << 12,
  AIN1_2GND   =  0b101, // << 12,
  AIN2_2GND   =  0b110, // << 12,
  AIN3_2GND   =  0b111, // << 12,

  FSR_6_144V  =  0b000, // << 9,
  FSR_4_096V  =  0b001, // &
  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ESP32 Arduino平台上使用ADS1115模块是一种常见的方式来读取模拟信号。ADS1115是一个4通道16位模数转换器(ADC),可以通过I2C接口与ESP32进行通信。 首先,确保你的ESP32开发板已经连接ADS1115模块。然后,按照以下步骤进行操作: 1. 在Arduino IDE中打开一个新的项目。 2. 安装Adafruit ADS1X15库。在Arduino IDE中选择“工具”>“管理库”,搜索“Adafruit ADS1X15”,并安装该库。 3. 在代码中引入ADS1X15库: ```c #include <Wire.h> #include <Adafruit_ADS1015.h> ``` 4. 创建一个ADS1115对象: ```c Adafruit_ADS1115 ads; // 创建ADS1115对象 ``` 5. 在`setup()`函数中初始化ADS1115: ```c void setup() { Serial.begin(9600); ads.begin(); } ``` 6. 在`loop()`函数中读取模拟信号: ```c void loop() { int16_t adc0, adc1, adc2, adc3; adc0 = ads.readADC_SingleEnded(0); // 读取通道0的模拟信号 adc1 = ads.readADC_SingleEnded(1); // 读取通道1的模拟信号 adc2 = ads.readADC_SingleEnded(2); // 读取通道2的模拟信号 adc3 = ads.readADC_SingleEnded(3); // 读取通道3的模拟信号 Serial.print("ADC0: "); // 打印通道0的值 Serial.println(adc0); delay(1000); // 延迟1秒 } ``` 这是一个简单的示例,可以通过修改代码来适应你的特定需求。你可以根据需要读取不同通道的模拟信号,也可以选择使用不同的读取模式(如差分模式)。 希望这能帮助到你!如果还有其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值