Модуль KY-027 «Магическая чашка» (Magic Light Cup)

Полное руководство по модулю KY-027 Magic Light Cup: характеристики, распиновка, схемы подключения, документация и примеры кода для ESP32, Arduino, Raspberry Pi.

Модули KY-0xx Цифровой

Обзор

KY-027 Magic Light Cup — это модуль детектора наклона, объединяющий ртутный выключатель и светодиод. Модуль реагирует на изменение ориентации в пространстве и часто используется парами для создания эффекта «переливания» света из одной чашки в другую, а также в интерактивных игрушках и простых системах сигнализации.

KY-027 состоит из ртутного датчика наклона и светодиода. При наклоне модуля ртутный контакт замыкается, что позволяет контроллеру зажечь LED. Это идеальный выбор для проектов, реагирующих на изменение положения.

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

О модуле KY-027 Magic Light Cup

Модуль KY-027 Magic Light Cup объединяет в себе ртутный датчик наклона и светодиод. Когда модуль наклоняется, капля ртути замыкает контакты внутри стеклянной колбы, подавая сигнал на контроллер. На плате также расположен светодиод, яркость которого можно плавно изменять (через ШИМ) или просто включать/выключать.

Ключевые особенности

  • Детектор наклона – Стеклянная колба с каплей ртути обеспечивает надежное срабатывание при изменении угла.
  • Встроенный светодиод – Позволяет визуализировать срабатывание прямо на модуле.
  • Универсальность – Подходит для создания «умных» светильников, игрушек и систем контроля положения.
Где купить

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

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

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

Основные технические параметры модуля Magic Light Cup.

Напряжение питания
3.3В – 5В
Тип датчика
Ртутный (герметичный)
Размеры
36 x 15 x 14 мм
Вес
2 г
Скачать документацию
Конфигурация пинов

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

Модуль KY-027 имеет 4 вывода для подключения к контроллеру:

Визуальная диаграмма распиновки
Схема модуля
Распиновка KY-027
Всего выводов
4
Типы
Питание + Сигнал
Быстрые советы
  • S (Signal) — LOW при наклоне (активный низкий).
  • L (LED) — подайте HIGH для включения LED.
  • Угол активации — обычно 15-30°.
Описание выводов
Название Тип Описание Примечания
1 GND Земля Общий минус Минус источника питания
2 +V Питание Напряжение (3.3В - 5В) Плюс источника питания
3 S Сигнал Выход датчика наклона LOW при срабатывании
4 L Управление Вход управления LED HIGH включает светодиод
Руководство по подключению

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

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

Схема подключения
С ESP32
Подключение KY-027 к ESP32
Подключений
4
Статус
3 обязательных
Протокол
Цифровой
Подключения пинов
Вывод KY-027 Подключение Вывод ESP32 Описание
GND обязательно GND Земля
+V обязательно 3.3V Питание модуля
S обязательно GPIO17 Вход от датчика наклона
L опционально GPIO16 Управление светодиодом
⚖️ Датчик: ртутный выключатель 💡 LED: встроенный, управляется по L 🎮 Эффект: «переливание» света ⚡ Подтяжка: рекомендуется внутренняя на S ⚠️ Ртуть: токсично, не вскрывать!
Помощь и поддержка

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

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

LED не горит при наклоне
Проверка управления и питания

Проблема: Светодиод на модуле не включается.

Решение: Убедитесь, что пин L подключен к цифровому выходу контроллера и на него подается HIGH. Проверьте полярность питания.

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

Причина: Ртутная капля может колебаться от вибрации. Также возможен дребезг контактов.

Решение: Добавьте программную фильтрацию (debounce) в ваш код. Убедитесь в надежности крепления модуля.

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

Serial монитор
Проверка состояния S-пина
Выводите состояние входа `S` в Serial монитор. При правильном подключении и вертикальном положении там должен быть `HIGH`, а при наклоне — `LOW`.

Дополнительные ресурсы

Примеры кода

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

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

Пример для Arduino

