- Необходимые материалы:
- Датчики на эффекте Холла:
- Принципиальная схема и пояснения:
- Код Arduino датчика эффекта Холла:
- Работа датчика Холла Arduino:
Датчики всегда были жизненно важным компонентом любого проекта. Это те, которые преобразуют данные об окружающей среде в реальном времени в цифровые / переменные данные, чтобы их можно было обрабатывать электроникой. На рынке доступно множество различных типов датчиков, и вы можете выбрать тот, который вам нужен. В этом проекте мы узнаем, как использовать датчик Холла, известный как датчик Холла, с Arduino. Этот датчик способен обнаруживать магнит, а также полюс магнита.
Зачем обнаруживать магнит? - спросите вы. Что ж, существует множество приложений, которые практически используют датчик Холла, и мы, возможно, никогда их не заметили. Одним из распространенных применений этого датчика является измерение скорости велосипедов или любых вращающихся машин. Этот датчик также используется в двигателях BLDC для определения положения магнитов ротора и соответствующего запуска катушек статора. Приложения бесконечны, поэтому давайте узнаем, как подключить датчик эффекта Холла к Arduino, чтобы добавить еще один инструмент в наш арсенал. Вот несколько проектов с датчиком Холла:
- Сделай сам спидометр с использованием Arduino и Android-приложения для обработки данных
- Цепь цифрового спидометра и одометра с использованием микроконтроллера PIC
- Виртуальная реальность с использованием Arduino и обработки
- Измерение напряженности магнитного поля с использованием Arduino
В этом уроке мы будем использовать функцию прерывания Arduino для обнаружения магнита рядом с датчиком Холла и свечения светодиода. В большинстве случаев датчик Холла будет использоваться только с прерываниями из-за их приложений, в которых требуется высокая скорость чтения и выполнения, поэтому давайте также будем использовать прерывания в нашем руководстве.
Необходимые материалы:
- Датчик Холла (любая цифровая версия)
- Arduino (любая версия)
- Резистор 10 кОм и 1 кОм
- СВЕТОДИОД
- Подключение проводов
Датчики на эффекте Холла:
Прежде чем мы углубимся в соединения, есть несколько важных вещей, которые вы должны знать о датчиках Холла. На самом деле существует два разных типа датчиков Холла: один - цифровой датчик Холла, а другой - аналоговый датчик Холла. Цифровой датчик Холла может только определять наличие магнита или его отсутствие (0 или 1), но выходной сигнал аналогового датчика Холла изменяется в зависимости от магнитного поля вокруг магнита, то есть он может определять, насколько силен или насколько далеко находится магнит. В этом проекте мы будем нацелены только на цифровые датчики Холла, поскольку они наиболее часто используются.
Как следует из названия, датчик Холла работает по принципу «эффекта Холла». Согласно этому закону, «когда проводник или полупроводник с током, текущим в одном направлении, вводился перпендикулярно магнитному полю, напряжение могло быть измерено под прямым углом к пути тока». Используя эту технику, датчик Холла сможет обнаружить присутствие магнита вокруг него. Хватит теории, перейдем к аппаратному обеспечению.
Принципиальная схема и пояснения:
Полную схему подключения датчика Холла к Arduino можно найти ниже.
Как видите, принципиальная схема Arduino датчика холла довольно проста. Но место, где мы обычно делаем ошибки, - это выяснение номеров контактов датчиков Холла. Поместите показания к себе, и первый контакт слева от вас - это Vcc, а затем Ground и Signal соответственно.
Мы собираемся использовать прерывания, как говорилось ранее, поэтому выходной контакт датчика Холла подключен к контакту 2 Arduino. Вывод подключен к светодиоду, который загорается при обнаружении магнита. Я просто выполнил соединения на макетной плате, и после завершения все выглядело примерно так, как показано ниже.
Код Arduino датчика эффекта Холла:
Полный Arduino код всего несколько строк, и его можно найти в нижней части этой страницы, которые могут быть непосредственно загружены на ваш Arduino совет. Если вы хотите узнать, как работает программа, читайте дальше.
У нас есть один вход - датчик и один выход - светодиод. Датчик должен быть подключен как вход прерывания. Итак, внутри нашей функции настройки мы инициализируем эти контакты, а также заставляем контакт 2 работать как прерывание. Здесь вывод 2 называется датчиком Холла, а вывод 3 - светодиодом .
void setup () {pinMode (LED, ВЫХОД); // светодиод - это выходной контакт pinMode (Hall_sensor, INPUT_PULLUP); // Датчик Холла - это входной контакт attachInterrupt (digitalPinToInterrupt (Hall_sensor), toggle, CHANGE); // Второй вывод - это вывод прерывания, который будет вызывать функцию переключения}
При обнаружении прерывания будет вызвана функция переключения, как указано в строке выше. Есть много параметров прерывания, таких как Toggle , Change, Rise, Fall и т. Д., Но в этом руководстве мы обнаруживаем изменение выходного сигнала датчика Холла.
Теперь внутри функции переключения мы используем переменную с именем « state », которая просто изменит свое состояние на 0, если оно уже равно 1, и на 1, если оно уже равно нулю. Таким образом, мы можем включить или выключить светодиод.
void toggle () {состояние =! состояние; }
Наконец, внутри нашей функции цикла нам просто нужно управлять светодиодом. Состояние переменной будет изменяться каждый раз при обнаружении магнита, поэтому мы используем его, чтобы определить, должен ли светодиод оставаться включенным или выключенным.
void loop () {digitalWrite (светодиод, состояние); }
Работа датчика Холла Arduino:
Когда вы будете готовы со своим оборудованием и кодом, просто загрузите код в Arduino. Я использовал батарею на 9 В для питания всей установки, вы можете использовать любой предпочтительный источник питания. Теперь поднесите магнит ближе к датчику, и ваш светодиод загорится, а если вы его уберете, он погаснет.
Примечание. Датчик Холла чувствителен к полюсу, то есть одна сторона датчика может обнаруживать только северный полюс или только южный полюс, но не оба. Поэтому, если вы поднесете южный полюс к поверхности, чувствительной к северу, ваш светодиод не будет светиться.
На самом деле внутри происходит следующее: когда мы приближаем магнит к датчику, датчик меняет свое состояние. Это изменение воспринимается контактом прерывания, который вызывает функцию переключения, внутри которой мы меняем переменную «state» с 0 на 1. Следовательно, светодиод включится. Теперь, когда мы отодвигаем магнит от датчика, выходной сигнал датчика снова изменится. Это изменение снова отмечается нашим оператором прерывания, и, следовательно, переменная «состояние» будет изменена с 1 на 0. Таким образом, светодиод погаснет. То же самое повторяется каждый раз, когда вы подносите магнит близко к датчику.
Полное рабочее видео проекта можно найти ниже. Надеюсь, вы поняли проект и вам понравилось создавать что-то новое. Если в противном случае, пожалуйста, используйте раздел комментариев ниже или форумы для получения помощи.