Модуль датчика наклона KY-020

Узнайте всё о модуле датчика наклона KY-020: технические характеристики, распиновка, схемы подключения, документация и примеры кода для ESP32, Arduino, Raspberry

KY-0xx модуль Digital

Обзор

KY-020 — это модуль датчика наклона, который определяет изменение ориентации в пространстве. Он выдаёт цифровой сигнал, что делает его отличным выбором для систем обнаружения движения, охранных сигнализаций и управления на основе наклона.

KY-020 — модуль датчика наклона, работающий на принципе замыкания контактов металлическим шариком. При изменении угла наклона шарик перемещается, замыкая или размыкая цепь, что позволяет микроконтроллеру легко определить состояние устройства.

Модуль KY-020
Быстрая навигация
Основные разделы статьи
Примеры кода
Популярные платформы

О модуле датчика наклона KY-020

Модуль датчика наклона KY-020 предназначен для обнаружения ориентации или наклона. Внутри него находится металлический шарик, который замыкает или размыкает контакты в зависимости от угла наклона модуля. Когда устройство наклоняется, шарик перемещается, изменяя состояние цепи, что считывается микроконтроллером как цифровой сигнал. Этот модуль работает при напряжении от 3.3 В до 5 В, что делает его универсальным для различных проектов на базе Arduino или ESP32.

Где купить

Приобретите KY-020

Технические характеристики

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

Полные технические характеристики модуля датчика наклона KY-020.

Тип выхода
Цифровой
Рабочее напряжение
3.3В - 5.5В
Размеры
19 x 15 x 5 мм
Механизм
Металлический шарик
Скачать полный даташит
Конфигурация пинов

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

Модуль KY-020 имеет 3 контакта, которые легко подключаются к большинству современных микроконтроллеров.

Визуальная диаграмма распиновки
Основное
Распиновка KY-020
Всего выводов
3
Типы
Питание + Цифровой
Быстрые советы
  • Интерфейс — цифровой выход для детекции наклона.
  • Принцип — металлический шарик внутри корпуса.
  • Питание — поддерживает уровни 3.3В и 5В.
Описание выводов
Название Тип Описание Примечания
1 GND (-) Питание Общий провод (GND) Отрицательный полюс
2 VCC (Средний) PПитание Положительное питание (VCC) 3.3В до 5В
3 Digital (S) Цифровой Цифровой выходной сигнал Меняет состояние при наклоне
Руководство по подключению

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

Чтобы подключить KY-020 к ESP32 для обнаружения наклона, выполните следующие соединения:

Схема подключения
Рекомендуемая
Подключение KY-020 к ESP32
Подключений
3
Статус
Все обязательны
Протокол
Цифровой
Подключения пинов
Вывод KY-020 Подключение Вывод ESP32 Описание
GND (-) обязательно GND Земля
VCC обязательно 3.3V Питание (3.3В для ESP32)
Signal (S) обязательно GPIO4 Цифровой вход (любой GPIO)
📍 GPIO: Любой цифровой пин ⚡ Питание: 3.3В рекомендуется для ESP32 🎲 Механизм: Шариковый переключатель 🎯 Бинарный выход: HIGH/LOW ⚠️ Экология: KY-017 (без ртути) может быть альтернативой
Помощь и поддержка

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

Распространённые проблемы и решения, которые помогут вам заставить датчик работать корректно.

Датчик не реагирует
Нет сигнала при наклоне

Проблема: Сенсор не выдаёт сигнал при изменении положения.

Решение: Проверьте надёжность всех соединений. Убедитесь, что на модуль подаётся питание (3.3В - 5В). Проверьте корректность настройки пина ввода в коде микроконтроллера.

Ложные срабатывания
Сигнал появляется без наклона

Проблема: Датчик срабатывает от вибраций или наводок.

Решение: Убедитесь в стабильности крепления датчика. Используйте программный антидребезг (debouncing) для фильтрации быстрых переключений шарика.

Советы по отладке