Использование встроенного LED и датчика наклона

C++
int ledPin = 13;      // Пин встроенного LED Arduino
int lPin = 11;        // Пин L модуля (управление LED)
int sPin = 10;        // Пин S модуля (датчик наклона)
int val;              // Переменная для хранения состояния

void setup() {
  pinMode(ledPin, OUTPUT);
  pinMode(lPin, OUTPUT);
  pinMode(sPin, INPUT_PULLUP); // Используем внутреннюю подтяжку
}

void loop() {
  val = digitalRead(sPin); // Читаем состояние датчика
  
  if (val == LOW) {        // Если модуль наклонен
    digitalWrite(ledPin, HIGH); // Включаем LED на плате
    digitalWrite(lPin, HIGH);   // Включаем LED на модуле
  } else {
    digitalWrite(ledPin, LOW);
    digitalWrite(lPin, LOW);
  }
}

Этот скетч считывает состояние ртутного выключателя. При наклоне (сигнал LOW) зажигается как встроенный светодиод модуля, так и светодиод на самой плате Arduino.

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

Нативная разработка для ESP32

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

#define TILT_SENSOR_PIN GPIO_NUM_17
#define LED_PIN GPIO_NUM_16

void app_main(void) {
    gpio_set_direction(TILT_SENSOR_PIN, GPIO_MODE_INPUT);
    gpio_set_pull_mode(TILT_SENSOR_PIN, GPIO_PULLUP_ONLY); // Включаем подтяжку
    gpio_set_direction(LED_PIN, GPIO_MODE_OUTPUT);

    while (1) {
        int sensor_value = gpio_get_level(TILT_SENSOR_PIN);
        if (sensor_value == 0) { // Активный низкий
            gpio_set_level(LED_PIN, 1);
        } else {
            gpio_set_level(LED_PIN, 0);
        }
        vTaskDelay(pdMS_TO_TICKS(100));
    }
}

Код для ESP-IDF настраивает пины и в бесконечном цикле опрашивает состояние датчика наклона. При срабатывании зажигается светодиод.

Пример для ESPHome

Интеграция в Home Assistant

YAML
binary_sensor:
  - platform: gpio
    pin:
      number: GPIO17
      mode: INPUT_PULLUP
      inverted: true
    name: "KY-027 Tilt Sensor"
    on_press:
      then:
        - light.turn_on: ky027_led
    on_release:
      then:
        - light.turn_off: ky027_led

light:
  - platform: binary
    name: "KY-027 LED"
    output: led_output
    id: ky027_led

output:
  - platform: gpio
    pin: GPIO16
    id: led_output

Конфигурация для ESPHome создает бинарный сенсор наклона. Параметр inverted: true позволяет получить активное состояние (ON) при наклоне модуля.

Пример для MicroPython

Скрипт на Python

Python
from machine import Pin
import time

s_pin = Pin(17, Pin.IN, Pin.PULL_UP)
l_pin = Pin(16, Pin.OUT)

while True:
    if s_pin.value() == 0:
        l_pin.on()
        print("Наклон обнаружен!")
    else:
        l_pin.off()
    time.sleep(0.1)

MicroPython скрипт опрашивает GPIO17 и включает GPIO16 при низком уровне сигнала на входе.

Итоги KY-027

Модуль **KY-027 Magic Light Cup** — это простое и эффективное решение для создания интерактивных проектов, реагирующих на наклон. Благодаря наличию светодиода на той же плате, он отлично подходит для обучения и быстрой сборки прототипов.

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

Используйте два таких модуля для создания полноценного эффекта «волшебных чашек». Для плавной регулировки яркости LED используйте ШИМ (PWM) на пине управления LED модуля.

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

**Внимание!** Модуль содержит ртуть в герметичной колбе. Не разбивайте колбу, не нагревайте её и не утилизируйте модуль с бытовым мусором. При повреждении колбы немедленно проветрите помещение.

Готовы создать магию?

Используйте примеры кода выше, чтобы быстро запустить проект с KY-027!