使用Arduino驱动 ADS1115 ADC采样芯片
如图,这是这颗ADC采样芯片的内部结构图,可以看到, 从芯片引脚到芯片内部的ADC模块,还有几个部分: MUX,PGA, 这两个分别叫做多路复用器、和增益放大器, MUX用来切换采样引脚,而PGA则用来切换测量量程。
我参照芯片官方的数据手册写出了这个简易的测试程序,只用到了最基本的IIC的通讯, 使用功能也比较有限,高级一些的功能都需要使用基于IIC通讯的SMBUS协议, 这个就没有继续深究了。
#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, // &