
ADS1115
Adafruit (плата), Texas Instruments (ADS1115) · Adafruit ADS1115 PID 1085, версия STEMMA QT
Измерение медленно меняющихся аналоговых сигналов внешним 16-битным АЦП по I²C.
Автор: SLDV LAB
Опубликовано · Обновлено
О МОДУЛЕ
Что делает Adafruit ADS1115 PID 1085, версия STEMMA QT
ADS1115 содержит один АЦП с входным мультиплексором, а не четыре одновременно работающих преобразователя. Доступны четыре измерения относительно земли либо дифференциальные пары. Это удобный вариант для потенциометров и медленных аналоговых датчиков, но не замена аудио-АЦП.
Здесь рассматривается Adafruit PID 1085 в исполнении STEMMA QT. У него есть VIN, A+/A− и разъёмы JST-SH; A+/A− являются отфильтрованными выходами питания, а не дифференциальной парой АЦП. У старого исполнения и совместимых плат отличаются разъёмы и дополнительные цепи. Надпись ADS1015 на похожей плате означает другую разрядность и скорость.
Настройка ±6,144 В задаёт масштаб преобразования, а не разрешает подавать 6 В при питании 3,3 В. Аналоговые контакты должны оставаться в пределах шин питания; даже при дифференциальном измерении отрицательная разность не означает допустимость отрицательного напряжения относительно GND. Рабочий диапазон также ограничивается выбранным PGA. В примере GAIN_ONE даёт масштаб ±4,096 В, поэтому сигнал 0–3,3 В укладывается и в питание, и в диапазон.
Шестнадцать бит формата не гарантируют шестнадцать точных бит измерения. Учитывайте шум, сопротивление источника, скорость преобразования и калибровку; сетевое и высокое напряжение напрямую не подключают.
Adafruit ADS1115, изделие 1085, версия STEMMA QT; лицевая сторона платы.
ADS1115. Фото: Liz Clark / Adafruit. Оригинал: https://learn.adafruit.com/assets/112696 . Лицензия фотографии: CC BY-SA 3.0, https://creativecommons.org/licenses/by-sa/3.0/ . Изменения: Из исходной фотокомпозиции выделен лицевой вид платы; обратный вид и исходный фон исключены. Очищены видимые сквозные отверстия. Пропорциональное масштабирование, размещение на предоставленном фоне и JPEG-сжатие. Геометрия, маркировка и видимые детали не перерисовывались. Цветокоррекция и повышение детализации не применялись. Адаптация фотографии распространяется по той же лицензии. Adafruit ADS1115, изделие 1085, версия STEMMA QT; лицевая сторона платы.
Схема распиновки
Авторская распиновка SLDV LAB: Adafruit 1085, ADS1115 STEMMA QT. Сторона компонентов; VIN снизу слева; верхний и нижний ряды слева направо. Для других ревизий и плат требуется отдельная проверка.
A+/A− на этой ревизии являются отфильтрованными выходами питания, а не дифференциальной парой АЦП.
Источники: 1, 2. Авторская схема SLDV LAB по фактам документации.
Характеристики
- Разрядность АЦП
- 16 бит
- Входы относительно GND
- 4
- Скорость преобразований чипа
- 8–860 SPS
- Адрес примера
- 0x48, ADDR=GND
- Интерфейс
- I²C, Аналоговый
- Питание модуля
- В примере VDD платы 5 В и I²C 5 В от Uno R3; A0 измеряет 0–3,3 В. Каждый аналоговый вход должен оставаться между GND и VDD независимо от выбранного PGA.
ПРАКТИКА
Подключение
| Контакт модуля | Контакт платы | Назначение |
|---|---|---|
| VIN | 5V | Adafruit ADS1115 PID 1085 STEMMA QT; его I²C-подтяжки следуют VIN. |
| GND | GND | Общая земля. |
| SDA | A4 / SDA | Один и тот же сигнал Uno R3; подтяжки к питанию модуля. |
| SCL | A5 / SCL | Порядок контактов на модуле определять по маркировке, не по положению. |
| ADDR | GND | Адрес 0x48; проверьте штатное соединение платы. |
| A0 | Движок потенциометра 10 кОм | Крайние выводы потенциометра к 3.3V и GND Uno R3; это A0 АЦП, не A0 Uno. |
| A1 / A2 / A3 / ALRT | Не подключать | Пример читает только A0; неподключённые аналоговые входы не измеряются. |
| A+ / A− / STEMMA QT | Не подключать | A+/A− — выходы питания, не входы измерения; пример использует отдельные провода. |
Подходит для Arduino. Выберите контакты по документации своей платы.
ВАШ ПРОЕКТ · ВАШ ДАТЧИК
Интегрируйте модуль с ChatGPT
Скопируйте запрос в ChatGPT. Укажите свою плату и среду разработки — получите подключение и код для своего проекта.
Помоги интегрировать ADS1115 Adafruit PID 1085. Сначала уточни точную плату модуля, контроллер, среду, питание и задачу. Проверь схему, логические уровни и маркировку контактов; затем дай согласованные подключение, зависимости и полный минимальный пример с обработкой ошибок. Объясни безопасную первичную проверку и ожидаемый результат. Отдельно проверь абсолютные уровни каждого входа, PGA и сопротивление источника. Не называй четыре входа одновременными каналами измерения.
Библиотеки
Установите библиотеку для своей среды и откройте пример из её документации.
Что именно прописать
- Плата и ядро
Arduino Uno R3; Arduino AVR Boards 1.8.6Распиновка относится к ATmega328P Uno R3; не Uno R4 и не ESP32.
- Библиотека
Adafruit ADS1X15 2.6.2Установить с зависимостью Adafruit BusIO.
- Адрес и объект
Adafruit_ADS1115 ads; ads.begin(0x48, &Wire)ADDR=GND; не использовать класс ADS1015.
- Усиление
GAIN_ONEМасштаб ±4,096 В; входы физически не должны выходить за GND/VDD.
- Скорость
RATE_ADS1115_128SPS128 преобразований в секунду; каналы читаются последовательно.
Arduino: полное чтение A0 с ограничением времени ожидания
cpp#include <Wire.h>
#include <Adafruit_ADS1X15.h>
Adafruit_ADS1115 ads;
bool ready = false;
void setup() {
Serial.begin(115200);
Wire.begin();
Wire.setWireTimeout(25000, true);
if (!ads.begin(0x48, &Wire)) { Serial.println("ADS1115 not found"); return; }
ads.setGain(GAIN_ONE);
ads.setDataRate(RATE_ADS1115_128SPS);
ready = true;
}
void loop() {
if (!ready) { delay(1000); return; }
Wire.beginTransmission(0x48);
if (Wire.endTransmission() != 0) { Serial.println("I2C error"); delay(1000); return; }
ads.startADCReading(ADS1X15_REG_CONFIG_MUX_SINGLE_0, false);
const uint32_t started = millis();
while (!ads.conversionComplete()) {
if (millis() - started > 100) {
Serial.println("Conversion timeout");
delay(1000);
return;
}
delay(1);
}
int16_t raw = ads.getLastConversionResults();
if (Wire.getWireTimeoutFlag()) {
Wire.clearWireTimeoutFlag();
Serial.println("Wire timeout");
} else if (raw == 32767 || raw == -32768) {
Serial.println("ADC at full scale: check input and gain");
} else {
Serial.print("A0: "); Serial.print(ads.computeVolts(raw), 4); Serial.println(" V");
}
delay(500);
}
Полный скетч для Uno R3, Arduino AVR Boards 1.8.6 и Adafruit ADS1X15 2.6.2. Методы сверены с заголовком указанной версии; не компилировалось и не испытывалось аппаратно. Драйвер не сообщает все ошибки отдельных чтений, поэтому для ответственного измерения нужна дополнительная проверка связи и правдоподобия.
Проекты с этим компонентом
Все проектыСвязанные проекты пока не опубликованы.


