- Wymagane materiały:
- Czujniki efektu Halla:
- Schemat obwodu i wyjaśnienie:
- Kod czujnika Halla Arduino:
- Działanie czujnika efektu Halla Arduino:
Czujniki zawsze były istotnym elementem każdego projektu. Są to te, które konwertują dane środowiskowe czasu rzeczywistego na dane cyfrowe / zmienne, aby mogły być przetwarzane przez elektronikę. Na rynku dostępnych jest wiele różnych typów czujników i możesz wybrać jeden w zależności od swoich wymagań. W tym projekcie nauczymy się, jak używać czujnika Halla znanego jako czujnik Halla z Arduino. Ten czujnik jest w stanie wykryć magnes, a także biegun magnesu.
Po co wykrywać magnes ?, możesz zapytać. Cóż, jest wiele aplikacji, które praktycznie wykorzystują czujnik Halla i być może nigdy ich nie zauważyliśmy. Jednym z powszechnych zastosowań tego czujnika jest pomiar prędkości w rowerach lub innych maszynach wirujących. Ten czujnik jest również używany w silnikach BLDC do wykrywania położenia magnesów wirnika i odpowiedniego wyzwalania cewek stojana. Zastosowań jest nieskończenie wiele, więc nauczmy się, jak połączyć czujnik efektu Halla Arduino, aby dodać kolejne narzędzie w naszym arsenale. Oto kilka projektów z czujnikiem Halla:
- DIY Prędkościomierz za pomocą Arduino i aplikacji do przetwarzania danych na Androida
- Cyfrowy prędkościomierz i obwód drogomierza za pomocą mikrokontrolera PIC
- Wirtualna rzeczywistość z wykorzystaniem Arduino i przetwarzania
- Pomiar natężenia pola magnetycznego za pomocą Arduino
W tym samouczku użyjemy funkcji przerwań Arduino do wykrycia magnesu w pobliżu czujnika Halla i zaświecenia diody LED. Przez większość czasu czujnik Halla będzie używany tylko z przerwaniami z powodu ich zastosowań, w których wymagany jest wysoki odczyt i szybkość wykonywania, dlatego w naszym tutorialu zastosujmy również przerwania.
Wymagane materiały:
- Czujnik Halla (dowolna wersja cyfrowa)
- Arduino (dowolna wersja)
- Rezystor 10 kiloomów i 1 kiloom
- DOPROWADZIŁO
- Podłączanie przewodów
Czujniki efektu Halla:
Zanim przejdziemy do połączeń, jest kilka ważnych rzeczy, które powinieneś wiedzieć o czujnikach Halla. W rzeczywistości istnieją dwa różne typy czujników Halla, jeden to cyfrowy czujnik Halla, a drugi to analogowy czujnik Halla. Cyfrowy czujnik Halla może wykryć tylko, czy magnes jest obecny, czy nie (0 lub 1), ale wyjście analogowego czujnika Halla zmienia się w zależności od pola magnetycznego wokół magnesu, czyli może wykryć, jak silny lub jak daleko jest magnes. W tym projekcie skupimy się wyłącznie na cyfrowych czujnikach Halla, ponieważ są one najczęściej używane.
Jak nazwa sugeruje, czujnik Halla działa na zasadzie „efektu Halla”. Zgodnie z tym prawem, „gdy przewodnik lub półprzewodnik z prądem płynącym w jednym kierunku został wprowadzony prostopadle do pola magnetycznego, napięcie można było zmierzyć prostopadle do toru prądu”. Dzięki tej technice czujnik Halla będzie w stanie wykryć obecność magnesu wokół niego. Dość teorii, przejdźmy do sprzętu.
Schemat obwodu i wyjaśnienie:
Pełny schemat połączeń dla połączenia czujnika Halla z Arduino można znaleźć poniżej.
Jak widać, schemat obwodu czujnika Halla arduino jest dość prosty. Ale miejscem, w którym często popełniamy błędy, jest ustalanie numerów pinów czujników halla. Umieść odczyty naprzeciw siebie, a pierwszy pin po lewej to odpowiednio Vcc, a następnie Ground i Signal.
Będziemy używać Przerwania, jak powiedziano wcześniej, stąd pin wyjściowy czujnika Halla jest podłączony do Pin 2 Arduino. Kołek jest podłączony do diody LED, która zaświeci się po wykryciu magnesu. Po prostu wykonałem połączenia na płytce stykowej i po zakończeniu wyglądało to trochę tak, jak poniżej.
Kod czujnika Halla Arduino:
Kompletny kod Arduino jest zaledwie kilka wierszy i można go znaleźć na dole tej strony, która może być bezpośrednio przesłany do Arduino Nadzorczej. Jeśli chcesz wiedzieć, jak działa program, przeczytaj dalej.
Mamy jedno wejście, które jest czujnikiem i jedno wyjście, które jest diodą LED. Czujnik należy podłączyć jako wejście przerywające. Więc wewnątrz naszej funkcji konfiguracji inicjalizujemy te szpilki, a także sprawiamy, że Pin 2 działa jako przerwanie. Tutaj pin 2 nazywa się Hall_sensor, a pin 3 nazywa się LED .
void setup () {pinMode (LED, OUTPUT); // LED jest pinMode wyjściowym pinMode (Hall_sensor, INPUT_PULLUP); // Czujnik Halla jest pinem wejściowym dołączonym Przerwanie (digitalPinToInterrupt (Hall_sensor), toggle, CHANGE); // Pin drugi to pin przerwania, który wywoła funkcję toggle}
W przypadku wykrycia przerwania funkcja przełączania zostanie wywołana, jak wspomniano w powyższej linii. Istnieje wiele parametrów przerwań, takich jak przełączanie , zmiana, wzrost, spadek itp., Ale w tym samouczku wykrywamy zmianę sygnału wyjściowego z czujnika Halla.
Teraz w funkcji toggle używamy zmiennej o nazwie „ stan ”, która po prostu zmieni swój stan na 0, jeśli już 1, i na 1, jeśli już jest zerem. W ten sposób możemy włączyć lub wyłączyć diodę LED.
void toggle () {stan =! stan; }
Wreszcie, wewnątrz naszej funkcji pętli , musimy tylko kontrolować diodę LED. Stan zmiennej będzie się zmieniał za każdym razem, gdy zostanie wykryty magnes, dlatego używamy go do określenia, czy dioda LED powinna pozostać włączona, czy wyłączona.
void loop () {digitalWrite (LED, stan); }
Działanie czujnika efektu Halla Arduino:
Gdy będziesz gotowy ze sprzętem i kodem, po prostu prześlij kod do Arduino. Do zasilania całego zestawu użyłem baterii 9V, możesz użyć dowolnego preferowanego źródła zasilania. Teraz zbliż magnes do czujnika, a dioda LED zaświeci się, a jeśli ją zabierzesz, zgaśnie.
Uwaga: czujnik Halla jest wrażliwy na biegun, co oznacza, że jedna strona czujnika może wykrywać tylko biegun północny lub tylko biegun południowy, a nie oba. Jeśli więc zbliżysz biegun południowy do powierzchni wykrywania północy, dioda LED nie będzie świecić.
To, co faktycznie dzieje się w środku, to kiedy zbliżamy magnes do czujnika, czujnik zmienia swój stan. Ta zmiana jest wyczuwana przez pin przerwania, który wywoła funkcję toggle, wewnątrz której zmieniamy zmienną „stan” z 0 na 1. W ten sposób dioda LED zaświeci się. Teraz, gdy odsuniemy magnes od czujnika, ponownie zmieni się moc wyjściowa czujnika. Ta zmiana jest ponownie zauważana przez naszą instrukcję przerwania i stąd zmienna „stan” zostanie zmieniona z 1 na 0. Tak więc dioda LED, jeśli jest wyłączona. To samo powtarza się za każdym razem, gdy zbliżasz magnes do czujnika.
Kompletny wideo roboczego projektu można znaleźć poniżej. Mam nadzieję, że zrozumiałeś projekt i podobało Ci się tworzenie czegoś nowego. Jeśli w inny sposób, skorzystaj z sekcji komentarzy poniżej lub na forach, aby uzyskać pomoc.