Tartalomjegyzék:

Arduino Hall Effect érzékelő megszakításokkal: 4 lépés
Arduino Hall Effect érzékelő megszakításokkal: 4 lépés

Videó: Arduino Hall Effect érzékelő megszakításokkal: 4 lépés

Videó: Arduino Hall Effect érzékelő megszakításokkal: 4 lépés
Videó: How to make MAGNETIC FIELD Finder using Hall Effect Sensor with Arduino 2024, Július
Anonim
Image
Image
Mi az a Hall Effect szenzor?
Mi az a Hall Effect szenzor?

Sziasztok, Ma megmutatom, hogyan csatlakoztathat hall -effektus -érzékelőt egy Arduino -hoz, és megszakítással használhatja.

A videóban használt eszközök és anyagok (Társult linkek): Arduino Uno:

Hall -effektus -érzékelők:

Vegyes ellenállások:

1. lépés: Mi az a Hall Effect szenzor?

Mi az a Hall Effect szenzor?
Mi az a Hall Effect szenzor?
Mi az a Hall Effect szenzor?
Mi az a Hall Effect szenzor?
Mi az a Hall Effect szenzor?
Mi az a Hall Effect szenzor?

A Hall -effektus érzékelő egy olyan eszköz, amelyet a mágneses mező nagyságának mérésére használnak. Kimeneti feszültsége egyenesen arányos a rajta keresztül mágneses térerővel.

A Hall -effektus -érzékelőket közelségérzékelésre, helymeghatározásra, sebességérzékelésre és áramérzékelő alkalmazásokra használják.

Az egyik, amellyel ma dolgozni fogok, 3144 címkével van ellátva, amely csarnokhatás -kapcsoló, amelyet elsősorban magas hőmérsékletű és autóipari alkalmazásokhoz használnak. Kimenete alapértelmezés szerint magas, és mágneses mező jelenlétében egyszer alacsony.

Az érzékelőnek 3 érintkezője van, VCC, földelés és kimenet. Ebben a sorrendben azonosíthatja őket, ha az érzékelőt a címkékkel maga felé tartja. A VCC a bal oldalon, a kimenet pedig a jobb oldalon található. A feszültségeltolódás elkerülése érdekében 10k ellenállást használnak a VCC és a kimenet között felhúzó konfigurációban.

2. lépés: Mi a megszakítás?

Mi a megszakítás?
Mi a megszakítás?
Mi a megszakítás?
Mi a megszakítás?

Az érzékelő csatlakoztatásához az Arduino -n egy egyszerű, mégis nagyon hatékony, megszakítás nevű funkciót fogunk használni. A megszakítás feladata annak biztosítása, hogy a processzor gyorsan reagáljon a fontos eseményekre. Amikor egy bizonyos jelet észlel, a megszakítás (ahogy a neve is sugallja) megszakítja a processzor tevékenységét, és végrehajt egy olyan kódot, amely arra reagál, hogy reagáljon az Arduino -ra táplált külső ingerekre. Amint ez a kód befejeződött, a processzor visszatér ahhoz, amit eredetileg tett, mintha mi sem történt volna!

A fantasztikus ebben az, hogy felépíti a rendszert, hogy gyorsan és hatékonyan reagáljon a fontos eseményekre, amelyeket nem könnyű előre látni a szoftverben. A legjobb az egészben, hogy felszabadítja a processzort más műveletek elvégzésére, amíg az esemény megjelenésére vár.

Az Arduino Uno két tűvel rendelkezik, amelyeket megszakításként használhatunk, a 2. és a 3. tűt. A funkciót, amelyet a csap megszakításként való regisztrálására használunk, az attachInterrupt -nak hívjuk, ahol első paraméterként elküldjük a használni kívánt csapot, a második paraméter annak a függvénynek a neve, amelyet megszakítás észlelése után szeretnénk meghívni, és harmadik paraméterként abban a módban küldjük, amelyben a megszakítást működtetni szeretnénk. A videó leírásában található egy link a funkció teljes hivatkozására.

