Датчики Холла - это датчики, которые вырабатывают электрический сигнал на выходе, когда он вступает в контакт с магнитным полем. Аналоговая величина электрического сигнала на выходе датчика является функцией силы магнитного поля. В наши дни датчики Холла используются повсюду, они используются по разным причинам и во всех типах устройств, от мобильных телефонов до переключателей, для измерения скорости, положения и расстояния в автомобилях и других продуктах автомобильной промышленности. Такая универсальность датчика Холла делает их незаменимыми для производителей и инженеров-электриков, поэтому сегодня я покажу нам, как использовать датчик Холла в проекте на основе Raspberry Pi.
Вы можете в любое время ознакомиться с другими нашими проектами, основанными на датчиках Холла, включая взаимодействие датчика Холла с Arduino.
Необходимые компоненты
Для создания этого проекта требуются следующие компоненты / части;
- Малина пи 2 или 3
- SD-карта (минимум 8 ГБ)
- Датчик эффекта Холла
- Перемычки
- Макеты
- Кабель LAN
- Источник питания
Некоторые дополнительные части, которые могут быть использованы, включают:
- Монитор
- Клавиатура и Мышь
- Кабель HDMI
- Wi-Fi ключ
Это руководство будет основано на ОС Raspbian stretch, поэтому, чтобы продолжить, я предполагаю, что вы знакомы с настройкой Raspberry Pi с ОС Raspbian stretch и знаете, как подключиться к Raspberry Pi по SSH с помощью программного обеспечения терминала, такого как putty. Если у вас есть проблемы с чем-либо из этого, на этом веб-сайте есть множество руководств по Raspberry Pi, которые могут помочь.
Для тех, кто будет устанавливать Raspbian stretch OS впервые, одна проблема, которую я обнаружил у большинства людей, - это попадание в Raspberry Pi через ssh. Следует отметить, что ssh изначально отключен в ОС, и вам понадобится либо монитор, чтобы его включить, либо параметры конфигурации raspberry pi, либо вы создаете пустой файл с именем ssh на своем компьютере с Windows или Linux и копируете пустой файл в корневой каталог SD-карты. Вам нужно будет вставить SD-тележку в слот для SDd-карты вашего компьютера, чтобы скопировать на нее.
Использование второго метода больше подходит для тех, кто запускает пи в режиме без головы. Когда все детали готовы, мы можем приступить к строительству.
Принципиальная электрическая схема:
Для использования датчика Холла с Raspberry Pi подключите компоненты в соответствии со схемой ниже.
Датчик Холла, используемый в этом руководстве, может выдавать на выходе как аналоговые, так и цифровые значения. Но, чтобы упростить руководство, я решил использовать цифровое значение, потому что для использования аналогового выхода потребуется подключение АЦП к Raspberry Pi.
Код Python и рабочее объяснение:
Код Python для этого проекта датчика Холла очень простой, все, что нам нужно сделать, это прочитать выходной сигнал датчика Холла и соответственно включить или выключить светодиод. Светодиод должен быть включен, если обнаружен магнит, и должен быть выключен в противном случае.
Включите Raspberry Pi и SSH с помощью замазки (если подключен в режиме без головы, как я). Как обычно в большинстве моих проектов, я создаю каталог внутри домашнего каталога, где хранится все о каждом проекте, поэтому для этого проекта мы создадим каталог с именем hall . Обратите внимание, что это просто личные предпочтения, чтобы все было организовано.
Создайте каталог, используя;
mkdir hallsensor
Измените каталог в новый только что созданный каталог и откройте редактор для создания скрипта Python, используя;
датчик холла cd
с последующим;
нано hallsensorcode.py
Как только редактор откроется, мы вводим код проекта. Я сделаю краткое описание кода, чтобы показать ключевые концепции, и после этого будет доступен полный код Python.
Мы начинаем код с импорта библиотеки RPI.GPIO, которая позволяет нам писать сценарии Python для взаимодействия с выводами GPIO Raspberry Pi.
импортировать RPi.GPIO как gpio
Затем мы устанавливаем конфигурацию нумерации для GPIO Rpi, которую мы хотели бы использовать, и отключаем предупреждения GPIO, чтобы разрешить свободное выполнение кода.
gpio.setmode (gpio.BCM) gpio.setwarnings (Ложь)
Затем мы устанавливаем декларацию контактов GPIO, к которым подключен светодиод и цифровой выход датчика Холла, в соответствии с выбранной нумерацией BCM.
прищепка = 2 шпилька = 3
Затем мы настраиваем контакты GPIO как вход или выход. Контакт, к которому подключен светодиод, устанавливается как выход, а тот, к которому подключен датчик Холла, - как вход.
gpio.setup (hallpin, gpio.IN) gpio.setup (ledpin, gpio.OUT)
Сделав это, мы напишем основную часть кода, которая является в то время как цикл, который постоянно оценивает выходной сигнал от датчика Холла и светодиод загорается, если магнит обнаружен и выключает светодиод, когда магнит не обнаружен.
while True: if (gpio.input (hallpin) == False): gpio.output (ledpin, True) print («магнит обнаружен») else: gpio.output (ledpin, False) print («магнитное поле не обнаружено»)
Полный питон код с демо - видео приводится в конце проекта.
Скопируйте и сохраните код и выйдите из редактора после его ввода using;
CTRL + X, за которым следует y .
После сохранения еще раз просмотрите свои соединения и запустите скрипт python, используя;
sudo python hallsensorcode.py
Когда скрипт запущен, всякий раз, когда магнит или что-нибудь магнитное приближается к датчику Холла, светодиод загорается, как показано на изображении ниже.
От язычковых переключателей для умного дома до спидометров для велосипеда - есть несколько супер крутых вещей, которые можно создать с помощью этого учебника в основе. Не стесняйтесь поделиться любым проектом, который вы планируете создать, в разделе комментариев ниже.
Все проверяют наши предыдущие проекты на основе датчиков Холла:
- Сделай сам спидометр с использованием Arduino и Android-приложения для обработки данных
- Цепь цифрового спидометра и одометра с использованием микроконтроллера PIC
- Виртуальная реальность с использованием Arduino и обработки
- Измерение напряженности магнитного поля с использованием Arduino