Я купил ADS1015 для проведения измерений на максимальной частоте (3,3 тыс. выборок в секунду), но по результатам тестов я не смог получить более 500 образцов. Модифицируя библиотеку увидел, что выставленная частота максимальная. как мне поступить?
#include <Adafruit_ADS1X15.h>
Adafruit_ADS1015 ads; /* Use this for the 12-bit version */
void setup()
{
Serial.begin(115200);
if (!ads.begin()) {
Serial.println("Failed to initialize ADS.");
while (1);
}
}
void loop(void){
Serial.println(ads.readADC_Differential_0_1());
}
По умолчанию библиотека установила частоту дискретизации на 1600, см. исходный код, ее можно изменить, вызвав функцию setDataRate() со значением RATE_0ADS1015_34101SP1015_33300SP1015_3300SP1015_3300SP1.
Спасибо за вашу помощь, но я сделал это изменение в библиотеке, и мой Arduino всегда получает 500 выборок в секунду более или менее.
Ваше ограничение может быть вызвано гораздо более медленным
Serial.print()
, не имеющим ничего общего с выборкой чипа.