- Необходими материали:
- Сензори за ефект на Хол:
- Електрическа схема и обяснение:
- Код на ефекта на Хола Arduino Код:
- Работа на сензор за ефект на Arduino Hall:
Сензорите винаги са били жизненоважен компонент във всеки проект. Това са тези, които преобразуват данните за околната среда в реално време в цифрови / променливи данни, така че да могат да бъдат обработвани от електрониката. На пазара се предлагат много различни видове сензори и можете да изберете такъв според вашите изисквания. В този проект ще научим как да използваме сензор на Хол, известен още като сензор за ефект на Хол с Arduino. Този сензор е способен да открива магнит, а също и полюса на магнита.
Защо да откривам магнит ?, може да попитате. Е, има много приложения, които на практика използват сензор на Hall Effect и може би никога не сме ги забелязали. Едно често срещано приложение на този сензор е да измерва скоростта на велосипеди или всякакви въртящи се машини. Този сензор се използва и в BLDC двигатели, за да усети положението на роторните магнити и да задейства статорните намотки съответно. Приложенията са безкрайни, така че нека се научим как да свързваме сензора за ефект на Хол Arduino, за да добавим още един инструмент в нашия арсенал. Ето няколко проекта със сензор на Хол:
- Направи си сам скоростомер, използвайки Arduino и приложението за обработка на Android
- Цифрова верига на скоростомера и одометъра с помощта на PIC микроконтролер
- Виртуална реалност, използваща Arduino и обработка
- Измерване на силата на магнитното поле с помощта на Arduino
В този урок ще използваме функцията за прекъсвания на Arduino, за да открием магнита близо до сензора на Хол и да светим светодиод. По-голямата част от времето сензорът на Hall ще се използва само с прекъсвания поради техните приложения, при които се изисква висока скорост на четене и изпълнение, затова нека използваме и прекъсвания в нашия урок.
Необходими материали:
- Сензор за ефект на Хол (всяка цифрова версия)
- Arduino (всяка версия)
- 10k ом и 1K ом резистор
- LED
- Свързване на проводници
Сензори за ефект на Хол:
Преди да се потопим в връзките, има няколко важни неща, които трябва да знаете за сензорите на Hall Effect. Всъщност съществуват два различни типа сензори на Хола, единият е Digital Hall сензор, а другият е Analog Hall сензор. Дигиталният сензор на Hall може да открие само ако има магнит или не (0 или 1), но изходът на аналоговия сензор на Hall варира в зависимост от магнитното поле около магнита, т.е. той може да открие колко силен или колко далеч е магнитът. В този проект ще се цели само цифровите сензори на Хол, тъй като те са най-често използваните.
Както подсказва името, сензорът на Hall Effect работи с принципа на „ефект на Hall“. Съгласно този закон „когато проводник или полупроводник с ток, протичащ в една посока, е бил въведен перпендикулярно на магнитно поле, напрежението може да бъде измерено под прав ъгъл спрямо пътя на тока“. Използвайки тази техника, сензорът на Hall ще може да открие наличието на магнит около него. Стига на теория, нека да влезем в хардуера.
Електрическа схема и обяснение:
Пълната електрическа схема за свързване на сензор на Hall с Arduino може да бъде намерена по-долу.
Както можете да видите, схемата на схемата на сензора за ефект Arduino е доста проста. Но мястото, където често допускаме грешки, е да измислим пиновите номера на сензорите на Хол. Поставете показанията с лице към вас и първият щифт вляво е съответно Vcc и след това земя и сигнал.
Ще използваме прекъсвания, както беше казано по-рано, следователно изходният щифт на сензора на Хол е свързан с щифт 2 на Arduino. Пинът е свързан със светодиод, който ще бъде включен, когато бъде открит магнит. Просто направих връзките на макет и изглеждаше донякъде по-долу след завършване.
Код на ефекта на Хола Arduino Код:
Най- пълен Arduino кодът е само на няколко реда и тя може да се намира в долната част на тази страница, която можете да качите директно към платката. Ако искате да знаете как работи програмата, прочетете по-нататък.
Имаме един вход, който е сензорът и един изход, който е светодиод. Сензорът трябва да бъде свързан като вход за прекъсване. Така че в нашата функция за настройка ние инициализираме тези щифтове и също така караме ПИН 2 да работи като прекъсване. Тук щифт 2 се нарича Hall_sensor, а щифт 3 се нарича LED .
void setup () {pinMode (LED, OUTPUT); // LED е изходен pin pinMode (Hall_sensor, INPUT_PULLUP); // сензорът на Хол е входно закрепване на щифтInterrupt (digitalPinToInterrupt (Hall_sensor), toggle, CHANGE); // Вторият щифт е прекъсващ щифт, който ще извика функцията за превключване}
Когато бъде открито прекъсване, функцията за превключване ще бъде извикана, както е споменато в горния ред. Има много параметри на прекъсвания като Toggle , Change, Rise, Fall и т.н., но в този урок откриваме промяната на изхода от сензора на Hall.
Сега във вътрешността на превключване функция, ние използваме променлива, наречена " състояние ", което просто ще промени състоянието на 0, ако вече 1 и на 1, ако вече нула. По този начин можем да накараме светодиода да се включва или изключва.
void toggle () {състояние =! състояние; }
И накрая вътре в нашата функция на цикъла , ние просто трябва да контролираме светодиода. Променливото състояние ще се променя всеки път, когато бъде открит магнит, поради което го използваме, за да определим дали светодиодът трябва да остане включен или изключен.
void loop () {digitalWrite (LED, състояние); }
Работа на сензор за ефект на Arduino Hall:
След като сте готови с вашия хардуер и код, просто качете кода в Arduino. Използвал съм 9V батерия за захранване на цялата настройка, която можете да използвате всеки предпочитан източник на енергия. Сега приближете магнита близо до сензора и вашият светодиод ще свети и ако го отнемете, той ще се изключи.
Забележка: Датчикът на Хол е чувствителен към полюс, което означава, че едната страна на сензора може да открие само Северния полюс или само Южния полюс, но не и двете. Така че, ако доближите южен полюс близо до северната сензорна повърхност, вашият светодиод няма да свети.
Това, което всъщност се случва вътре е, когато приближим магнита до сензора, сензорът променя състоянието си. Тази промяна се усеща от прекъсващия щифт, който ще извика превключващата функция, вътре в която променяме променливата „състояние“ от 0 на 1. Следователно светодиодът ще се включи. Сега, когато отдалечим магнита от сензора, изходът на сензора отново ще се промени. Тази промяна отново се забелязва от нашето изявление за прекъсване и следователно променливата „състояние“ ще бъде променена от 1 на 0. По този начин светодиодът, ако е изключен. Същото се повтаря всеки път, когато приближите магнит близо до сензора.
В пълен работен видеото на проекта може да се намери по-долу. Надявам се, че сте разбрали проекта и сте се радвали да изградите нещо ново. Ако по друг начин любезно използвайте раздела за коментари по-долу или форумите за помощ.