Serial монитор
Проверка логов и сигналов
Используйте Serial монитор для отображения состояния датчика. Добавьте в код отладочный вывод, чтобы видеть, когда происходит переключение между LOW и HIGH.
Мультиметр
Проверка цепи
Проверьте тестером целостность проводов и наличие питания на контактах модуля. При наклоне сопротивление между контактами должно меняться от бесконечности до околонулевого.
Примеры кода

Примеры программирования KY-020

Готовые к использованию примеры кода для различных платформ

Пример для Arduino

Совместим с Arduino IDE и ESP32

C++
int tilt_switch = 10; // Вывод, к которому подключен датчик
int value; // Переменная для хранения значения

void setup() {
    pinMode(tilt_switch, INPUT); // Инициализация пина как вход
    Serial.begin(9600); // Настройка монитора порта
    Serial.println("Тест датчика наклона KY-020");
}

void loop() {
    // Считываем сигнал с датчика
    value = digitalRead(tilt_switch);
    
    // Если обнаружен наклон (цепь разомкнута или замкнута в зависимости от схемы)
    if (value == LOW) {
        Serial.println("Обнаружен наклон!");
        delay(1000); // Задержка 1 секунда
    }
}

Этот код настраивает KY-020 на 10-м цифровом пине. Он считывает состояние датчика и выводит сообщение в Serial Monitor при обнаружении наклона.

Пример для ESP-IDF

Нативный фреймворк Espressif

C++
#include <stdio.h>
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "driver/gpio.h"

#define TILT_SWITCH_PIN GPIO_NUM_4

void app_main(void) {
    gpio_config_t io_conf = {
        .pin_bit_mask = (1ULL << TILT_SWITCH_PIN),
        .mode = GPIO_MODE_INPUT,
        .pull_up_en = GPIO_PULLUP_ENABLE,
        .pull_down_en = GPIO_PULLDOWN_DISABLE,
        .intr_type = GPIO_INTR_DISABLE
    };
    gpio_config(&io_conf);
    
    printf("Тест датчика KY-020\n");
    while (1) {
        if (gpio_get_level(TILT_SWITCH_PIN) == 0) {
            printf("Обнаружен наклон!\n");
            vTaskDelay(pdMS_TO_TICKS(1000));
        }
        vTaskDelay(pdMS_TO_TICKS(100));
    }
}

Код для ESP-IDF настраивает GPIO4 как вход с подтяжкой. При низком уровне сигнала выводится сообщение.

Пример для ESPHome

Конфигурация для Home Assistant

YAML
binary_sensor:
  - platform: gpio
    pin:
      number: GPIO4
      mode: INPUT_PULLUP
    name: "Датчик наклона KY-020"
    filters:
      - delayed_on: 50ms
      - delayed_off: 50ms
    on_press:
      - then:
          - lambda: |-
              ESP_LOGD("sensor", "Обнаружен наклон!");

Конфигурация ESPHome для использования KY-020 в качестве бинарного сенсора с фильтром дребезга.

Пример для MicroPython

Python для микроконтроллеров

Python
import machine
import time

tilt_pin = machine.Pin(4, machine.Pin.IN, machine.Pin.PULL_UP)

while True:
    if tilt_pin.value() == 0:
        print("Обнаружен наклон!")
        time.sleep(1)
    time.sleep(0.1)

MicroPython скрипт для отслеживания состояния пина GPIO4.

Итоги KY-020

Модуль **KY-020 Tilt Switch** — это простое и надёжное решение для обнаружения наклона в ваших проектах. Широкая поддержка платформ (Arduino, ESP-IDF, ESPHome, MicroPython) делает его доступным для разработчиков любого уровня.

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

Для исключения ложных срабатываний всегда используйте программный антидребезг. Убедитесь, что модуль надёжно закреплён, если вы не планируете использовать его для детекции вибраций.

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

Проверяйте напряжение питания перед подключением. Модули KY-020 обычно безопасны, но помните, что внутри находится подвижный элемент — не подвергайте модуль сильным ударам.

Готовы начать создавать?

Теперь у вас есть всё необходимое для интеграции KY-020 в ваш проект!