Приобретите KY-024 Линейный датчик Холла
Обзор
KY-024 — это модуль линейного датчика Холла, который обеспечивает как аналоговый, так и цифровой выходы. Он оснащен потенциометром для регулировки чувствительности и подходит для обнаружения магнитных полей в различных приложениях.
KY-024 — это линейный датчик магнитного поля на основе элемента Холла. В отличие от простых переключателей, он может измерять относительную силу поля. Модуль имеет два выхода: аналоговый (A0) передает уровень напряжения, пропорциональный силе поля, а цифровой (D0) срабатывает при превышении порога, заданного потенциометром. Часто используется для измерения скорости вращения, обнаружения положения и в бесконтактных переключателях.
Быстрая навигация
<div class="rounded-2xl border border-slate-200 dark:border-slate-800 bg-white dark:bg-slate-900 p-6">
<h3 class="text-sm font-semibold text-slate-900 dark:text-white uppercase tracking-wider mb-4">Примеры кода</h3>
<div class="space-y-2">
<a href="#arduino" class="flex items-center gap-3 p-2 rounded-xl hover:bg-slate-50 dark:hover:bg-slate-800 transition-colors !no-underline group">
<img src="/img/UacrygeoB1-40.png" class="w-8 h-8 rounded-lg" alt="Arduino" />
<div>
<div class="text-sm font-medium text-slate-900 dark:text-white group-hover:text-indigo-600 transition-colors">Arduino</div>
<div class="text-[10px] text-slate-500 uppercase">C++ Framework</div>
</div>
</a>
<a href="#esp-idf" class="flex items-center gap-3 p-2 rounded-xl hover:bg-slate-50 dark:hover:bg-slate-800 transition-colors !no-underline group">
<img src="/img/32WN7tz--V-40.png" class="w-8 h-8 rounded-lg" alt="ESP-IDF" />
<div>
<div class="text-sm font-medium text-slate-900 dark:text-white group-hover:text-indigo-600 transition-colors">ESP-IDF</div>
<div class="text-[10px] text-slate-500 uppercase">Native SDK</div>
</div>
</a>
<a href="#micropython" class="flex items-center gap-3 p-2 rounded-xl hover:bg-slate-50 dark:hover:bg-slate-800 transition-colors !no-underline group">
<img src="/img/U_FT8ja_jJ-40.png" class="w-8 h-8 rounded-lg" alt="MicroPython" />
<div>
<div class="text-sm font-medium text-slate-900 dark:text-white group-hover:text-indigo-600 transition-colors">MicroPython</div>
<div class="text-[10px] text-slate-500 uppercase">Python</div>
</div>
</a>
</div>
</div>
Где купить
Ориентировочная цена
от $2
Характеристики KY-024
Подробные спецификации линейного датчика Холла KY-024.
Распиновка KY-024
KY-024 имеет 4 контакта для подключения питания и снятия данных.
<div class="p-6 rounded-2xl border border-slate-200 dark:border-slate-800 bg-white dark:bg-slate-900">
<h4 class="text-sm font-bold text-slate-900 dark:text-white mb-4">Советы по подключению</h4>
<ul class="space-y-3 text-sm text-slate-600 dark:text-slate-400">
<li class="flex gap-3">
<span class="text-indigo-500 font-bold shrink-0">1.</span>
Для ESP32 используйте 3.3В для питания и аналогового входа (ADC).
</li>
<li class="flex gap-3">
<span class="text-indigo-500 font-bold shrink-0">2.</span>
Цифровой выход D0 переходит в HIGH, когда сила магнитного поля превышает порог.
</li>
</ul>
</div>
| Пин | Тип | Описание | Примечание |
|---|---|---|---|
| GND | Power | Земля | — |
| +V | Power | Питание | 3.3В — 5В |
| D0 | Digital | Цифровой выход | Настраивается потенциометром |
| A0 | Analog | Аналоговый выход | Сигнал напряжения |
Подключение KY-024 к ESP32
Схема соединения модуля с контроллером ESP32 для измерения магнитных полей.
Статус подключения
Детали интерфейса
| KY-024 Пин | Тип | ESP32 Пин | Описание |
|---|---|---|---|
| GND | Required | GND | Общий минус |
| +V | Required | 3.3V | Питание модуля |
| D0 | Digital | GPIO17 | Цифровой выход |
| A0 | Analog | GPIO36 | Аналоговые данные (ADC) |
Устранение неполадок KY-024
Типичные проблемы и их решения для модуля линейного датчика Холла.
!
Датчик не реагирует на магнитное поле
▼
Решения:
- Проверьте питание (3.3В / 5В).
- Покрутите потенциометр: цифровой порог (D0) может быть установлен слишком высоко или низко.
- Убедитесь, что магнит поднесен достаточно близко к чувствительному элементу.
- Попробуйте перевернуть магнит (изменить полярность).
?
Шум на аналоговом выходе
▼
Используйте программное усреднение показаний АЦП или добавьте небольшой конденсатор (0.1 мкФ) между пином A0 и GND для фильтрации высокочастотного шума.
Примеры программирования KY-024
Примеры кода для разных платформ для работы с датчиком Холла.
Arduino IDE / Framework
C++ • Стандартный пример
INO
▼
Arduino IDE / Framework
C++ • Стандартный пример
// Инициализация входных пинов
int analog_input = A0; // Аналоговый выход датчика
int digital_input = 3; // Цифровой выход датчика
void setup() {
pinMode(analog_input, INPUT);
pinMode(digital_input, INPUT);
Serial.begin(9600); // Скорость последовательного порта 9600 бит/с
Serial.println("KY-024 Обнаружение магнитного поля");
}
void loop() {
// Считываем текущие значения, преобразуем в напряжение...
float analog_value = analogRead(analog_input) * (5.0 / 1023.0);
int digital_value = digitalRead(digital_input);
// ...и выводим в монитор порта
Serial.print("Аналоговое напряжение: ");
Serial.print(analog_value, 4);
Serial.print(" V, Threshold (порог): ");
if (digital_value == HIGH) {
Serial.println("ДОСТИГНУТ");
} else {
Serial.println("не достигнут");
}
delay(1000);
}
<p class="mt-4 text-sm text-slate-600 dark:text-slate-400">Этот код считывает аналоговое напряжение и проверяет цифровой сигнал для определения достижения порога.</p>
</div>
ESP-IDF
C • Native SDK
SDK
▼
ESP-IDF
C • Native SDK
#include <stdio.h>
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "driver/adc.h"
#include "driver/gpio.h"
#define HALL_SENSOR_ANALOG_PIN ADC1_CHANNEL_0 // GPIO36
#define HALL_SENSOR_DIGITAL_PIN GPIO_NUM_17
void app_main(void) {
adc1_config_width(ADC_WIDTH_BIT_12);
adc1_config_channel_atten(HALL_SENSOR_ANALOG_PIN, ADC_ATTEN_DB_11);
gpio_set_direction(HALL_SENSOR_DIGITAL_PIN, GPIO_MODE_INPUT);
while (1) {
int analog_value = adc1_get_raw(HALL_SENSOR_ANALOG_PIN);
int digital_value = gpio_get_level(HALL_SENSOR_DIGITAL_PIN);
printf("ADC: %d, Порог: %s\n", analog_value, digital_value ? "ДА" : "НЕТ");
vTaskDelay(pdMS_TO_TICKS(1000));
}
}
</div>
ESPHome
YAML • Конфигурация
YAML
▼
ESPHome
YAML • Конфигурация
sensor:
- platform: adc
pin: GPIO36
name: "KY-024 Сила поля"
update_interval: 1s
binary_sensor:
- platform: gpio
pin: GPIO17
name: "KY-024 Магнитный триггер"
</div>
MicroPython
Python • Скрипт
PY
▼
MicroPython
Python • Скрипт
import machine
import time
# Настройка
adc = machine.ADC(machine.Pin(36))
adc.atten(machine.ADC.ATTN_11DB)
digital_pin = machine.Pin(17, machine.Pin.IN)
while True:
val = adc.read()
status = digital_pin.value()
print(f"Analog: {val}, Threshold: {status}")
time.sleep(1)
</div>
Итог по KY-024
Модуль KY-024 — это гибкий инструмент для измерения магнитных полей и детекции приближения. Его линейный выход позволяет получать более детальную информацию о силе поля, чем простые цифровые датчики Холла.
Лучшие практики
- Линейность: Учитывайте, что аналоговое значение меняется пропорционально силе поля, что полезно для измерения дистанции.
- Стабильность: Для точных измерений используйте стабильный источник питания 3.3В.
- Калибровка: Используйте потенциометр для точной настройки порога переключения цифрового выхода в вашей среде.