mirror of
https://github.com/RobTillaart/Arduino.git
synced 2024-10-03 18:09:02 -04:00
0.4.0 ADS1x15
This commit is contained in:
parent
7f909c9f2f
commit
b32f817808
@ -1,7 +1,7 @@
|
|||||||
//
|
//
|
||||||
// FILE: ADS1X15.cpp
|
// FILE: ADS1X15.cpp
|
||||||
// AUTHOR: Rob Tillaart
|
// AUTHOR: Rob Tillaart
|
||||||
// VERSION: 0.3.13
|
// VERSION: 0.4.0
|
||||||
// DATE: 2013-03-24
|
// DATE: 2013-03-24
|
||||||
// PUPROSE: Arduino library for ADS1015 and ADS1115
|
// PUPROSE: Arduino library for ADS1015 and ADS1115
|
||||||
// URL: https://github.com/RobTillaart/ADS1X15
|
// URL: https://github.com/RobTillaart/ADS1X15
|
||||||
@ -140,33 +140,8 @@ void ADS1X15::reset()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#if defined (ESP8266) || defined(ESP32)
|
|
||||||
|
|
||||||
bool ADS1X15::begin(int sda, int scl)
|
|
||||||
{
|
|
||||||
_wire->begin(sda, scl);
|
|
||||||
if ((_address < 0x48) || (_address > 0x4B)) return false;
|
|
||||||
if (! isConnected()) return false;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
#elif defined (ARDUINO_ARCH_RP2040) && !defined(__MBED__)
|
|
||||||
|
|
||||||
bool ADS1X15::begin(int sda, int scl)
|
|
||||||
{
|
|
||||||
_wire->setSDA(sda);
|
|
||||||
_wire->setSCL(scl);
|
|
||||||
_wire->begin();
|
|
||||||
if ((_address < 0x48) || (_address > 0x4B)) return false;
|
|
||||||
if (! isConnected()) return false;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
bool ADS1X15::begin()
|
bool ADS1X15::begin()
|
||||||
{
|
{
|
||||||
_wire->begin();
|
|
||||||
if ((_address < 0x48) || (_address > 0x4B)) return false;
|
if ((_address < 0x48) || (_address > 0x4B)) return false;
|
||||||
if (! isConnected()) return false;
|
if (! isConnected()) return false;
|
||||||
return true;
|
return true;
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
//
|
//
|
||||||
// FILE: ADS1X15.h
|
// FILE: ADS1X15.h
|
||||||
// AUTHOR: Rob Tillaart
|
// AUTHOR: Rob Tillaart
|
||||||
// VERSION: 0.3.13
|
// VERSION: 0.4.0
|
||||||
// DATE: 2013-03-24
|
// DATE: 2013-03-24
|
||||||
// PUPROSE: Arduino library for ADS1015 and ADS1115
|
// PUPROSE: Arduino library for ADS1015 and ADS1115
|
||||||
// URL: https://github.com/RobTillaart/ADS1X15
|
// URL: https://github.com/RobTillaart/ADS1X15
|
||||||
@ -12,7 +12,7 @@
|
|||||||
#include "Arduino.h"
|
#include "Arduino.h"
|
||||||
#include "Wire.h"
|
#include "Wire.h"
|
||||||
|
|
||||||
#define ADS1X15_LIB_VERSION (F("0.3.13"))
|
#define ADS1X15_LIB_VERSION (F("0.4.0"))
|
||||||
|
|
||||||
// allow compile time default address
|
// allow compile time default address
|
||||||
// address in { 0x48, 0x49, 0x4A, 0x4B }, no test...
|
// address in { 0x48, 0x49, 0x4A, 0x4B }, no test...
|
||||||
@ -36,12 +36,6 @@ class ADS1X15
|
|||||||
public:
|
public:
|
||||||
void reset();
|
void reset();
|
||||||
|
|
||||||
#if defined (ESP8266) || defined(ESP32)
|
|
||||||
bool begin(int sda, int scl);
|
|
||||||
#elif defined (ARDUINO_ARCH_RP2040) && !defined(__MBED__)
|
|
||||||
bool begin(int sda, int scl);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
bool begin();
|
bool begin();
|
||||||
bool isConnected();
|
bool isConnected();
|
||||||
|
|
||||||
|
@ -5,17 +5,22 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/)
|
|||||||
and this project adheres to [Semantic Versioning](http://semver.org/).
|
and this project adheres to [Semantic Versioning](http://semver.org/).
|
||||||
|
|
||||||
|
|
||||||
|
## [0.4.0] - 2023-12-06
|
||||||
|
- refactor API, begin()
|
||||||
|
- update readme.md
|
||||||
|
- update examples
|
||||||
|
|
||||||
|
----
|
||||||
|
|
||||||
## [0.3.13] - 2023-09-20
|
## [0.3.13] - 2023-09-20
|
||||||
- fix #61 ESP32 begin()
|
- fix #61 ESP32 begin()
|
||||||
|
|
||||||
|
|
||||||
## [0.3.12] - 2023-09-11
|
## [0.3.12] - 2023-09-11
|
||||||
- update and add examples
|
- update and add examples
|
||||||
- add **getLastRequest()** to track last type of measurement.
|
- add **getLastRequest()** to track last type of measurement.
|
||||||
- update readme.md
|
- update readme.md
|
||||||
- minor edits.
|
- minor edits.
|
||||||
|
|
||||||
|
|
||||||
## [0.3.11] - 2023-08-31
|
## [0.3.11] - 2023-08-31
|
||||||
- update readme.md
|
- update readme.md
|
||||||
- move code from .h to .cpp
|
- move code from .h to .cpp
|
||||||
|
@ -37,6 +37,15 @@ interesting from functionality point of view as these can also do
|
|||||||
differential measurements.
|
differential measurements.
|
||||||
|
|
||||||
|
|
||||||
|
#### 0.4.0 Breaking change
|
||||||
|
|
||||||
|
Version 0.4.0 introduced a breaking change.
|
||||||
|
You cannot set the pins in **begin()** any more.
|
||||||
|
This reduces the dependency of processor dependent Wire implementations.
|
||||||
|
The user has to call **Wire.begin()** and can optionally set the Wire pins
|
||||||
|
before calling **begin()**.
|
||||||
|
|
||||||
|
|
||||||
#### Related
|
#### Related
|
||||||
|
|
||||||
- https://github.com/RobTillaart/MCP_ADC (10 & 12 bit ADC, SPI, fast)
|
- https://github.com/RobTillaart/MCP_ADC (10 & 12 bit ADC, SPI, fast)
|
||||||
@ -419,6 +428,9 @@ Set the number of conversions before trigger activates.
|
|||||||
The **void setComparatorQueConvert(uint8_t mode)** is used to set the number of
|
The **void setComparatorQueConvert(uint8_t mode)** is used to set the number of
|
||||||
conversions that exceed the threshold before the **ALERT/RDY** pin is set **HIGH**.
|
conversions that exceed the threshold before the **ALERT/RDY** pin is set **HIGH**.
|
||||||
A value of 3 (or above) effectively disables the comparator. See table below.
|
A value of 3 (or above) effectively disables the comparator. See table below.
|
||||||
|
To enable the conversion-ready function of the ALERT/RDY pin, it is necessary to set the MSB of the Hi_thresh register to 1 and the MSB of the Lo_thresh register to 0.
|
||||||
|
|
||||||
|
See [examples](https://github.com/RobTillaart/ADS1X15/blob/master/examples/ADS_continuous_differential/ADS_continuous_differential.ino).
|
||||||
|
|
||||||
- **void setComparatorQueConvert(uint8_t mode)** See table below.
|
- **void setComparatorQueConvert(uint8_t mode)** See table below.
|
||||||
- **uint8_t getComparatorQueConvert()** returns value set.
|
- **uint8_t getComparatorQueConvert()** returns value set.
|
||||||
@ -442,27 +454,14 @@ mean something different see - Comparator Mode above or datasheet.
|
|||||||
- **int16_t getComparatorThresholdHigh()** reads value from device.
|
- **int16_t getComparatorThresholdHigh()** reads value from device.
|
||||||
|
|
||||||
|
|
||||||
## RP2040 specific
|
|
||||||
|
|
||||||
- **bool begin(int sda, int scl)** begin communication with the ADC.
|
|
||||||
It has the parameter for selecting on which pins the communication should happen.
|
|
||||||
Check RP2040 Pinout for compatible pins.
|
|
||||||
If, "Wire1" is used, you need to add "&Wire1" in the constructor.
|
|
||||||
|
|
||||||
|
|
||||||
## Future ideas & improvements
|
## Future ideas & improvements
|
||||||
|
|
||||||
#### Must
|
#### Must
|
||||||
|
|
||||||
- Improve documentation (always)
|
- Improve documentation (always)
|
||||||
|
|
||||||
|
|
||||||
#### Should
|
#### Should
|
||||||
|
|
||||||
- investigate of remove the begin(sda, scl) versions
|
|
||||||
as the responsibility for the Wire configuration
|
|
||||||
should not be in this library.
|
|
||||||
|
|
||||||
|
|
||||||
#### Could
|
#### Could
|
||||||
|
|
||||||
|
@ -27,6 +27,8 @@ void setup()
|
|||||||
Serial.print("ADS1X15_LIB_VERSION: ");
|
Serial.print("ADS1X15_LIB_VERSION: ");
|
||||||
Serial.println(ADS1X15_LIB_VERSION);
|
Serial.println(ADS1X15_LIB_VERSION);
|
||||||
|
|
||||||
|
Wire.begin();
|
||||||
|
|
||||||
for (uint8_t i = 0; i < 4; i++)
|
for (uint8_t i = 0; i < 4; i++)
|
||||||
{
|
{
|
||||||
uint8_t address = 0x48 + i;
|
uint8_t address = 0x48 + i;
|
||||||
@ -36,7 +38,8 @@ void setup()
|
|||||||
Serial.print(" ");
|
Serial.print(" ");
|
||||||
Serial.println(ADS[i].begin() ? "connected" : "not connected");
|
Serial.println(ADS[i].begin() ? "connected" : "not connected");
|
||||||
|
|
||||||
ADS[i].setDataRate(4); // 0 = slow 4 = medium 7 = fast, but more noise
|
// 0 = slow 4 = medium 7 = fast, but more noise
|
||||||
|
ADS[i].setDataRate(4);
|
||||||
}
|
}
|
||||||
ADS_request_all();
|
ADS_request_all();
|
||||||
}
|
}
|
||||||
@ -44,14 +47,14 @@ void setup()
|
|||||||
|
|
||||||
void loop()
|
void loop()
|
||||||
{
|
{
|
||||||
// Serial.println(__FUNCTION__);
|
// Serial.println(__FUNCTION__);
|
||||||
// wait until all is read...
|
// wait until all is read...
|
||||||
while(ADS_read_all());
|
while(ADS_read_all());
|
||||||
|
|
||||||
// we have all values, so process (print) them
|
// we have all values, so process (print) them
|
||||||
ADS_print_all();
|
ADS_print_all();
|
||||||
|
|
||||||
delay(1000); // wait a second, comment this line for more samples.
|
delay(1000); // wait a second, comment this line for more samples.
|
||||||
ADS_request_all();
|
ADS_request_all();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -107,4 +110,4 @@ void ADS_print_all()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// -- END OF FILE --
|
// -- END OF FILE --
|
||||||
|
@ -27,18 +27,19 @@ void setup()
|
|||||||
Serial.print("ADS1X15_LIB_VERSION: ");
|
Serial.print("ADS1X15_LIB_VERSION: ");
|
||||||
Serial.println(ADS1X15_LIB_VERSION);
|
Serial.println(ADS1X15_LIB_VERSION);
|
||||||
|
|
||||||
|
Wire.begin();
|
||||||
|
|
||||||
// SETUP FIRST ADS1114
|
// SETUP FIRST ADS1114
|
||||||
ADS_1.begin();
|
ADS_1.begin();
|
||||||
ADS_1.setGain(0); // 0 == 6.144 volt, default
|
ADS_1.setGain(0); // 0 == 6.144 volt, default
|
||||||
ADS_1.setDataRate(7); // 0 = slow 4 = medium 7 = fast
|
ADS_1.setDataRate(7); // 0 = slow 4 = medium 7 = fast
|
||||||
|
|
||||||
// SET ALERT RDY PIN
|
// SET ALERT RDY PIN
|
||||||
ADS_1.setComparatorThresholdHigh(0x8000);
|
ADS_1.setComparatorThresholdHigh(0x8000);
|
||||||
ADS_1.setComparatorThresholdLow(0x0000);
|
ADS_1.setComparatorThresholdLow(0x0000);
|
||||||
ADS_1.setComparatorQueConvert(0);
|
ADS_1.setComparatorQueConvert(0);
|
||||||
|
|
||||||
// SET INTERRUPT HANDLER TO CATCH CONVERSION READY
|
// SET INTERRUPT HANDLER TO CATCH CONVERSION READY
|
||||||
pinMode(2, INPUT_PULLUP);
|
pinMode(2, INPUT_PULLUP);
|
||||||
attachInterrupt(digitalPinToInterrupt(2), adsReady_1, RISING);
|
attachInterrupt(digitalPinToInterrupt(2), adsReady_1, RISING);
|
||||||
|
|
||||||
@ -46,17 +47,17 @@ void setup()
|
|||||||
ADS_1.readADC(); // 0 == default channel, trigger first read
|
ADS_1.readADC(); // 0 == default channel, trigger first read
|
||||||
|
|
||||||
|
|
||||||
// SETUP SECOND ADS1114
|
// SETUP SECOND ADS1114
|
||||||
ADS_2.begin();
|
ADS_2.begin();
|
||||||
ADS_2.setGain(0); // 0 == 6.144 volt, default
|
ADS_2.setGain(0); // 0 == 6.144 volt, default
|
||||||
ADS_2.setDataRate(7); // 7 == highest
|
ADS_2.setDataRate(7); // 7 == highest
|
||||||
|
|
||||||
// SET ALERT RDY PIN
|
// SET ALERT RDY PIN
|
||||||
ADS_2.setComparatorThresholdHigh(0x8000);
|
ADS_2.setComparatorThresholdHigh(0x8000);
|
||||||
ADS_2.setComparatorThresholdLow(0x0000);
|
ADS_2.setComparatorThresholdLow(0x0000);
|
||||||
ADS_2.setComparatorQueConvert(0);
|
ADS_2.setComparatorQueConvert(0);
|
||||||
|
|
||||||
// SET INTERRUPT HANDLER TO CATCH CONVERSION READY
|
// SET INTERRUPT HANDLER TO CATCH CONVERSION READY
|
||||||
pinMode(3, INPUT_PULLUP);
|
pinMode(3, INPUT_PULLUP);
|
||||||
attachInterrupt(digitalPinToInterrupt(3), adsReady_2, RISING);
|
attachInterrupt(digitalPinToInterrupt(3), adsReady_2, RISING);
|
||||||
|
|
||||||
@ -78,26 +79,26 @@ void loop()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// catch interrupt and set flag device 1
|
// catch interrupt and set flag device 1
|
||||||
void adsReady_1()
|
void adsReady_1()
|
||||||
{
|
{
|
||||||
RDY_1 = true;
|
RDY_1 = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// catch interrupt and set flag device 1
|
// catch interrupt and set flag device 1
|
||||||
void adsReady_2()
|
void adsReady_2()
|
||||||
{
|
{
|
||||||
RDY_2 = true;
|
RDY_2 = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// handle conversions that are ready
|
// handle conversions that are ready
|
||||||
bool handleConversion()
|
bool handleConversion()
|
||||||
{
|
{
|
||||||
bool rv = false;
|
bool rv = false;
|
||||||
if (RDY_1)
|
if (RDY_1)
|
||||||
{
|
{
|
||||||
// save the last value
|
// save the last value
|
||||||
val_1 = ADS_1.getValue();
|
val_1 = ADS_1.getValue();
|
||||||
ADS_1.readADC(0);
|
ADS_1.readADC(0);
|
||||||
RDY_1 = false;
|
RDY_1 = false;
|
||||||
@ -105,7 +106,7 @@ bool handleConversion()
|
|||||||
}
|
}
|
||||||
if (RDY_2)
|
if (RDY_2)
|
||||||
{
|
{
|
||||||
// save the last value
|
// save the last value
|
||||||
val_2 = ADS_2.getValue();
|
val_2 = ADS_2.getValue();
|
||||||
ADS_2.readADC(0);
|
ADS_2.readADC(0);
|
||||||
RDY_2 = false;
|
RDY_2 = false;
|
||||||
@ -115,5 +116,5 @@ bool handleConversion()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// -- END OF FILE --
|
// -- END OF FILE --
|
||||||
|
|
||||||
|
@ -4,13 +4,13 @@
|
|||||||
// PURPOSE: read analog input
|
// PURPOSE: read analog input
|
||||||
// URL: https://github.com/RobTillaart/ADS1X15
|
// URL: https://github.com/RobTillaart/ADS1X15
|
||||||
|
|
||||||
// test
|
// test
|
||||||
// connect 1 potmeter
|
// connect 1 potentiometer
|
||||||
//
|
//
|
||||||
// GND ---[ x ]------ 5V
|
// GND ---[ x ]------ 5V
|
||||||
// |
|
// |
|
||||||
//
|
//
|
||||||
// measure at x (connect to AIN0).
|
// measure at x (connect to AIN0).
|
||||||
|
|
||||||
|
|
||||||
#include "ADS1X15.h"
|
#include "ADS1X15.h"
|
||||||
@ -32,19 +32,24 @@ void setup()
|
|||||||
Serial.print("ADS1X15_LIB_VERSION: ");
|
Serial.print("ADS1X15_LIB_VERSION: ");
|
||||||
Serial.println(ADS1X15_LIB_VERSION);
|
Serial.println(ADS1X15_LIB_VERSION);
|
||||||
|
|
||||||
ADS.begin(26, 27); // SDA (Pin 26), SCL(Pin 27)
|
// SDA (Pin 26), SCL(Pin 27)
|
||||||
ADS.setGain(0); // 6.144 volt
|
Wire1.begin();
|
||||||
ADS.setDataRate(7); // 0 = slow 4 = medium 7 = fast
|
Wire1.setSDA(26);
|
||||||
ADS.setMode(0); // continuous mode
|
Wire1.setSCL(27);
|
||||||
ADS.readADC(0); // first read to trigger
|
|
||||||
|
ADS.begin();
|
||||||
|
ADS.setGain(0); // 6.144 volt
|
||||||
|
ADS.setDataRate(7); // 0 = slow 4 = medium 7 = fast
|
||||||
|
ADS.setMode(0); // continuous mode
|
||||||
|
ADS.readADC(0); // first read to trigger
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void loop()
|
void loop()
|
||||||
{
|
{
|
||||||
Serial.println(ADS.getValue());
|
Serial.println(ADS.getValue());
|
||||||
// optional other code here
|
// optional other code here
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// -- END OF FILE --
|
// -- END OF FILE --
|
||||||
|
@ -1,9 +1,7 @@
|
|||||||
//
|
//
|
||||||
// FILE: ADS_async_16_channel.ino
|
// FILE: ADS_async_16_channel.ino
|
||||||
// AUTHOR: Rob Tillaart
|
// AUTHOR: Rob Tillaart
|
||||||
// VERSION: 0.1.0
|
|
||||||
// PURPOSE: demo reading four ADS1115 modules in parallel
|
// PURPOSE: demo reading four ADS1115 modules in parallel
|
||||||
// DATE: 2021-07-06
|
|
||||||
// URL: https://github.com/RobTillaart/ADS1X15
|
// URL: https://github.com/RobTillaart/ADS1X15
|
||||||
|
|
||||||
|
|
||||||
@ -30,6 +28,8 @@ void setup()
|
|||||||
Serial.print("ADS1X15_LIB_VERSION: ");
|
Serial.print("ADS1X15_LIB_VERSION: ");
|
||||||
Serial.println(ADS1X15_LIB_VERSION);
|
Serial.println(ADS1X15_LIB_VERSION);
|
||||||
|
|
||||||
|
Wire.begin();
|
||||||
|
|
||||||
for (uint8_t i = 0; i < 4; i++)
|
for (uint8_t i = 0; i < 4; i++)
|
||||||
{
|
{
|
||||||
uint8_t address = 0x48 + i;
|
uint8_t address = 0x48 + i;
|
||||||
@ -39,7 +39,8 @@ void setup()
|
|||||||
Serial.print(" ");
|
Serial.print(" ");
|
||||||
Serial.println(ADS[i].begin() ? "connected" : "not connected");
|
Serial.println(ADS[i].begin() ? "connected" : "not connected");
|
||||||
|
|
||||||
ADS[i].setDataRate(4); // 0 = slow 4 = medium 7 = fast, but more noise
|
// 0 = slow 4 = medium 7 = fast, but more noise
|
||||||
|
ADS[i].setDataRate(4);
|
||||||
}
|
}
|
||||||
ADS_request_all();
|
ADS_request_all();
|
||||||
}
|
}
|
||||||
@ -47,14 +48,14 @@ void setup()
|
|||||||
|
|
||||||
void loop()
|
void loop()
|
||||||
{
|
{
|
||||||
// Serial.println(__FUNCTION__);
|
// Serial.println(__FUNCTION__);
|
||||||
// wait until all is read...
|
// wait until all is read...
|
||||||
while (ADS_read_all());
|
while (ADS_read_all());
|
||||||
|
|
||||||
// we have all values
|
// we have all values
|
||||||
ADS_print_all();
|
ADS_print_all();
|
||||||
|
|
||||||
delay(1000); // wait a second.
|
delay(1000); // wait a second.
|
||||||
ADS_request_all();
|
ADS_request_all();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -75,8 +76,8 @@ bool ADS_read_all()
|
|||||||
{
|
{
|
||||||
if (ADS[i].isConnected() && ADS[i].isBusy()) return true;
|
if (ADS[i].isConnected() && ADS[i].isBusy()) return true;
|
||||||
}
|
}
|
||||||
// Serial.print("IDX:\t");
|
// Serial.print("IDX:\t");
|
||||||
// Serial.println(idx);
|
// Serial.println(idx);
|
||||||
for (int i = 0; i < 4; i++)
|
for (int i = 0; i < 4; i++)
|
||||||
{
|
{
|
||||||
if (ADS[i].isConnected())
|
if (ADS[i].isConnected())
|
||||||
@ -97,14 +98,14 @@ bool ADS_read_all()
|
|||||||
|
|
||||||
void ADS_print_all()
|
void ADS_print_all()
|
||||||
{
|
{
|
||||||
// Serial.println(__FUNCTION__);
|
// Serial.println(__FUNCTION__);
|
||||||
// TIMESTAMP
|
// TIMESTAMP
|
||||||
now = millis();
|
now = millis();
|
||||||
Serial.print(now - last);
|
Serial.print(now - last);
|
||||||
last = now;
|
last = now;
|
||||||
Serial.println();
|
Serial.println();
|
||||||
|
|
||||||
// PRINT ALL VALUES
|
// PRINT ALL VALUES
|
||||||
for (int i = 0; i < 4; i++)
|
for (int i = 0; i < 4; i++)
|
||||||
{
|
{
|
||||||
for (int j = 0; j < 4; j++)
|
for (int j = 0; j < 4; j++)
|
||||||
@ -118,5 +119,5 @@ void ADS_print_all()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// -- END OF FILE --
|
// -- END OF FILE --
|
||||||
|
|
||||||
|
@ -2,7 +2,6 @@
|
|||||||
// FILE: ADS_async_8_channel.ino
|
// FILE: ADS_async_8_channel.ino
|
||||||
// AUTHOR: Rob Tillaart
|
// AUTHOR: Rob Tillaart
|
||||||
// PURPOSE: demo reading two ADS1115 modules in parallel
|
// PURPOSE: demo reading two ADS1115 modules in parallel
|
||||||
// DATE: 2021-07-05
|
|
||||||
// URL: https://github.com/RobTillaart/ADS1X15
|
// URL: https://github.com/RobTillaart/ADS1X15
|
||||||
|
|
||||||
|
|
||||||
@ -36,6 +35,8 @@ void setup()
|
|||||||
Serial.print("ADS1X15_LIB_VERSION: ");
|
Serial.print("ADS1X15_LIB_VERSION: ");
|
||||||
Serial.println(ADS1X15_LIB_VERSION);
|
Serial.println(ADS1X15_LIB_VERSION);
|
||||||
|
|
||||||
|
Wire.begin();
|
||||||
|
|
||||||
ADS0.begin();
|
ADS0.begin();
|
||||||
ADS1.begin();
|
ADS1.begin();
|
||||||
// ADS2.begin();
|
// ADS2.begin();
|
||||||
@ -46,7 +47,8 @@ void setup()
|
|||||||
// Serial.println(ADS2.isConnected());
|
// Serial.println(ADS2.isConnected());
|
||||||
// Serial.println(ADS3.isConnected());
|
// Serial.println(ADS3.isConnected());
|
||||||
|
|
||||||
ADS0.setDataRate(4); // 0 = slow 4 = medium 7 = fast but more noise
|
// 0 = slow 4 = medium 7 = fast but more noise
|
||||||
|
ADS0.setDataRate(4);
|
||||||
ADS1.setDataRate(4);
|
ADS1.setDataRate(4);
|
||||||
// ADS2.setDataRate(4);
|
// ADS2.setDataRate(4);
|
||||||
// ADS3.setDataRate(4);
|
// ADS3.setDataRate(4);
|
||||||
@ -58,13 +60,14 @@ void setup()
|
|||||||
|
|
||||||
void loop()
|
void loop()
|
||||||
{
|
{
|
||||||
// wait until all is read...
|
// wait until all is read...
|
||||||
while (ADS_read_all());
|
while (ADS_read_all());
|
||||||
|
|
||||||
// we have all 8 values
|
// we have all 8 values
|
||||||
ADS_print_all();
|
ADS_print_all();
|
||||||
|
|
||||||
delay(1000); // wait a second.
|
// wait a second.
|
||||||
|
delay(1000);
|
||||||
ADS_request_all();
|
ADS_request_all();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -106,13 +109,13 @@ void ADS_print_all()
|
|||||||
Serial.println(now - lastTime);
|
Serial.println(now - lastTime);
|
||||||
lastTime = now;
|
lastTime = now;
|
||||||
|
|
||||||
// PRINT ALL VALUES OF ADC0
|
// PRINT ALL VALUES OF ADC0
|
||||||
for (int i = 0; i < 4; i++)
|
for (int i = 0; i < 4; i++)
|
||||||
{
|
{
|
||||||
Serial.print(val0[i]);
|
Serial.print(val0[i]);
|
||||||
Serial.print("\t");
|
Serial.print("\t");
|
||||||
}
|
}
|
||||||
// PRINT ALL VALUES OF ADC1
|
// PRINT ALL VALUES OF ADC1
|
||||||
for (int i = 0; i < 4; i++)
|
for (int i = 0; i < 4; i++)
|
||||||
{
|
{
|
||||||
Serial.print(val1[i]);
|
Serial.print(val1[i]);
|
||||||
@ -135,5 +138,5 @@ void ADS_print_all()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// -- END OF FILE --
|
// -- END OF FILE --
|
||||||
|
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
//
|
//
|
||||||
// FILE: ADS_async_differential.ino
|
// FILE: ADS_async_differential.ino
|
||||||
// AUTHOR: Rob.Tillaart
|
// AUTHOR: Rob.Tillaart
|
||||||
// VERSION: 0.1.0
|
|
||||||
// PURPOSE: read multiple differential continuously
|
// PURPOSE: read multiple differential continuously
|
||||||
// URL: https://github.com/RobTillaart/ADS1X15
|
// URL: https://github.com/RobTillaart/ADS1X15
|
||||||
|
|
||||||
@ -40,15 +39,17 @@ void setup()
|
|||||||
Serial.print("ADS1X15_LIB_VERSION: ");
|
Serial.print("ADS1X15_LIB_VERSION: ");
|
||||||
Serial.println(ADS1X15_LIB_VERSION);
|
Serial.println(ADS1X15_LIB_VERSION);
|
||||||
|
|
||||||
|
Wire.begin();
|
||||||
|
|
||||||
ADS.begin();
|
ADS.begin();
|
||||||
ADS.setGain(0); // 6.144 volt
|
ADS.setGain(0); // 6.144 volt
|
||||||
ADS.setDataRate(4); // 0 = slow 4 = medium 7 = fast
|
ADS.setDataRate(4); // 0 = slow 4 = medium 7 = fast
|
||||||
|
|
||||||
// single shot mode
|
// single shot mode
|
||||||
ADS.setMode(1);
|
ADS.setMode(1);
|
||||||
// start with first pair
|
// start with first pair
|
||||||
pair = 01;
|
pair = 01;
|
||||||
// trigger first read
|
// trigger first read
|
||||||
ADS.requestADC_Differential_0_1();
|
ADS.requestADC_Differential_0_1();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -69,7 +70,7 @@ void loop()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// can be changed to hold other differentials reads too.
|
// can be changed to hold other differentials reads too.
|
||||||
bool handleConversion()
|
bool handleConversion()
|
||||||
{
|
{
|
||||||
if (ADS.isReady())
|
if (ADS.isReady())
|
||||||
@ -82,18 +83,18 @@ bool handleConversion()
|
|||||||
return false; // only one done
|
return false; // only one done
|
||||||
}
|
}
|
||||||
|
|
||||||
// last of series to check
|
// last of series to check
|
||||||
if (pair == 23)
|
if (pair == 23)
|
||||||
{
|
{
|
||||||
val_23 = ADS.getValue();
|
val_23 = ADS.getValue();
|
||||||
pair = 01;
|
pair = 01;
|
||||||
ADS.requestADC_Differential_0_1();
|
ADS.requestADC_Differential_0_1();
|
||||||
return true; // both are updated
|
return true; // both are updated
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return false; // default not all read
|
return false; // default not all read
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// -- END OF FILE --
|
// -- END OF FILE --
|
||||||
|
|
||||||
|
@ -40,6 +40,8 @@ void setup()
|
|||||||
Serial.print("ADS1X15_LIB_VERSION: ");
|
Serial.print("ADS1X15_LIB_VERSION: ");
|
||||||
Serial.println(ADS1X15_LIB_VERSION);
|
Serial.println(ADS1X15_LIB_VERSION);
|
||||||
|
|
||||||
|
Wire.begin();
|
||||||
|
|
||||||
ADS.begin();
|
ADS.begin();
|
||||||
ADS.setGain(0); // 6.144 volt
|
ADS.setGain(0); // 6.144 volt
|
||||||
ADS.setDataRate(7); // 0 = slow 4 = medium 7 = fast
|
ADS.setDataRate(7); // 0 = slow 4 = medium 7 = fast
|
||||||
|
@ -52,18 +52,19 @@ void setup()
|
|||||||
Serial.print("ADS1X15_LIB_VERSION: ");
|
Serial.print("ADS1X15_LIB_VERSION: ");
|
||||||
Serial.println(ADS1X15_LIB_VERSION);
|
Serial.println(ADS1X15_LIB_VERSION);
|
||||||
|
|
||||||
|
Wire.begin();
|
||||||
Wire.setClock(400000);
|
Wire.setClock(400000);
|
||||||
|
|
||||||
ADS.begin();
|
ADS.begin();
|
||||||
ADS.setGain(0); // 6.144 volt
|
ADS.setGain(0); // 6.144 volt
|
||||||
ADS.setDataRate(7); // 0 = slow 4 = medium 7 = fast
|
ADS.setDataRate(7); // 0 = slow 4 = medium 7 = fast
|
||||||
|
|
||||||
// SET ALERT RDY PIN
|
// SET ALERT RDY PIN
|
||||||
ADS.setComparatorThresholdHigh(0x8000);
|
ADS.setComparatorThresholdHigh(0x8000);
|
||||||
ADS.setComparatorThresholdLow(0x0000);
|
ADS.setComparatorThresholdLow(0x0000);
|
||||||
ADS.setComparatorQueConvert(0);
|
ADS.setComparatorQueConvert(0);
|
||||||
|
|
||||||
// SET INTERRUPT HANDLER TO CATCH CONVERSION READY
|
// SET INTERRUPT HANDLER TO CATCH CONVERSION READY
|
||||||
pinMode(2, INPUT_PULLUP);
|
pinMode(2, INPUT_PULLUP);
|
||||||
attachInterrupt(digitalPinToInterrupt(2), adsReady, RISING);
|
attachInterrupt(digitalPinToInterrupt(2), adsReady, RISING);
|
||||||
|
|
||||||
@ -81,7 +82,7 @@ void loop()
|
|||||||
{
|
{
|
||||||
SPS++;
|
SPS++;
|
||||||
val[channel] = ADS.getValue();
|
val[channel] = ADS.getValue();
|
||||||
// request next channel asap
|
// request next channel asap
|
||||||
channel++;
|
channel++;
|
||||||
if (channel >= 3) channel = 0;
|
if (channel >= 3) channel = 0;
|
||||||
ADS.requestADC(channel);
|
ADS.requestADC(channel);
|
||||||
|
@ -41,24 +41,26 @@ void setup()
|
|||||||
Serial.print("ADS1X15_LIB_VERSION: ");
|
Serial.print("ADS1X15_LIB_VERSION: ");
|
||||||
Serial.println(ADS1X15_LIB_VERSION);
|
Serial.println(ADS1X15_LIB_VERSION);
|
||||||
|
|
||||||
|
Wire.begin();
|
||||||
|
|
||||||
pinMode(2, INPUT_PULLUP);
|
pinMode(2, INPUT_PULLUP);
|
||||||
attachInterrupt(digitalPinToInterrupt(2), adsReady, RISING);
|
attachInterrupt(digitalPinToInterrupt(2), adsReady, RISING);
|
||||||
|
|
||||||
ADS.begin();
|
ADS.begin();
|
||||||
ADS.setGain(0); // 6.144 volt
|
ADS.setGain(0); // 6.144 volt
|
||||||
ADS.setDataRate(7); // 0 = slow 4 = medium 7 = fast
|
ADS.setDataRate(7); // 0 = slow 4 = medium 7 = fast
|
||||||
|
|
||||||
// SET ALERT RDY PIN
|
// SET ALERT RDY PIN
|
||||||
ADS.setComparatorThresholdHigh(0x8000);
|
ADS.setComparatorThresholdHigh(0x8000);
|
||||||
ADS.setComparatorThresholdLow(0x0000);
|
ADS.setComparatorThresholdLow(0x0000);
|
||||||
ADS.setComparatorQueConvert(0);
|
ADS.setComparatorQueConvert(0);
|
||||||
|
|
||||||
// SET INTERRUPT HANDLER TO CATCH CONVERSION READY
|
// SET INTERRUPT HANDLER TO CATCH CONVERSION READY
|
||||||
pinMode(2, INPUT_PULLUP);
|
pinMode(2, INPUT_PULLUP);
|
||||||
attachInterrupt(digitalPinToInterrupt(2), adsReady, RISING);
|
attachInterrupt(digitalPinToInterrupt(2), adsReady, RISING);
|
||||||
|
|
||||||
ADS.setMode(0); // continuous mode
|
ADS.setMode(0); // continuous mode
|
||||||
ADS.readADC(channel); // trigger first read
|
ADS.readADC(channel); // trigger first read
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -89,9 +91,9 @@ void handleConversion()
|
|||||||
{
|
{
|
||||||
if (RDY)
|
if (RDY)
|
||||||
{
|
{
|
||||||
// save the value
|
// save the value
|
||||||
val[channel] = ADS.getValue();
|
val[channel] = ADS.getValue();
|
||||||
// request next channel
|
// request next channel
|
||||||
channel++;
|
channel++;
|
||||||
if (channel >= 4) channel = 0;
|
if (channel >= 4) channel = 0;
|
||||||
ADS.readADC(channel);
|
ADS.readADC(channel);
|
||||||
@ -100,5 +102,5 @@ void handleConversion()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// -- END OF FILE --
|
// -- END OF FILE --
|
||||||
|
|
||||||
|
@ -21,7 +21,7 @@
|
|||||||
#include "ADS1X15.h"
|
#include "ADS1X15.h"
|
||||||
|
|
||||||
|
|
||||||
// adjust addresses if needed
|
// adjust addresses if needed
|
||||||
ADS1115 ADS_1(0x49);
|
ADS1115 ADS_1(0x49);
|
||||||
ADS1115 ADS_2(0x48);
|
ADS1115 ADS_2(0x48);
|
||||||
|
|
||||||
@ -29,8 +29,8 @@ ADS1115 ADS_2(0x48);
|
|||||||
volatile bool RDY_1 = false;
|
volatile bool RDY_1 = false;
|
||||||
volatile bool RDY_2 = false;
|
volatile bool RDY_2 = false;
|
||||||
|
|
||||||
uint8_t channel_1 = 0; // channel from device 1
|
uint8_t channel_1 = 0; // channel from device 1
|
||||||
uint8_t channel_2 = 0; // channel from device 2
|
uint8_t channel_2 = 0; // channel from device 2
|
||||||
|
|
||||||
// array to hold the data.
|
// array to hold the data.
|
||||||
int16_t val[8] = { 0, 0, 0, 0, 0, 0, 0, 0 };
|
int16_t val[8] = { 0, 0, 0, 0, 0, 0, 0, 0 };
|
||||||
@ -43,40 +43,42 @@ void setup()
|
|||||||
Serial.print("ADS1X15_LIB_VERSION: ");
|
Serial.print("ADS1X15_LIB_VERSION: ");
|
||||||
Serial.println(ADS1X15_LIB_VERSION);
|
Serial.println(ADS1X15_LIB_VERSION);
|
||||||
|
|
||||||
// SETUP FIRST ADS1115
|
Wire.begin();
|
||||||
ADS_1.begin();
|
|
||||||
ADS_1.setGain(0); // 6.144 volt
|
|
||||||
ADS_1.setDataRate(7); // 0 = slow 4 = medium 7 = fast
|
|
||||||
|
|
||||||
// SET ALERT RDY PIN
|
// SETUP FIRST ADS1115
|
||||||
|
ADS_1.begin();
|
||||||
|
ADS_1.setGain(0); // 6.144 volt
|
||||||
|
ADS_1.setDataRate(7); // 0 = slow 4 = medium 7 = fast
|
||||||
|
|
||||||
|
// SET ALERT RDY PIN
|
||||||
ADS_1.setComparatorThresholdHigh(0x8000);
|
ADS_1.setComparatorThresholdHigh(0x8000);
|
||||||
ADS_1.setComparatorThresholdLow(0x0000);
|
ADS_1.setComparatorThresholdLow(0x0000);
|
||||||
ADS_1.setComparatorQueConvert(0);
|
ADS_1.setComparatorQueConvert(0);
|
||||||
|
|
||||||
// SET INTERRUPT HANDLER TO CATCH CONVERSION READY
|
// SET INTERRUPT HANDLER TO CATCH CONVERSION READY
|
||||||
pinMode(2, INPUT_PULLUP);
|
pinMode(2, INPUT_PULLUP);
|
||||||
attachInterrupt(digitalPinToInterrupt(2), adsReady_1, RISING);
|
attachInterrupt(digitalPinToInterrupt(2), adsReady_1, RISING);
|
||||||
|
|
||||||
ADS_1.setMode(0); // continuous mode
|
ADS_1.setMode(0); // continuous mode
|
||||||
ADS_1.readADC(channel_1); // trigger first read
|
ADS_1.readADC(channel_1); // trigger first read
|
||||||
|
|
||||||
|
|
||||||
// SETUP SECOND ADS1115
|
// SETUP SECOND ADS1115
|
||||||
ADS_2.begin();
|
ADS_2.begin();
|
||||||
ADS_2.setGain(0); // 6.144 volt
|
ADS_2.setGain(0); // 6.144 volt
|
||||||
ADS_2.setDataRate(7);
|
ADS_2.setDataRate(7);
|
||||||
|
|
||||||
// SET ALERT RDY PIN
|
// SET ALERT RDY PIN
|
||||||
ADS_2.setComparatorThresholdHigh(0x8000);
|
ADS_2.setComparatorThresholdHigh(0x8000);
|
||||||
ADS_2.setComparatorThresholdLow(0x0000);
|
ADS_2.setComparatorThresholdLow(0x0000);
|
||||||
ADS_2.setComparatorQueConvert(0);
|
ADS_2.setComparatorQueConvert(0);
|
||||||
|
|
||||||
// SET INTERRUPT HANDLER TO CATCH CONVERSION READY
|
// SET INTERRUPT HANDLER TO CATCH CONVERSION READY
|
||||||
pinMode(3, INPUT_PULLUP);
|
pinMode(3, INPUT_PULLUP);
|
||||||
attachInterrupt(digitalPinToInterrupt(3), adsReady_2, RISING);
|
attachInterrupt(digitalPinToInterrupt(3), adsReady_2, RISING);
|
||||||
|
|
||||||
ADS_2.setMode(0); // continuous mode
|
ADS_2.setMode(0); // continuous mode
|
||||||
ADS_2.readADC(channel_2); // trigger first read
|
ADS_2.readADC(channel_2); // trigger first read
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -95,28 +97,28 @@ void loop()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// catch interrupt and set flag device 1
|
// catch interrupt and set flag device 1
|
||||||
void adsReady_1()
|
void adsReady_1()
|
||||||
{
|
{
|
||||||
RDY_1 = true;
|
RDY_1 = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// catch interrupt and set flag device 1
|
// catch interrupt and set flag device 1
|
||||||
void adsReady_2()
|
void adsReady_2()
|
||||||
{
|
{
|
||||||
RDY_2 = true;
|
RDY_2 = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// handle conversions that are ready
|
// handle conversions that are ready
|
||||||
bool handleConversion()
|
bool handleConversion()
|
||||||
{
|
{
|
||||||
bool rv = false;
|
bool rv = false;
|
||||||
if (RDY_1)
|
if (RDY_1)
|
||||||
{
|
{
|
||||||
// save the last value
|
// save the last value
|
||||||
val[channel_1] = ADS_1.getValue();
|
val[channel_1] = ADS_1.getValue();
|
||||||
// request next channel
|
// request next channel
|
||||||
channel_1++;
|
channel_1++;
|
||||||
if (channel_1 >= 4) channel_1 = 0;
|
if (channel_1 >= 4) channel_1 = 0;
|
||||||
ADS_1.readADC(channel_1);
|
ADS_1.readADC(channel_1);
|
||||||
@ -125,9 +127,9 @@ bool handleConversion()
|
|||||||
}
|
}
|
||||||
if (RDY_2)
|
if (RDY_2)
|
||||||
{
|
{
|
||||||
// save the last value
|
// save the last value
|
||||||
val[4 + channel_2] = ADS_2.getValue();
|
val[4 + channel_2] = ADS_2.getValue();
|
||||||
// request next channel
|
// request next channel
|
||||||
channel_2++;
|
channel_2++;
|
||||||
if (channel_2 >= 4) channel_2 = 0;
|
if (channel_2 >= 4) channel_2 = 0;
|
||||||
ADS_2.readADC(channel_2);
|
ADS_2.readADC(channel_2);
|
||||||
@ -138,5 +140,5 @@ bool handleConversion()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// -- END OF FILE --
|
// -- END OF FILE --
|
||||||
|
|
||||||
|
@ -28,11 +28,11 @@
|
|||||||
ADS1115 ADS(0x48);
|
ADS1115 ADS(0x48);
|
||||||
|
|
||||||
|
|
||||||
// interrupt flag
|
// interrupt flag
|
||||||
volatile bool RDY = false;
|
volatile bool RDY = false;
|
||||||
// which pair to use for differential
|
// which pair to use for differential
|
||||||
uint8_t pair = 01;
|
uint8_t pair = 01;
|
||||||
// two values to hold differential measurements.
|
// two values to hold differential measurements.
|
||||||
int16_t val_01 = 0;
|
int16_t val_01 = 0;
|
||||||
int16_t val_23 = 0;
|
int16_t val_23 = 0;
|
||||||
|
|
||||||
@ -44,27 +44,31 @@ void setup()
|
|||||||
Serial.print("ADS1X15_LIB_VERSION: ");
|
Serial.print("ADS1X15_LIB_VERSION: ");
|
||||||
Serial.println(ADS1X15_LIB_VERSION);
|
Serial.println(ADS1X15_LIB_VERSION);
|
||||||
|
|
||||||
// SET INTERRUPT HANDLER TO CATCH CONVERSION READY
|
Wire.begin();
|
||||||
|
|
||||||
|
// SET INTERRUPT HANDLER TO CATCH CONVERSION READY
|
||||||
pinMode(2, INPUT_PULLUP);
|
pinMode(2, INPUT_PULLUP);
|
||||||
attachInterrupt(digitalPinToInterrupt(2), adsReady, RISING);
|
attachInterrupt(digitalPinToInterrupt(2), adsReady, RISING);
|
||||||
|
|
||||||
ADS.begin();
|
ADS.begin();
|
||||||
Serial.print("connected: ");
|
Serial.print("connected: ");
|
||||||
Serial.println(ADS.isConnected());
|
Serial.println(ADS.isConnected());
|
||||||
ADS.setGain(0); // 6.144 volt
|
ADS.setGain(0); // 6.144 volt
|
||||||
ADS.setDataRate(0); // 0 = slow 4 = medium 7 = fast (7 = fails )
|
ADS.setDataRate(0); // 0 = slow 4 = medium 7 = fast (7 = fails )
|
||||||
// every step is about a factor 2 slower.
|
// every step is about a factor 2 slower.
|
||||||
|
|
||||||
// SET ALERT RDY PIN
|
// SET ALERT RDY PIN (QueConvert mode)
|
||||||
|
// set the MSB of the Hi_thresh register to 1
|
||||||
ADS.setComparatorThresholdHigh(0x8000);
|
ADS.setComparatorThresholdHigh(0x8000);
|
||||||
|
// set the MSB of the Lo_thresh register to 0
|
||||||
ADS.setComparatorThresholdLow(0x0000);
|
ADS.setComparatorThresholdLow(0x0000);
|
||||||
ADS.setComparatorQueConvert(0);
|
ADS.setComparatorQueConvert(0);
|
||||||
|
|
||||||
// continuous mode
|
// continuous mode
|
||||||
ADS.setMode(0);
|
ADS.setMode(0);
|
||||||
// start with first pair
|
// start with first pair
|
||||||
pair = 01;
|
pair = 01;
|
||||||
// trigger first read
|
// trigger first read
|
||||||
ADS.requestADC_Differential_0_1();
|
ADS.requestADC_Differential_0_1();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -84,19 +88,19 @@ void loop()
|
|||||||
Serial.println();
|
Serial.println();
|
||||||
}
|
}
|
||||||
|
|
||||||
// do other stuff here
|
// do other stuff here
|
||||||
// delay(10);
|
// delay(10);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// interrupt handler, sets the RDY flag
|
// interrupt handler, sets the RDY flag
|
||||||
void adsReady()
|
void adsReady()
|
||||||
{
|
{
|
||||||
RDY = true;
|
RDY = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// can be changed to hold other differentials or normal reads too.
|
// can be changed to hold other differentials or normal reads too.
|
||||||
bool handleConversion()
|
bool handleConversion()
|
||||||
{
|
{
|
||||||
if (RDY)
|
if (RDY)
|
||||||
@ -107,21 +111,21 @@ bool handleConversion()
|
|||||||
val_01 = ADS.getValue();
|
val_01 = ADS.getValue();
|
||||||
pair = 23;
|
pair = 23;
|
||||||
ADS.requestADC_Differential_2_3();
|
ADS.requestADC_Differential_2_3();
|
||||||
return false; // only one done
|
return false; // only one done
|
||||||
}
|
}
|
||||||
|
|
||||||
// last of series to check
|
// last of series to check
|
||||||
if (pair == 23)
|
if (pair == 23)
|
||||||
{
|
{
|
||||||
val_23 = ADS.getValue();
|
val_23 = ADS.getValue();
|
||||||
pair = 01;
|
pair = 01;
|
||||||
ADS.requestADC_Differential_0_1();
|
ADS.requestADC_Differential_0_1();
|
||||||
return true; // both are updated
|
return true; // both are updated
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return false; // default not all read
|
return false; // default not all read
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// -- END OF FILE --
|
// -- END OF FILE --
|
||||||
|
|
||||||
|
@ -38,6 +38,8 @@ void setup()
|
|||||||
Serial.print("ADS1X15_LIB_VERSION: ");
|
Serial.print("ADS1X15_LIB_VERSION: ");
|
||||||
Serial.println(ADS1X15_LIB_VERSION);
|
Serial.println(ADS1X15_LIB_VERSION);
|
||||||
|
|
||||||
|
Wire.begin();
|
||||||
|
|
||||||
ADS.begin();
|
ADS.begin();
|
||||||
ADS.setGain(0);
|
ADS.setGain(0);
|
||||||
}
|
}
|
||||||
@ -64,5 +66,5 @@ void loop()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// -- END OF FILE --
|
// -- END OF FILE --
|
||||||
|
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
|
|
||||||
#include "ADS1X15.h"
|
#include "ADS1X15.h"
|
||||||
|
|
||||||
// adjust addresses if needed
|
// adjust addresses if needed
|
||||||
ADS1115 ADS_1(0x49);
|
ADS1115 ADS_1(0x49);
|
||||||
ADS1115 ADS_2(0x48);
|
ADS1115 ADS_2(0x48);
|
||||||
|
|
||||||
@ -34,39 +34,45 @@ void setup()
|
|||||||
Serial.print("ADS1X15_LIB_VERSION: ");
|
Serial.print("ADS1X15_LIB_VERSION: ");
|
||||||
Serial.println(ADS1X15_LIB_VERSION);
|
Serial.println(ADS1X15_LIB_VERSION);
|
||||||
|
|
||||||
// SETUP FIRST ADS1115
|
Wire.begin();
|
||||||
ADS_1.begin();
|
|
||||||
ADS_1.setGain(0); // 6.144 volt
|
|
||||||
ADS_1.setDataRate(7); // 0 = slow 4 = medium 7 = fast
|
|
||||||
|
|
||||||
// SET ALERT RDY PIN
|
// SETUP FIRST ADS1115
|
||||||
|
ADS_1.begin();
|
||||||
|
ADS_1.setGain(0); // 6.144 volt
|
||||||
|
ADS_1.setDataRate(7); // 0 = slow 4 = medium 7 = fast
|
||||||
|
|
||||||
|
// SET ALERT RDY PIN (QueConvert mode)
|
||||||
|
// set the MSB of the Hi_thresh register to 1
|
||||||
ADS_1.setComparatorThresholdHigh(0x8000);
|
ADS_1.setComparatorThresholdHigh(0x8000);
|
||||||
|
// set the MSB of the Lo_thresh register to 0
|
||||||
ADS_1.setComparatorThresholdLow(0x0000);
|
ADS_1.setComparatorThresholdLow(0x0000);
|
||||||
ADS_1.setComparatorQueConvert(0);
|
ADS_1.setComparatorQueConvert(0);
|
||||||
|
|
||||||
// SET INTERRUPT HANDLER TO CATCH CONVERSION READY
|
// SET INTERRUPT HANDLER TO CATCH CONVERSION READY
|
||||||
pinMode(2, INPUT_PULLUP);
|
pinMode(2, INPUT_PULLUP);
|
||||||
attachInterrupt(digitalPinToInterrupt(2), adsReady_1, RISING);
|
attachInterrupt(digitalPinToInterrupt(2), adsReady_1, RISING);
|
||||||
|
|
||||||
ADS_1.setMode(0); // continuous mode
|
ADS_1.setMode(0); // continuous mode
|
||||||
ADS_1.readADC(channel); // trigger first read
|
ADS_1.readADC(channel); // trigger first read
|
||||||
|
|
||||||
|
|
||||||
// SETUP SECOND ADS1115
|
// SETUP SECOND ADS1115
|
||||||
ADS_2.begin();
|
ADS_2.begin();
|
||||||
ADS_2.setGain(0); // 6.144 volt
|
ADS_2.setGain(0); // 6.144 volt
|
||||||
ADS_2.setDataRate(7);
|
ADS_2.setDataRate(7);
|
||||||
|
|
||||||
// SET ALERT RDY PIN
|
// SET ALERT RDY PIN
|
||||||
|
// set the MSB of the Hi_thresh register to 1
|
||||||
ADS_2.setComparatorThresholdHigh(0x8000);
|
ADS_2.setComparatorThresholdHigh(0x8000);
|
||||||
|
// set the MSB of the Lo_thresh register to 0
|
||||||
ADS_2.setComparatorThresholdLow(0x0000);
|
ADS_2.setComparatorThresholdLow(0x0000);
|
||||||
ADS_2.setComparatorQueConvert(0);
|
ADS_2.setComparatorQueConvert(0);
|
||||||
|
|
||||||
// SET INTERRUPT HANDLER TO CATCH CONVERSION READY
|
// SET INTERRUPT HANDLER TO CATCH CONVERSION READY
|
||||||
pinMode(3, INPUT_PULLUP);
|
pinMode(3, INPUT_PULLUP);
|
||||||
attachInterrupt(digitalPinToInterrupt(3), adsReady_2, RISING);
|
attachInterrupt(digitalPinToInterrupt(3), adsReady_2, RISING);
|
||||||
|
|
||||||
ADS_2.setMode(0); // continuous mode
|
ADS_2.setMode(0); // continuous mode
|
||||||
ADS_2.readADC(channel); // trigger first read
|
ADS_2.readADC(channel); // trigger first read
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -85,7 +91,7 @@ void loop()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// catch interrupt and set flag
|
// catch interrupt and set flag
|
||||||
void adsReady_1()
|
void adsReady_1()
|
||||||
{
|
{
|
||||||
RDY_1 = true;
|
RDY_1 = true;
|
||||||
@ -97,7 +103,7 @@ void adsReady_2()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// handle conversions if both are ready
|
// handle conversions if both are ready
|
||||||
bool handleConversion()
|
bool handleConversion()
|
||||||
{
|
{
|
||||||
if (RDY_1 == false) return false;
|
if (RDY_1 == false) return false;
|
||||||
@ -119,5 +125,5 @@ bool handleConversion()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// -- END OF FILE --
|
// -- END OF FILE --
|
||||||
|
|
||||||
|
@ -35,6 +35,8 @@ void setup()
|
|||||||
Serial.print("ADS1X15_LIB_VERSION: ");
|
Serial.print("ADS1X15_LIB_VERSION: ");
|
||||||
Serial.println(ADS1X15_LIB_VERSION);
|
Serial.println(ADS1X15_LIB_VERSION);
|
||||||
|
|
||||||
|
Wire.begin();
|
||||||
|
|
||||||
ADS.begin();
|
ADS.begin();
|
||||||
ADS.setGain(0); // 6.144 volt
|
ADS.setGain(0); // 6.144 volt
|
||||||
Serial.println("Voltage");
|
Serial.println("Voltage");
|
||||||
@ -48,5 +50,5 @@ void loop()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// -- END OF FILE --
|
// -- END OF FILE --
|
||||||
|
|
||||||
|
@ -38,10 +38,10 @@ void setup()
|
|||||||
Serial.print("ADS1X15_LIB_VERSION: ");
|
Serial.print("ADS1X15_LIB_VERSION: ");
|
||||||
Serial.println(ADS1X15_LIB_VERSION);
|
Serial.println(ADS1X15_LIB_VERSION);
|
||||||
|
|
||||||
ADS.begin();
|
Wire.begin();
|
||||||
|
|
||||||
Wire.setClock(100000);
|
Wire.setClock(100000);
|
||||||
|
|
||||||
|
ADS.begin();
|
||||||
ADS.setGain(0); // 6.144 volt
|
ADS.setGain(0); // 6.144 volt
|
||||||
|
|
||||||
for (int dr = 0; dr < 8; dr++)
|
for (int dr = 0; dr < 8; dr++)
|
||||||
|
@ -23,6 +23,9 @@ void setup()
|
|||||||
while(!Serial);
|
while(!Serial);
|
||||||
Serial.println(__FILE__);
|
Serial.println(__FILE__);
|
||||||
|
|
||||||
|
Wire.begin();
|
||||||
|
Wire.setClock(100000);
|
||||||
|
|
||||||
ADS.begin(); // use defaults
|
ADS.begin(); // use defaults
|
||||||
|
|
||||||
readADC = analogRead; // start with internal
|
readADC = analogRead; // start with internal
|
||||||
@ -45,4 +48,4 @@ int wrapper(uint8_t x)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
// -- END OF FILE --
|
// -- END OF FILE --
|
||||||
|
@ -26,6 +26,7 @@ void setup()
|
|||||||
Serial.print("ADS1X15_LIB_VERSION: ");
|
Serial.print("ADS1X15_LIB_VERSION: ");
|
||||||
Serial.println(ADS1X15_LIB_VERSION);
|
Serial.println(ADS1X15_LIB_VERSION);
|
||||||
|
|
||||||
|
Wire.begin();
|
||||||
ADS.begin();
|
ADS.begin();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -51,5 +52,5 @@ void loop()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// -- END OF FILE --
|
// -- END OF FILE --
|
||||||
|
|
||||||
|
@ -4,18 +4,18 @@
|
|||||||
// PURPOSE: read analog inputs - straightforward.
|
// PURPOSE: read analog inputs - straightforward.
|
||||||
// URL: https://github.com/RobTillaart/ADS1X15
|
// URL: https://github.com/RobTillaart/ADS1X15
|
||||||
|
|
||||||
// test
|
// test
|
||||||
// connect 1 potmeter per port.
|
// connect 1 potentiometer per port.
|
||||||
//
|
//
|
||||||
// GND ---[ x ]------ 5V
|
// GND ---[ x ]------ 5V
|
||||||
// |
|
// |
|
||||||
//
|
//
|
||||||
// measure at x (connect to AIN0).
|
// measure at x (connect to AIN0).
|
||||||
//
|
//
|
||||||
|
|
||||||
// EXPERIMENTAL
|
// EXPERIMENTAL
|
||||||
//
|
//
|
||||||
// The RDY pin (or ALERT Pin) is triggered when conversion is ready
|
// The RDY pin (or ALERT Pin) is triggered when conversion is ready
|
||||||
//
|
//
|
||||||
|
|
||||||
|
|
||||||
@ -31,16 +31,18 @@ void setup()
|
|||||||
Serial.print("ADS1X15_LIB_VERSION: ");
|
Serial.print("ADS1X15_LIB_VERSION: ");
|
||||||
Serial.println(ADS1X15_LIB_VERSION);
|
Serial.println(ADS1X15_LIB_VERSION);
|
||||||
|
|
||||||
ADS.begin();
|
Wire.begin();
|
||||||
ADS.setGain(0); // 6.144 volt
|
|
||||||
ADS.setDataRate(7); // 0 = slow 4 = medium 7 = fast
|
|
||||||
ADS.setMode(1); // continuous mode
|
|
||||||
ADS.readADC(0); // first read to trigger
|
|
||||||
|
|
||||||
// set the thresholds to Trigger RDY pin
|
ADS.begin();
|
||||||
|
ADS.setGain(0); // 6.144 volt
|
||||||
|
ADS.setDataRate(7); // 0 = slow 4 = medium 7 = fast
|
||||||
|
ADS.setMode(1); // continuous mode
|
||||||
|
ADS.readADC(0); // first read to trigger
|
||||||
|
|
||||||
|
// set the thresholds to Trigger RDY pin
|
||||||
ADS.setComparatorThresholdLow(0x0000);
|
ADS.setComparatorThresholdLow(0x0000);
|
||||||
ADS.setComparatorThresholdHigh(0x0200);
|
ADS.setComparatorThresholdHigh(0x0200);
|
||||||
ADS.setComparatorQueConvert(0); // enable RDY pin !!
|
ADS.setComparatorQueConvert(0); // enable RDY pin !!
|
||||||
ADS.setComparatorLatch(0);
|
ADS.setComparatorLatch(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -51,7 +53,7 @@ void loop()
|
|||||||
|
|
||||||
int16_t val_0 = ADS.readADC(0);
|
int16_t val_0 = ADS.readADC(0);
|
||||||
|
|
||||||
float f = ADS.toVoltage(1); // voltage factor
|
float f = ADS.toVoltage(1); // voltage factor
|
||||||
|
|
||||||
Serial.print("\tAnalog0: ");
|
Serial.print("\tAnalog0: ");
|
||||||
Serial.print(val_0);
|
Serial.print(val_0);
|
||||||
@ -62,5 +64,5 @@ void loop()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// -- END OF FILE --
|
// -- END OF FILE --
|
||||||
|
|
||||||
|
@ -27,9 +27,11 @@ void setup()
|
|||||||
Serial.print("ADS1X15_LIB_VERSION: ");
|
Serial.print("ADS1X15_LIB_VERSION: ");
|
||||||
Serial.println(ADS1X15_LIB_VERSION);
|
Serial.println(ADS1X15_LIB_VERSION);
|
||||||
|
|
||||||
|
Wire.begin();
|
||||||
|
|
||||||
ADS.begin();
|
ADS.begin();
|
||||||
ADS.setGain(0);
|
ADS.setGain(0);
|
||||||
f = ADS.toVoltage(); // voltage factor
|
f = ADS.toVoltage(); // voltage factor
|
||||||
ADS.requestADC(0);
|
ADS.requestADC(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -39,16 +41,17 @@ void loop()
|
|||||||
if (ADS.isBusy() == false)
|
if (ADS.isBusy() == false)
|
||||||
{
|
{
|
||||||
int16_t val_0 = ADS.getValue();
|
int16_t val_0 = ADS.getValue();
|
||||||
ADS.requestADC(0); // request a new one
|
// request a new one
|
||||||
|
ADS.requestADC(0);
|
||||||
Serial.print("\tAnalog0: ");
|
Serial.print("\tAnalog0: ");
|
||||||
Serial.print(val_0);
|
Serial.print(val_0);
|
||||||
Serial.print('\t');
|
Serial.print('\t');
|
||||||
Serial.println(val_0 * f, 3);
|
Serial.println(val_0 * f, 3);
|
||||||
}
|
}
|
||||||
// simulate other tasks...
|
// simulate other tasks...
|
||||||
delay(2000);
|
delay(2000);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// -- END OF FILE --
|
// -- END OF FILE --
|
||||||
|
|
||||||
|
@ -32,17 +32,20 @@ void setup()
|
|||||||
Serial.print("ADS1X15_LIB_VERSION: ");
|
Serial.print("ADS1X15_LIB_VERSION: ");
|
||||||
Serial.println(ADS1X15_LIB_VERSION);
|
Serial.println(ADS1X15_LIB_VERSION);
|
||||||
|
|
||||||
|
Wire.begin();
|
||||||
|
|
||||||
ADS.begin();
|
ADS.begin();
|
||||||
ADS.setGain(0); // 6.144 volt
|
ADS.setGain(0); // 6.144 volt
|
||||||
// select slow so the led blinks visible for the eye.
|
|
||||||
ADS.setDataRate(0); // 0 = slow 4 = medium 7 = fast
|
// select slow so the led blinks visible for the eye.
|
||||||
f = ADS.toVoltage(); // voltage factor
|
ADS.setDataRate(0); // 0 = slow 4 = medium 7 = fast
|
||||||
|
f = ADS.toVoltage(); // voltage factor
|
||||||
ADS.requestADC(0);
|
ADS.requestADC(0);
|
||||||
|
|
||||||
// set the thresholds to Trigger RDY pin
|
// set the thresholds to Trigger RDY pin
|
||||||
ADS.setComparatorThresholdLow(0x0000);
|
ADS.setComparatorThresholdLow(0x0000);
|
||||||
ADS.setComparatorThresholdHigh(0x0200);
|
ADS.setComparatorThresholdHigh(0x0200);
|
||||||
ADS.setComparatorQueConvert(0); // enable RDY pin !!
|
ADS.setComparatorQueConvert(0); // enable RDY pin !!
|
||||||
ADS.setComparatorLatch(0);
|
ADS.setComparatorLatch(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -52,16 +55,17 @@ void loop()
|
|||||||
if (ADS.isReady())
|
if (ADS.isReady())
|
||||||
{
|
{
|
||||||
int16_t val_0 = ADS.getValue();
|
int16_t val_0 = ADS.getValue();
|
||||||
ADS.requestADC(0); // request a new one
|
// request a new one
|
||||||
|
ADS.requestADC(0);
|
||||||
Serial.print("\tAnalog0: ");
|
Serial.print("\tAnalog0: ");
|
||||||
Serial.print(val_0);
|
Serial.print(val_0);
|
||||||
Serial.print('\t');
|
Serial.print('\t');
|
||||||
Serial.println(val_0 * f, 3);
|
Serial.println(val_0 * f, 3);
|
||||||
}
|
}
|
||||||
// simulate other tasks...
|
// simulate other tasks...
|
||||||
delay(2000);
|
delay(2000);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// -- END OF FILE --
|
// -- END OF FILE --
|
||||||
|
|
||||||
|
@ -32,26 +32,28 @@ void setup()
|
|||||||
Serial.print("ADS1X15_LIB_VERSION: ");
|
Serial.print("ADS1X15_LIB_VERSION: ");
|
||||||
Serial.println(ADS1X15_LIB_VERSION);
|
Serial.println(ADS1X15_LIB_VERSION);
|
||||||
|
|
||||||
|
Wire.begin();
|
||||||
|
|
||||||
ADS.begin();
|
ADS.begin();
|
||||||
|
|
||||||
// change if needed.
|
// change if needed.
|
||||||
ADS.setComparatorMode(1); // 0 = TRADITIONAL 1 = WINDOW
|
ADS.setComparatorMode(1); // 0 = TRADITIONAL 1 = WINDOW
|
||||||
|
|
||||||
ADS.setComparatorPolarity(0); // 0 = LOW (default) 1 = HIGH
|
ADS.setComparatorPolarity(0); // 0 = LOW (default) 1 = HIGH
|
||||||
|
|
||||||
// note NON-LATCH gives only a short pulse
|
// note NON-LATCH gives only a short pulse
|
||||||
ADS.setComparatorLatch(1); // 0 = NON LATCH 1 = LATCH
|
ADS.setComparatorLatch(1); // 0 = NON LATCH 1 = LATCH
|
||||||
|
|
||||||
ADS.setComparatorQueConvert(0); // 0 = trigger alert after 1 conversion
|
ADS.setComparatorQueConvert(0); // 0 = trigger alert after 1 conversion
|
||||||
|
|
||||||
// set the thresholds as a number...
|
// set the thresholds as a number...
|
||||||
// ADS.setComparatorThresholdLow(5000); // change if needed
|
// ADS.setComparatorThresholdLow(5000); // change if needed
|
||||||
// ADS.setComparatorThresholdHigh(20000); // change if needed
|
// ADS.setComparatorThresholdHigh(20000); // change if needed
|
||||||
|
|
||||||
// set the threshold as a voltage by using the voltage factor.
|
// set the threshold as a voltage by using the voltage factor.
|
||||||
float f = ADS.toVoltage(1); // voltage factor
|
float f = ADS.toVoltage(1); // voltage factor
|
||||||
ADS.setComparatorThresholdLow(1.234 / f); // convert volts to number needed
|
ADS.setComparatorThresholdLow(1.234 / f); // convert volts to number needed
|
||||||
ADS.setComparatorThresholdHigh(3.142 / f); // convert volts to number needed
|
ADS.setComparatorThresholdHigh(3.142 / f); // convert volts to number needed
|
||||||
|
|
||||||
Serial.println(ADS.getComparatorThresholdLow());
|
Serial.println(ADS.getComparatorThresholdLow());
|
||||||
Serial.println(ADS.getComparatorThresholdHigh());
|
Serial.println(ADS.getComparatorThresholdHigh());
|
||||||
@ -64,7 +66,7 @@ void loop()
|
|||||||
|
|
||||||
int16_t val_0 = ADS.readADC(0);
|
int16_t val_0 = ADS.readADC(0);
|
||||||
|
|
||||||
float f = ADS.toVoltage(1); // voltage factor
|
float f = ADS.toVoltage(1); // voltage factor
|
||||||
|
|
||||||
Serial.print("\tAnalog0: ");
|
Serial.print("\tAnalog0: ");
|
||||||
Serial.print(val_0);
|
Serial.print(val_0);
|
||||||
@ -80,5 +82,5 @@ void loop()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// -- END OF FILE --
|
// -- END OF FILE --
|
||||||
|
|
||||||
|
@ -4,13 +4,13 @@
|
|||||||
// PURPOSE: read analog inputs - straightforward.
|
// PURPOSE: read analog inputs - straightforward.
|
||||||
// URL: https://github.com/RobTillaart/ADS1X15
|
// URL: https://github.com/RobTillaart/ADS1X15
|
||||||
|
|
||||||
// test
|
// test
|
||||||
// connect 1 potmeter per port.
|
// connect 1 potentiometer per port.
|
||||||
//
|
//
|
||||||
// GND ---[ x ]------ 5V
|
// GND ---[ x ]------ 5V
|
||||||
// |
|
// |
|
||||||
//
|
//
|
||||||
// measure at x (connect to AIN0).
|
// measure at x (connect to AIN0).
|
||||||
//
|
//
|
||||||
|
|
||||||
|
|
||||||
@ -50,7 +50,7 @@ void loop()
|
|||||||
int16_t val_2 = ADS.readADC(2);
|
int16_t val_2 = ADS.readADC(2);
|
||||||
int16_t val_3 = ADS.readADC(3);
|
int16_t val_3 = ADS.readADC(3);
|
||||||
|
|
||||||
float f = ADS.toVoltage(1); // voltage factor
|
float f = ADS.toVoltage(1); // voltage factor
|
||||||
|
|
||||||
Serial.print("\tAnalog0: "); Serial.print(val_0); Serial.print('\t'); Serial.println(val_0 * f, 3);
|
Serial.print("\tAnalog0: "); Serial.print(val_0); Serial.print('\t'); Serial.println(val_0 * f, 3);
|
||||||
Serial.print("\tAnalog1: "); Serial.print(val_1); Serial.print('\t'); Serial.println(val_1 * f, 3);
|
Serial.print("\tAnalog1: "); Serial.print(val_1); Serial.print('\t'); Serial.println(val_1 * f, 3);
|
||||||
@ -62,5 +62,5 @@ void loop()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// -- END OF FILE --
|
// -- END OF FILE --
|
||||||
|
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/RobTillaart/ADS1X15"
|
"url": "https://github.com/RobTillaart/ADS1X15"
|
||||||
},
|
},
|
||||||
"version": "0.3.13",
|
"version": "0.4.0",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"frameworks": "*",
|
"frameworks": "*",
|
||||||
"platforms": "*",
|
"platforms": "*",
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
name=ADS1X15
|
name=ADS1X15
|
||||||
version=0.3.13
|
version=0.4.0
|
||||||
author=Rob Tillaart <rob.tillaart@gmail.com>
|
author=Rob Tillaart <rob.tillaart@gmail.com>
|
||||||
maintainer=Rob Tillaart <rob.tillaart@gmail.com>
|
maintainer=Rob Tillaart <rob.tillaart@gmail.com>
|
||||||
sentence=Arduino library for ADS1015 - I2C 12 bit ADC and ADS1115 I2C 16 bit ADC
|
sentence=Arduino library for ADS1015 - I2C 12 bit ADC and ADS1115 I2C 16 bit ADC
|
||||||
|
@ -27,6 +27,7 @@
|
|||||||
|
|
||||||
unittest_setup()
|
unittest_setup()
|
||||||
{
|
{
|
||||||
|
fprintf(stderr, "ADS1X15_LIB_VERSION: %s\n", (char *) ADS1X15_LIB_VERSION);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -37,8 +38,6 @@ unittest_teardown()
|
|||||||
|
|
||||||
unittest(test_constants)
|
unittest(test_constants)
|
||||||
{
|
{
|
||||||
fprintf(stderr, "ADS1X15_LIB_VERSION: %s\n", (char *) ADS1X15_LIB_VERSION);
|
|
||||||
|
|
||||||
assertEqual(0x48, ADS1015_ADDRESS);
|
assertEqual(0x48, ADS1015_ADDRESS);
|
||||||
assertEqual(0x48, ADS1115_ADDRESS);
|
assertEqual(0x48, ADS1115_ADDRESS);
|
||||||
assertEqual( 0, ADS1X15_OK);
|
assertEqual( 0, ADS1X15_OK);
|
||||||
@ -51,6 +50,9 @@ unittest(test_constants)
|
|||||||
unittest(test_begin)
|
unittest(test_begin)
|
||||||
{
|
{
|
||||||
ADS1115 ADS(0x48);
|
ADS1115 ADS(0x48);
|
||||||
|
|
||||||
|
Wire.begin();
|
||||||
|
|
||||||
assertTrue(ADS.begin());
|
assertTrue(ADS.begin());
|
||||||
assertTrue(ADS.isConnected());
|
assertTrue(ADS.isConnected());
|
||||||
assertTrue(ADS.isBusy());
|
assertTrue(ADS.isBusy());
|
||||||
@ -60,6 +62,9 @@ unittest(test_begin)
|
|||||||
unittest(test_gain)
|
unittest(test_gain)
|
||||||
{
|
{
|
||||||
ADS1115 ADS(0x48);
|
ADS1115 ADS(0x48);
|
||||||
|
|
||||||
|
Wire.begin();
|
||||||
|
|
||||||
assertTrue(ADS.begin());
|
assertTrue(ADS.begin());
|
||||||
|
|
||||||
assertEqual(0, ADS.getGain());
|
assertEqual(0, ADS.getGain());
|
||||||
@ -78,6 +83,9 @@ unittest(test_gain)
|
|||||||
unittest(test_Voltage)
|
unittest(test_Voltage)
|
||||||
{
|
{
|
||||||
ADS1115 ADS(0x48);
|
ADS1115 ADS(0x48);
|
||||||
|
|
||||||
|
Wire.begin();
|
||||||
|
|
||||||
assertTrue(ADS.begin());
|
assertTrue(ADS.begin());
|
||||||
|
|
||||||
// should test all values?
|
// should test all values?
|
||||||
@ -96,4 +104,5 @@ unittest(test_Voltage)
|
|||||||
unittest_main()
|
unittest_main()
|
||||||
|
|
||||||
|
|
||||||
// --------
|
// -- END OF FILE --
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user