Spisu treści:

Czujnik Halla Arduino z przerwaniami: 4 kroki
Czujnik Halla Arduino z przerwaniami: 4 kroki

Wideo: Czujnik Halla Arduino z przerwaniami: 4 kroki

Wideo: Czujnik Halla Arduino z przerwaniami: 4 kroki
Wideo: Kurs Arduino odc. 24: Czujnik Hall-a A3144 2024, Lipiec
Anonim
Image
Image
Co to jest czujnik Halla?
Co to jest czujnik Halla?

Cześć wszystkim, Dzisiaj pokażę, jak podłączyć czujnik z efektem Halla do Arduino i używać go z przerwaniem.

Narzędzia i materiały użyte w filmie (linki partnerskie):Arduino Uno:

Czujniki efektu Halla:

Różne rezystory:

Krok 1: Co to jest czujnik Halla?

Co to jest czujnik Halla?
Co to jest czujnik Halla?
Co to jest czujnik Halla?
Co to jest czujnik Halla?
Co to jest czujnik Halla?
Co to jest czujnik Halla?

Czujnik Halla to urządzenie, które służy do pomiaru wielkości pola magnetycznego. Jego napięcie wyjściowe jest wprost proporcjonalne do natężenia pola magnetycznego przez niego.

Czujniki z efektem Halla są używane do wykrywania zbliżeniowego, pozycjonowania, wykrywania prędkości i wykrywania prądu.

Ten, z którym będę dzisiaj pracował, jest oznaczony jako 3144, który jest przełącznikiem efektu Halla używanym głównie do zastosowań w wysokich temperaturach i w motoryzacji. Jego moc wyjściowa jest domyślnie wysoka i obniża się raz w obecności pola magnetycznego.

Czujnik posiada 3 piny, VCC, masę i wyjście. Możesz je zidentyfikować w tej kolejności, trzymając czujnik z etykietami do siebie. VCC znajduje się po lewej stronie, a wyjście po prawej stronie. Aby zapobiec dryfowi napięcia, rezystor 10k jest używany między VCC a wyjściem w konfiguracji podciągającej.

Krok 2: Co to jest przerwanie?

Co to jest przerwanie?
Co to jest przerwanie?
Co to jest przerwanie?
Co to jest przerwanie?

Aby podłączyć czujnik do Arduino, użyjemy prostej, ale bardzo wydajnej funkcji o nazwie Interrupt. Zadanie przerwania polega na upewnieniu się, że procesor szybko reaguje na ważne zdarzenia. Po wykryciu określonego sygnału przerwanie (jak sama nazwa wskazuje) przerywa wszystko, co robi procesor, i wykonuje kod zaprojektowany w celu reagowania na każdy zewnętrzny bodziec podawany do Arduino. Gdy kod się zakończy, procesor wraca do tego, co pierwotnie robił, tak jakby nic się nie stało!

Niesamowite w tym jest to, że struktura systemu umożliwia szybkie i wydajne reagowanie na ważne zdarzenia, które nie są łatwe do przewidzenia w oprogramowaniu. Co najważniejsze, zwalnia procesor do wykonywania innych czynności, podczas gdy czeka na pojawienie się wydarzenia.

Arduino Uno ma dwa piny, które możemy wykorzystać jako przerwania, pin 2 i 3. Funkcja, której używamy do zarejestrowania pinu jako przerwania, nazywa się attachInterrupt, gdzie jako pierwszy parametr wysyłamy pin do użycia, drugi parametr to nazwę funkcji, którą chcemy wywołać po wykryciu przerwania i jako trzeci parametr wysyłamy w trybie, w którym chcemy, aby przerwanie działało. W opisie filmu znajduje się link do pełnego opisu tej funkcji.

Krok 3: Połączenia i kod

Połączenia i kod
Połączenia i kod
Połączenia i kod
Połączenia i kod
Połączenia i kod
Połączenia i kod

W naszym przykładzie podłączamy czujnik efektów Halla do pinu 2 w Arduino. Na początku szkicu definiujemy zmienne dla numeru pinu wbudowanej diody LED, pinu przerwania oraz zmiennej bajtowej, której użyjemy do modyfikacji poprzez przerwanie. Ważne jest, abyśmy oznaczyli to jako ulotne, aby kompilator wiedział, że jest modyfikowany poza głównym przepływem programu przez przerwanie.

W funkcji konfiguracji najpierw określamy tryby na użytych pinach, a następnie dołączamy przerwanie, jak wyjaśniono wcześniej. Inną funkcją, której tutaj używamy, jest digitalPinToInterrupt, która jak sama nazwa wskazuje, tłumaczy numer pinu na numer przerwania.

W głównej metodzie po prostu zapisujemy zmienną stanu na pinie LED i dodajemy bardzo małe opóźnienie, aby procesor miał czas na prawidłowe działanie.

Tam, gdzie dołączyliśmy przerwanie, określiliśmy blink jako drugi parametr i jest to nazwa funkcji do wywołania. Wewnątrz po prostu odwracamy wartość stanu.

Trzecim parametrem funkcji attachIntertupt jest tryb, w którym działa. Kiedy mamy to jako CHANGE, funkcja migania będzie wykonywana za każdym razem, gdy zmieni się stan przerwania, więc zostanie wywołana raz, gdy zbliżymy magnes do czujnika i uruchomiona ponownie, gdy go usuniemy. W ten sposób dioda LED świeci, gdy trzymamy magnes blisko czujnika.

Jeśli teraz zmienimy tryb na WZNOSZĄCY, funkcja migania zostanie uruchomiona tylko wtedy, gdy zbocze narastające sygnału będzie widoczne na styku przerwania. Teraz za każdym razem, gdy zbliżamy magnes do czujnika, dioda LED albo się wyłącza, albo włącza, więc w zasadzie zrobiliśmy przełącznik magnetyczny.

Ostatnim trybem, który wypróbujemy, jest LOW. Dzięki niemu, gdy magnes jest blisko, funkcja migania będzie stale uruchamiana, a dioda LED będzie migotać, mając cały czas odwrócony stan. Kiedy usuniemy magnes, jest naprawdę nieprzewidywalne, jak skończy się stan, ponieważ zależy to od czasu. Jednak ten tryb jest naprawdę przydatny, jeśli musimy wiedzieć, jak długo przycisk był wciśnięty, ponieważ możemy to określić za pomocą funkcji pomiaru czasu.

Krok 4: Dalsze działania

Dalsze działania
Dalsze działania

Przerwania to prosty sposób na to, aby system lepiej reagował na zadania, w których liczy się czas. Mają też dodatkową zaletę zwolnienia głównej funkcji `loop()`, aby można było skoncentrować się na jakimś podstawowym zadaniu w systemie. (Uważam, że to sprawia, że mój kod jest trochę bardziej zorganizowany, gdy z nich korzystam - łatwiej jest zobaczyć, do czego został zaprojektowany główny fragment kodu, podczas gdy przerwania obsługują zdarzenia okresowe). Przykład pokazany tutaj jest prawie najbardziej podstawowa obudowa do użycia przerwań - możesz ich użyć do odczytu urządzenia I2C, wysyłania lub odbierania danych bezprzewodowych, a nawet uruchamiania lub zatrzymywania silnika.

Jeśli masz interesujące zastosowanie czujnika przerwań lub efektów halowych, daj mi znać w komentarzach, polub i udostępnij ten Instruktaż, i nie zapomnij zasubskrybować mojego kanału na YouTube, aby uzyskać więcej niesamowitych samouczków i projektów w przyszły.

Pozdrawiam i dzięki za oglądanie!

Zalecana: