Встроенный датчик Холла ESP32 с Arduino IDE и MicroPython
Плата разработки ESP32 оснащена встроенным датчиком Холла (эффекта Холла), который обнаруживает изменения магнитного поля в окружающей среде. В этом руководстве показано, как использовать встроенный датчик Холла ESP32 с Arduino IDE и MicroPython.
Примечание
Функция hallRead() была удалена из ESP32 версии 3.X. Чтение датчика Холла больше не поддерживается в версии 3.X. Вы все ещё можете использовать эту функцию, но вам нужно понизить версию дополнения ESP32 до версии 2.
Видеоурок
Вы можете посмотреть видеоурок или продолжить чтение этой страницы для получения письменных инструкций по работе с датчиком Холла ESP32. Это видео охватывает использование датчика Холла с Arduino IDE. Прокрутите вниз, чтобы узнать, как использовать его с прошивкой MicroPython.
Датчик Холла 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:
Демонстрация
После завершения загрузки откройте монитор последовательного порта (Serial Monitor) на скорости 9600 бод. Поднесите магнит к датчику Холла ESP32 и наблюдайте, как значения увеличиваются…
Или уменьшаются, в зависимости от полюса магнита, обращённого к датчику:
Чем ближе магнит к датчику, тем больше абсолютные значения.
Чтение датчика Холла – 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