你(们)好。
我将此 ADS1015连接到 Arduino、但它无法正常工作。
我将以差分方式测量、当我测量正值时、效果完全正常。 没有问题。
但是、当我想测量负值时、开始出现问题。 有时、它测量的值约为1.6伏、但当您以极小的方式更改电压时、它会停止测量任何值、而不返回任何值。 它在400mV 和5.1V 左右也能正常工作。 我不知道这可能会带来什么。
我将 addres 引脚拉至接地、我将用5V 为其馈电、并将 A0用作正输入、将 A1用作负输入。
我使用实验室工作台电源来提供不同的电压、Arduino 连接到笔记本电脑、笔记本电脑上没有插入充电器、因此不会对地短路。
我在这个帖子的底部包含了我的代码(摘自 Adafruit ADS1015库示例)
我期待您的建议、
提前感谢、
达安
这就是我连接所有设备的方式。 L_IO1和 LIO_2可以是 GND 或+30V。
(插入图像选项不起作用、因此我将其上传到了其他地方)
#include
#include
// AdafruIT_ADS1115 ADS;//将其用于16位版本*/
AdafruIT_ADS1015 ADS; /*将 thi 用于12位版本*/
void setup (void)
{
Serial.begin(9600);
Serial.println ("Hello!");
serial.println ("从 AIN0 (P)和 AIN1 (N)获取差分读数");
serial.println ("ADC 范围:+/- 6.144V (1位= 3mV/ADS1015、0.1875mV/ADS1115)");
// ADC 输入范围(或增益)可通过以下
//函数更改,但请注意不要超过 VDD +0.3V 最大值,或者
如果您调整输入范围,不要超过//上限和下限!
//错误地设置这些值可能会破坏您的 ADC!
// ADS1015 ADS1115
// ---- ----
ads.setGain(GAIN_TWOTHIRDS);// 2/3x 增益+/- 6.144V 1位= 3mV 0.1875mV (默认值)
// ads.setGain(GAIN_ONE); // 1x 增益+/- 4.096V 1位= 2mV 0.125mV
// ads.setGain(GAIN_TWO); // 2x 增益+/- 2.048V 1位= 1mV 0.0625mV
// ads.setGain(GAIN_FOUR); // 4x 增益+/- 1.024V 1位= 0.5mV 0.03125mV
// ads.setGain(GAIN_EIGHT); // 8x 增益+/- 0.512V 1位= 0.25mV 0.015625mV
// ads.setGain(GAIN_SIXTEEN);// 16x 增益+/- 0.256V 1位= 0.125mV 0.0078125mV
ads.begin();
}
void loop (void)
{
int16_t 结果;
/*请确保根据 IC 和增益设置更新此值! */
浮点乘法器= 3.0F;* ADS1015 @+/- 6.144V 增益(12位结果)*/
/浮点乘法器= 0.1875F;* ADS1115 @+/- 6.144V 增益(16位结果)*
/结果= ads.readadc_Different_0_1 ();
serial.print ("差分:");serial.print (结果);serial.print (");serial.print (结果*乘法器);serial.println ("mV");
延迟(100);
}