3. lépés: Kapcsolatok és kód

Kapcsolatok és kód
Kapcsolatok és kód
Kapcsolatok és kód
Kapcsolatok és kód
Kapcsolatok és kód
Kapcsolatok és kód

Példánkban a hall effektus érzékelőt az Arduino 2 -es tűjéhez csatlakoztatjuk. A vázlat elején definiáljuk a beépített LED pin számának, a megszakító tűnek és egy bájt változónak a változóit, amelyeket a megszakításon keresztül módosítunk. Döntő fontosságú, hogy ezt ingatagnak jelöljük, hogy a fordító tudja, hogy a megszakításon keresztül a fő programfolyamaton kívül módosítják.

A beállítási funkcióban először a használt csapokon adjuk meg az üzemmódokat, majd csatoljuk a megszakítást az előzőekben leírtak szerint. Egy másik funkció, amelyet itt használunk, a digitalPinToInterrupt, amely a névből következően lefordítja a PIN -számot a megszakítási számra.

A fő módszerben csak írjuk az állapotváltozót a LED -es tűre, és adjunk hozzá egy nagyon kis késleltetést, hogy a processzornak legyen ideje a megfelelő működésre.

Ahol a megszakítást csatoltuk, a villogást adtuk meg második paraméterként, és ez a meghívandó függvény neve. Belül csak megfordítjuk az állapotértéket.

Az attachIntertupt függvény harmadik paramétere az a mód, amelyen működik. Amikor VÁLTOZTATÁSRA van állítva, a villogás funkciót minden alkalommal végrehajtják, amikor a megszakítás állapota megváltozik, tehát egyszer meghívják, amint a mágnest az érzékelő közelébe hozzuk, és újra aktiváljuk, amikor eltávolítjuk. Így a LED világít, miközben a mágnest az érzékelő közelében tartjuk.

Ha most RISING módra változtatjuk a módot, a villogás funkció csak akkor aktiválódik, ha a jel emelkedő széle látható a megszakító csapon. Most, amikor a mágnest közel hozzuk az érzékelőhöz, a LED vagy kialszik, vagy bekapcsol, így alapvetően mágneses kapcsolót készítettünk.

Az utolsó mód, amit megpróbálunk, LOW. Ezzel, amikor a mágnes közel van, a villogás funkció folyamatosan aktiválódik, és a LED villogni kezd, miközben az állapota állandóan inverz. Amikor eltávolítjuk a mágnest, valóban kiszámíthatatlan, hogy az állapot hogyan fog végződni, mivel ez az időzítéstől függ. Ez az üzemmód azonban nagyon hasznos, ha tudnunk kell, hogy mennyi ideig nyomtuk meg a gombot, mivel az időzítési funkciók segítségével megállapíthatjuk ezt.

4. lépés: További műveletek

További műveletek
További műveletek

A megszakítások egyszerű módja annak, hogy a rendszer jobban reagáljon az időérzékeny feladatokra. Ezenkívül további előnyük, hogy felszabadítják a fő `hurkot ()`, hogy a rendszer valamely elsődleges feladatára összpontosítsanak. (Úgy találom, hogy ezáltal kissé rendezettebbé válik a kódom, amikor használom őket - könnyebb látni, hogy mire tervezték a kód fő részét, míg a megszakítások kezelik az időszakos eseményeket.) Az itt látható példa a legtöbb alapvető eset a megszakítás használatához - használhatja őket egy I2C eszköz olvasásához, vezeték nélküli adatok küldéséhez vagy fogadásához, vagy akár a motor beindításához vagy leállításához.

Ha érdekes módon használod a megszakítás vagy a hall -effektusok érzékelőjét, akkor mindenképp tudasd velem a megjegyzésekben, likeold és oszd meg ezt az Instructable -t, és ne felejts el feliratkozni a YouTube -csatornámra, ahol további fantasztikus oktatóanyagokat és projekteket találhatsz jövő.

Gratulálok és köszönöm, hogy megnézted!

Ajánlott: