Встроенный датчик Холла ESP32 с Arduino IDE и MicroPython

Плата разработки ESP32 оснащена встроенным датчиком Холла (эффекта Холла), который обнаруживает изменения магнитного поля в окружающей среде. В этом руководстве показано, как использовать встроенный датчик Холла ESP32 с Arduino IDE и MicroPython.

Встроенный датчик Холла ESP32 с Arduino IDE и MicroPython

Примечание

Функция hallRead() была удалена из ESP32 версии 3.X. Чтение датчика Холла больше не поддерживается в версии 3.X. Вы все ещё можете использовать эту функцию, но вам нужно понизить версию дополнения ESP32 до версии 2.

Установка дополнения ESP32 для Arduino версии 2

Видеоурок

Вы можете посмотреть видеоурок или продолжить чтение этой страницы для получения письменных инструкций по работе с датчиком Холла ESP32. Это видео охватывает использование датчика Холла с Arduino IDE. Прокрутите вниз, чтобы узнать, как использовать его с прошивкой MicroPython.

Датчик Холла ESP32

Плата ESP32 оснащена встроенным датчиком Холла, расположенным под металлической крышкой чипа ESP32, как показано на следующем рисунке.

Расположение встроенного датчика Холла на ESP32

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

Принцип работы датчика Холла ESP32 с магнитом

Датчик Холла может быть использован в сочетании с пороговым обнаружением для работы в качестве переключателя, например. Кроме того, датчики Холла в основном используются для:

  • Обнаружения приближения;

  • Расчёта позиционирования;

  • Подсчёта количества оборотов колеса;

  • Обнаружения закрытия двери;

  • И многого другого.

Чтение датчика Холла – Arduino IDE

Чтение показаний датчика Холла с помощью ESP32 в Arduino IDE так же просто, как использование функции hallRead().

Используйте следующий код.

// Simple sketch to access the internal hall effect detector on the esp32.
// values can be quite low.
// Brian Degger / @sctv

int val = 0;

void setup() {
  Serial.begin(9600);
}

// put your main code here, to run repeatedly
void loop() {
  // read hall effect sensor value
  val = hallRead();
  // print the results to the serial monitor
  Serial.println(val);
  delay(1000);
}

Посмотреть исходный код

Этот пример просто считывает показания датчика Холла и отображает их в мониторе последовательного порта (Serial Monitor).

val = hallRead();
Serial.println(val);

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

delay(1000);

Загрузите код на вашу плату ESP32:

Кнопка компиляции и загрузки кода в ESP32 через Arduino IDE

Демонстрация

После завершения загрузки откройте монитор последовательного порта (Serial Monitor) на скорости 9600 бод. Поднесите магнит к датчику Холла ESP32 и наблюдайте, как значения увеличиваются…

Положительные показания встроенного датчика Холла ESP32 в Serial Monitor Arduino IDE

Или уменьшаются, в зависимости от полюса магнита, обращённого к датчику:

Чем ближе магнит к датчику, тем больше абсолютные значения.

Отрицательные показания встроенного датчика Холла ESP32 в Serial Monitor Arduino IDE

Чтение датчика Холла – MicroPython

Для чтения датчика Холла ESP32 с помощью MicroPython вам нужно использовать следующий фрагмент кода:

import esp32
esp32.hall_sensor()

Необходимо импортировать модуль esp32. Затем используйте метод hall_sensor().

Если вы хотите вывести показания в консоль, просто используйте функцию print():

print(esp32.hall_sensor())

Если вы только начинаете работать с MicroPython, вы можете прочитать следующее руководство:

Заключение

В этом руководстве вы узнали, что:

  • ESP32 оснащён встроенным датчиком Холла (эффекта Холла)

  • Датчик Холла может обнаруживать изменения магнитного поля в окружающей среде

  • Показания датчика могут увеличиваться или становиться отрицательными в зависимости от полюса магнита, обращённого к датчику.

Надеемся, что это руководство было полезным. Для дополнительных проектов с ESP32 вы можете ознакомиться с нашей подборкой проектов: 20+ проектов и руководств по ESP32.

Это руководство является превью курса «Изучение ESP32 с Arduino IDE». Если вам понравился этот проект, обязательно ознакомьтесь со страницей курса ESP32, где мы рассматриваем эту и многие другие темы по ESP32.


Источник: ESP32 Built-In Hall Effect Sensor with Arduino IDE and MicroPython