Serwisy partnerskie:
Close icon
Serwisy partnerskie

Użycie czujnika Halla z Arduino

Czujnik hallotronowy przetwarza natężenie pola magnetycznego w sygnał elektryczny. Oznacza to, że sygnał wyjściowy wytwarzany przez czujnik efektu Halla jest funkcją natężenia pola magnetycznego wokół niego. Kiedy strumień magnetyczny wokół niego przekroczy pewną wcześniej ustawioną wartość progową, czujnik wykrywa to i generuje napięcie wyjściowe zwane czasem napięciem Halla.
Article Image

Czujnik Halla

Czujniki Halla stają się bardzo popularne ze względu na wszechstronność ich zastosowań. Jednym z popularnych zastosowań czujników hallotronowych jest motoryzacja, gdzie służą one do wykrywania pozycji, pomiaru odległości i prędkości. Są one również stosowane w nowoczesnych urządzeniach, takich jak smartfony i komputery, a także w różnego rodzaju przełącznikach, gdzie obecność pola magnetycznego jest wykorzystywana do aktywacji lub dezaktywacji obwodu.

Czujniki Halla mają wyjście analogowe lub cyfrowe. Niezależnie od typu, są one zazwyczaj montowane w obudowach z trzema wyprowadzeniami - jednym sygnałowym i dwoma zasilającymi. Ułatwia to podłączenie do dowolnego mikrokontrolera.

W tym projekcie zademonstrujemy jak działa czujnik Halla, podłączając go wraz z diodą LED do Arduino, które zostanie zaprogramowane w taki sposób, aby dioda LED zaświeciła się przy zbliżeniu magnesu do czujnika i zgasła po odsunięciu magnesu.

Schemat

Schemat tego projektu jest prosty, ponieważ wszystko co musimy zrobić to podłączyć trzy piny czujnika Halla i diodę LED do Arduino. Podłącz elementy tak jak pokazano na poniższym schemacie.

Schemat połączenia czujnika do Arduino

Poniżej opisano połączenia, aby ułatwić ich śledzenie.

Połączenie czujnika Halla z Arduino
Czujnik Halla
Arduino
VCC
5V
SIG
D2
GND
GND

Dioda LED może być podłączona bezpośrednio do Arduino z dodatnią nóżką do pinu 13 Arduino i drugą nóżką podłączoną do pinu masy bez rezystora, ponieważ Arduino ma wewnętrzny rezystor podłączony do pinu 13.

Mając gotowy schemat, możemy przejść do kodu tego projektu.

Kod

Kod dla tego projektu jest naprawdę prosty, wszystko co chcemy zrobić, jak wcześniej wspomniałem, to sprawdzić czy pole magnetyczne jest wyczuwane i jeśli tak, włączyć diodę LED, jeśli nie, wyłączamy diodę LED.

Najpierw deklarujemy piny Arduino, do których podłączony jest nasz czujnik Halla i dioda LED, następnie tworzymy zmienną "state, która będzie przechowywać wartość z czujnika Halla.

//////////////////////////////////////////////
//                                          //
//        DEMO CZUJNIKA EFEKTU HALLA        //
//          HALL EFFECT SENSOR DEMO         //
//           Autor: Nick Koumaris           //
//           http://www.educ8s.tv           //
//                                          //
//////////////////////////////////////////////

int hallSensorPin = 2;

int ledPin = 13;

int state = 0;

 

Następnie przechodzimy do funkcji void setup, w której deklarujemy tryb pinów Arduino, do których podłączone są dioda LED oraz czujnik Halla.

void setup() {

 pinMode(ledPin, OUTPUT);

 pinMode(hallSensorPin, INPUT);

}

Następnie funkcja pętli void. Jej zadanie jest takie samo jak gdybyśmy chcieli użyć przycisku do włączania diody LED umieszczonego między Arduino i diodą LED. Odczytujemy wyjście z czujnika Halla i zapisujemy w zmiennej o nazwie state. Gdy wartość jest LOW, włączamy LED, HIGH, a gdy wartość jest wysoka, włączamy LED Low. Konfiguracja Twojego czujnika Halla może być inna, ponieważ czujnik może włączać się w stanie High po wykryciu pola magnetycznego. Należy to sprawdzić na karcie katalogowej czujnika.

void loop(){




 state = digitalRead(hallSensorPin);

 if (state == LOW) {

 digitalWrite(ledPin, HIGH);

 }

 else {

 digitalWrite(ledPin, LOW);

 }

}

 

Kompletny kod tego projektu jest pokazany poniżej, a także dostępny do pobrania w sekcji download na końcu tego artykułu.

//////////////////////////////////////////////
//                                          //
//        DEMO CZUJNIKA EFEKTU HALLA        //
//           http://www.educ8s.tv           //
//                                          //
//////////////////////////////////////////////

int hallSensorPin = 2;

int ledPin = 13;

int state = 0;

void setup() {

 pinMode(ledPin, OUTPUT);

 pinMode(hallSensorPin, INPUT);

}

void loop(){




 state = digitalRead(hallSensorPin);

 if (state == LOW) {

 digitalWrite(ledPin, HIGH);

 }

 else {

 digitalWrite(ledPin, LOW);

 }

}

Demo

Skopiuj kod i załaduj go do swojej płytki Arduino. Powinieneś zobaczyć, jak dioda LED przełącza się po zbliżeniu do niej magnesu, jak pokazano na poniższym obrazku.

Opis

Jeśli masz jakieś pytania dotyczące tego projektu, nie wahaj się ich zadać w sekcji komentarzy do tego projektu.

Wykaz elementów
Ilość
Symbol
Nazwa/opis/gdzie kupić
1
 
Magnes
Wideo
Do pobrania
Download icon Listingi do czujnika Halla do Arduino

Artykuł USING A HALL EFFECT SENSOR WITH ARDUINO opracowano w wersji polskiej na podstawie współpracy z portalem www.electronics-lab.com.

AUTOR
Źródło
www.electronics-lab.com
Udostępnij
UK Logo