ESP32:Примеры/Считывание данных от датчика эффекта Холла

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.


Считывание данных от датчика эффекта Холла

Плата ESP32 оснащена датчиком эффекта Холла, который расположен под металлической крышкой (см. фото ниже).

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

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

  • Определения приближения объектов
  • Расчета месторасположения
  • Определения количества вращений колеса
  • Определения закрытия двери и пр.

Считывать данные от датчика эффекта Холла ESP32 при помощи IDE Arduino очень просто – нужна лишь функция hallRead(). Скопируйте код в IDE Arduino из раздела снизу.

Этот скетч-пример просто считывает данные от датчика эффекта Холла и показывает их в мониторе порта.

val = hallRead();
  // печатаем считанные данные в мониторе порта:
  Serial.println(val);

Ставим в боке loop() задержку в 1 секунду, чтобы у вас была возможность прочесть эти данные.

delay(1000);

Загрузив код, откройте монитор порта на скорости 9600 бод. Приложите магнит к датчику эффекта Холла и посмотрите на значения в мониторе порта. Они должны увеличиться...

...или уменьшиться – в зависимости от того, какой магнитный полюс «смотрит» на датчик:

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

Итак, если вкратце, в этом примере мы узнали следующее:

  • Плата ESP32 оснащена датчиком эффекта Холла;
  • Датчик эффекта Холла способен определять изменения в окружающем магнитном поле;
  • Данные от датчика Холла могут быть положительными/отрицательными в зависимости от того, какой магнитный полюс «смотрит» на датчик;

Необходимое оборудование

  • Плата ESP32 - 1шт.;

Схема

Для данного примера нужна только плата.

Код

// Простой скетч-пример для получения доступа
// к данным датчика эффекта Холла ESP32.
// Значения, полученные от него, могут быть очень небольшими.
// Автор – Брайан Деггер / @sctv  

int val = 0;

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

// блок loop() предназначен для главного кода;
// т.е. код, помещенный тут, будет постоянно повторяться:
void loop() {
  // считываем данные от датчика эффекта Холла:
  val = hallRead();
  // печатаем считанные данные в мониторе порта:
  Serial.println(val); 
  delay(1000);
}

См.также

Внешние ссылки