KY-053 Аналого-цифровой преобразователь (АЦП)

Подробное руководство по 16-битному АЦП модулю KY-053 на базе ADS1115: технические характеристики, распиновка, схемы подключения и примеры кода для Arduino, ESP32 и Raspberry Pi.

Модули KY-0xx I2C

Обзор

Модуль KY-053 представляет собой высокоточный аналого-цифровой преобразователь (АЦП), построенный на чипе ADS1115. Он предоставляет 4 канала с 16-битным разрешением и работает через интерфейс I2C.

KY-053 (ADS1115) — это идеальное решение для микроконтроллеров без встроенного АЦП (например, Raspberry Pi) или для случаев, когда требуется более высокая точность измерений, чем стандартные 10-12 бит встроенных АЦП Arduino или ESP32.

Модуль АЦП KY-053
Где купить

Приобретите KY-053 Аналого-цифровой преобразователь (АЦП)

Технические детали

Характеристики KY-053

Основные параметры аналого-цифрового преобразователя ADS1115:

Интерфейс
I2C
Адреса 0x48–0x4B (настраиваемо)
Разрешение
16 бит
Высокая точность измерений
Каналы
4 канала
Одиночные или дифференциальные
Питание
2.0В – 5.5В
Низкое потребление (150 мкА)
ПараметрЗначение
Скорость выборкиот 8 до 860 выбор/сек (SPS)
Встроенный усилитель (PGA)До x16
Режимы работыНепрерывный или одиночный замер
Размеры модуля18 x 28 мм
Скачать полный даташит (PDF)
Конфигурация выводов

Распиновка KY-053

Модуль имеет 7 контактов для подключения питания, интерфейса I2C и аналоговых входов.

Распиновка KY-053

Настройка адреса I2C

Используйте пин **ADDR** для изменения адреса I2C: - **GND**: 0x48 (по умолчанию) - **VDD**: 0x49 - **SDA**: 0x4A - **SCL**: 0x4B

Совет по подключению

Пины A0–A3 используются для подачи аналогового напряжения. Не превышайте напряжение питания (VDD) на этих входах во избежание повреждения чипа.

Пин Имя Тип Описание
1 GND Power Земля (0В)
2 VDD Power Питание (2.0В – 5.5В)
3 SDA I2C Линия данных I2C
4 SCL I2C Линия тактирования I2C
5 ADDR Input Выбор адреса I2C
6 ALRT Output Оповещение / готовность (Alert)
7 A0–A3 Analog Аналоговые входы
Руководство по подключению

Подключение KY-053 к ESP32

Для высокоточного измерения аналоговых сигналов подключите модуль к ESP32 через шину I2C.

KY-053 Пин ESP32 Пин Описание
GND GND Общий минус
VDD 3.3V Питание (для ESP32 лучше 3.3В)
SDA GPIO21 I2C Данные
SCL GPIO22 I2C Тактирование

Точность 16 бит

Это в 16 раз точнее 12-битного встроенного АЦП ESP32, что критично для прецизионных датчиков веса или давления.

Дифференциальный режим

Модуль позволяет измерять разность напряжений между двумя входами (например, A0-A1), что снижает уровень шумов.

Отладка и ошибки

Устранение неполадок KY-053

Распространенные проблемы и способы их решения.

Модуль не обнаружен на шине I2C
  • Проверьте надежность контактов SDA и SCL.
  • Убедитесь, что пин ADDR подключен к GND (адрес 0x48) или другому стабильному потенциалу.
  • Используйте I2C-сканер для проверки присутствия устройства по адресу 0x48.
Нестабильные или неверные показания
  • Проверьте, не превышает ли входное напряжение уровень VDD.
  • Настройте Programmable Gain Amplifier (PGA) в коде под ваш диапазон напряжений.
  • Убедитесь, что питание модуля стабильно и не имеет сильных пульсаций.
Примеры программирования

Программирование модуля KY-053

Ниже приведены примеры для популярных платформ с использованием стандартных библиотек ADS1115.

Пример для Arduino

Используется библиотека Adafruit_ADS1X15

C++
// Подключение библиотек
#include <Wire.h>
#include <Adafruit_ADS1X15.h>

// Создаем объект АЦП
Adafruit_ADS1115 ads; 

void setup() {
  Serial.begin(9600);
  
  // Настройка усиления (Gain)
  // GAIN_TWOTHIRDS: +/- 6.144V  1 bit = 0.1875mV
  ads.setGain(GAIN_TWOTHIRDS); 

  // Инициализация модуля
  if (!ads.begin()) {
    Serial.println("Ошибка инициализации ADS1115!");
    while (1);
  }
}

void loop() {
  int16_t adc0, adc1, adc2, adc3;

  // Чтение одиночных каналов
  adc0 = ads.readADC_SingleEnded(0);
  adc1 = ads.readADC_SingleEnded(1);
  adc2 = ads.readADC_SingleEnded(2);
  adc3 = ads.readADC_SingleEnded(3);

  // Вывод в Serial Monitor
  Serial.print("Канал 0: "); Serial.println(adc0);
  Serial.print("Канал 1: "); Serial.println(adc1);
  Serial.print("Канал 2: "); Serial.println(adc2);
  Serial.print("Канал 3: "); Serial.println(adc3);
  Serial.println("----------------");

  delay(1000);
}

Пример для MicroPython

Код для ESP32 или Raspberry Pi Pico

Python
import machine
import time
from ads1x15 import ADS1115

# Настройка I2C на ESP32 (SCL=22, SDA=21)
i2c = machine.I2C(0, scl=machine.Pin(22), sda=machine.Pin(21))

# Инициализация АЦП (адрес по умолчанию 0x48)
adc = ADS1115(i2c, address=0x48)

while True:
    for i in range(4):
        # Чтение значения канала
        value = adc.read(i)
        print(f"Канал {i}: {value}")
    
    time.sleep(1)

Итоги

Модуль KY-053 (ADS1115) — это мощный инструмент для тех, кто ищет высокую точность и надежность в аналоговых измерениях. Благодаря 16-битному разрешению и гибкой настройке через I2C, он подходит как для простых проектов, так и для сложных профессиональных систем.

Рекомендации

  • Используйте дифференциальный режим для датчиков со слабым сигналом.
  • Правильно настраивайте Gain (усиление), чтобы использовать весь динамический диапазон 16 бит.
  • Не забывайте про pull-up резисторы на линиях SDA/SCL, если их нет на самом модуле.

Безопасность

  • Не подавайте на входы A0–A3 напряжение выше напряжения питания VDD.
  • Избегайте статического электричества при работе с открытой платой модуля.

Готовы начать проект на KY-053?

Скачайте спецификации или посмотрите подробные примеры программирования, чтобы запустить ваш АЦП прямо сейчас!

Похожие варианты