Общие сведения
Датчик ADS1115 — 16-ти разрядный аналогово-цифровой преобразователь с 4 выходами для преобразования аналогового сигнала в цифровой.
Характеристики
- Габариты: 17 мм × 27 мм × 1,2 мм.
 - Напряжение питания: 2,0 В–5,5 В. (!)
 - Низкое потребление тока: 150 мкА.
 - 16-ти разрядный АЦП.
 - 4 выхода для измерения аналогового сигнала.
 - Интерфейс I2C.
 - Программируемый компаратор.
 - Входной мультиплексор (MUX), который позволяет выполнять два дифференциальных или четыре односторонних входных измерения.
 - Диапазон рабочих температур: от -40 ° C до + 125 ° C.
 
Подключение
Для удобства подключения к Arduino воспользуйтесь Trema Shield, Trema Power Shield, Motor Shield или Trema Set Shield.
Подключение одного датчика к Arduino
Напряжение на входах A0...A3 не должно превышать напряжение на выходе VDD больше, чем на 0,3 В, иначе можно сжечь плату.
Выводы SDA и SCL модуля подключаются к аппаратной шине I2C Arduino.
Выводы GND, VDD являются выводами питания (вывод VDD - питание модуля +3,3 в или +5 В)
Выводы A0...A3 являются аналоговыми выводами для измерения аналогового сигнала, поступающего с внешних устройств.
Вывод ADDR используется для выбора адреса шины I2C.
Вывод ALRT предназначен для подключения компаратора или сигнализирует о готовности преобразования.
Подключение нескольких датчиков к Arduino с разным адресами I2C
Существует возможность подключения до 4 датчиков одновременно. Для этого вывод ADDR подключается к разным выводам в зависимости от адреса:
- Адрес 0х48 - вывод ADDR подключается к линии GND.
 - Адрес 0х49 - вывод ADDR подключается к линии 5V.
 - Адрес 0х4A - вывод ADDR подключается к линии SDA.
 - Адрес 0х4B - вывод ADDR подключается к линии SCL.
 
Питание
Напряжение питания модуля от 2,0 до 5,5 В (по стандарту используется 3,3 В или 5 В для платArduino.) постоянного тока, подаётся на выводы «VDD» модуля. Диапазон питания может быть изменен с помощью предустановленных функция. Не превышайте диапазон напряжения на аналоговых выводах соответствующий заданной функции, больше чем на 0,3 В.
Подробнее о датчике
Датчик ADS1115 разработанный на базе одноименного чипа, маломощного, 16-разрядного, совместимый с I2C шиной. Оснащен программируемым усилителем и цифровым компаратором. Выполняет преобразования со скоростью передачи данных от 8 до 860 выборок в секунду (SPS). Имеет 4 входа для преобразования аналогового сигнала. Диапазоны входных сигналов от ± 256 мВ до ± 6.144 В. Питание модуля толерантно к 3,3 В или 5 В.
Для работы с датчиком рекомендуем вам воспользоваться библиотекой Adafruit_ADS1X15.
Примеры
Считывание показаний датчика, перевод значений в вольты и вывод в монитор порта.
Для примера преобразуем напряжения 3.3 В на выходе Arduino из аналогового сигнала в цифровой. И выведем полученные результаты в монитор порта. Для этого подключим контакты модуля ADS1115 к плате Arduino в соответствии с таблицей указанной ниже.
Таблица подключения выводов датчика:
- SDA - подключается к линии данных SDA шины I2C или к выводу A4 Arduino UNO.
 - SCL - подключается к линии тактирования SCL шины I2C или к выводу A5 Arduino UNO.
 - GND - подключается к выводу GND Arduino UNO.
 - VDD - подключается к выводу 5V Arduino UNO.
 - ADDR - линия адреса шины I2C. Подключается к выводу GND Arduino UNO, чтобы задать адрес 0x48.
 - ALRT - вывод компаратора или готовность преобразования. Не используется.
 - A0 - аналоговый вывод 0. Подключается к выводу 3.3V Arduino UNO.
 - A1 - аналоговый вывод 1. Не используется.
 - A2 - аналоговый вывод 2. Не используется.
 - A3 - аналоговый вывод 1. Не используется.
 
Загрузим скетч, указанный ниже.
#include <Wire.h>                                               // Подключаем стандартную библиотека, позволяющая работать с I2C шиной.
#include <Adafruit_ADS1015.h>                                   // Подключаем библиотеку для работы с датчиком ADS1115.
Adafruit_ADS1115 ads(0x48);                                     // Задаем адрес устройства по которому будем работать на I2C шине.
                                                                //
float Voltage = 0.0;                                            // Определяем переменную для вывода напряжения.
int16_t adc0;                                                   // Определяем переменную 16-бит для считывания 16-ти разрядов АЦП.
                                                                //
void setup(void)                                                //
{                                                               //
  Serial.begin(9600);                                           // Подключаем последовательный порт на скорости 9600 Бод. 
  ads.begin();                                                  // Подключаем АЦП.
}                                                               //
                                                                //
void loop(void)                                                 //
{                                                               //
  adc0 = ads.readADC_SingleEnded(0);                            // Считываем полученные значения с АЦП с нулевого канала и записываем в переменную.
  Voltage = (adc0 * 0.1875)/1000;                               // Пересчитываем в вольты.
                                                                //
  Serial.print("AIN0: ");                                       // Выводим надпись значения АЦП.
  Serial.print(adc0);                                           // Выводим значения АЦП.
  Serial.print("\tVoltage: ");                                  // Выводим надпись значение напряжения, делая табуляцию.
  Serial.println(Voltage, 7);                                   // Выводим значение напряжения.
  Serial.println();                                             // Делаем пробел.
                                                                //
  delay(1000);                                                  // Задержка одна секунда.
}                                                               //
Комплектация
- 1х Датчик АЦП ADS1115;
 - 1х Соединитель типа "ПАПА-ПАПА";
 
Ссылки
- Библиотека Adafruit_ADS1X15;
 - DataSheet;
 
      














