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ż używane 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.
Poniżej opisano połączenia, aby ułatwić ich śledzenie.
Dioda LED może być podłączona bezpośrednio do Arduino 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.