Srácok, üdvözöllek benneteket a mai bemutatóban. Ma megnézzük, hogyan használhatunk egy Hall-effektus érzékelőt az Arduino-val.

A Hall-effektus érzékelő egy olyan érzékelő, amely a mágneses mező jelenléte vagy hiánya alapján változtatja a kimenetét. Ez azt jelenti, hogy a Hall-effektusú érzékelő által előállított kimeneti jel a körülötte lévő mágneses mező sűrűségének függvénye. Amikor a körülötte lévő mágneses fluxussűrűség meghalad egy bizonyos előre beállított küszöbértéket, az érzékelő érzékeli azt, és egy kimeneti feszültséget generál, amelyet néha Hall-feszültségnek neveznek, hogy jelezze a mágneses mező jelenlétét.

Hall-effektusú érzékelő

A Hall-érzékelők sokoldalúságuk miatt egyre népszerűbbek, és számos különböző alkalmazásban használják őket. A hall-effektus érzékelők egyik népszerű alkalmazása az autóipari rendszerekben van, ahol a pozíció érzékelésére, a távolság és a sebesség mérésére használják őket. A modern eszközökben, például okostelefonokban és számítógépekben is használják őket, valamint különböző típusú kapcsolókban, ahol a mágneses mező jelenlétét használják az áramkör aktiválására vagy deaktiválására.

A Hall-érzékelők az adott érzékelőtől függően analóg vagy digitális kimenetet állítanak elő. Bármelyik típusról legyen is szó, általában három tűs csomagolásban vannak, amelyek közül az egyik tű a jelet képviseli, a másik kettő pedig az érzékelő tápellátását biztosítja. Ez megkönnyíti a csatlakoztatást bármely mikrokontrollerhez.

A mai bemutatóban bemutatjuk, hogyan működik a hall-effektus érzékelő úgy, hogy egy LED mellett egy Arduinóhoz csatlakoztatjuk. Az Arduinót úgy programozzuk, hogy amikor egy mágnest viszünk a hall-effektus érzékelő közelébe, a LED kigyullad, és amikor a mágnest eltávolítjuk, kialszik.

Szükséges komponensek

A projekt megépítéséhez a következő komponensek szükségesek.

  1. Hall effektus érzékelő
  2. Az olcsó Arduino Uno
  3. Breadboard mini
  4. LED
  5. Vezetékek
  6. Mágnesek

A szokásos módon az ehhez a bemutatóhoz használt pontos alkatrészek megvásárolhatók a fent felsorolt összetevőkhöz csatolt linkeken keresztül.

Sémák

Az ehhez a projekthez készült séma egyszerű, mivel csak a csarnokérzékelő három csapját és egy LED-et kell az Arduinóhoz csatlakoztatnunk. Csatlakoztassuk az alkatrészeket az alábbi sematikus ábrán látható módon.

Schematics

A csatlakoztatás az alábbiakban részletesebben le van írva, hogy könnyen követhető legyen.

Hall érzékelő – Arduino

VCC - 5VGND - GNDSIG - D2

A LED közvetlenül az Arduinóhoz csatlakoztatható úgy, hogy a pozitív lábát az Arduino 13-as pinjébe, a másik lábát pedig ellenállás nélkül a földtűbe dugja, mivel az arduino a 13-as pinhez egy belső ellenállással rendelkezik.

A vázlatrajzok elkészültével folytathatjuk a projekt kódját.

Kód

A projekt kódja nagyon egyszerű, csak annyit akarunk tenni, mint korábban említettük, hogy ellenőrizzük, hogy mágneses mezőt érzékelünk-e, és ha igen, kapcsoljuk be a LED-et, ha nem, kikapcsoljuk a LED-et.

A projekt kódjának rövid magyarázatához az első dolog, amit teszünk, az Arduino csapjainak deklarálása, amelyekhez a csarnokérzékelőnk és a LED csatlakozik, majd létrehozunk egy “state” változót, amely tárolja a csarnokérzékelőből származó értéket.

 ////////////////////////////////////////////// // HALL EFFECT SENSOR DEMO // // Author: Nick Koumaris //// http://www.educ8s.tv ///////////////////////////////////////////////int hallSensorPin = 2; int ledPin = 13; int state = 0;

Ezután folytatjuk a void setup funkciót, ahol deklaráljuk az Arduino csapjainak pin módját, amelyekhez a LED és a Hall-érzékelő csatlakozik.

void setup() { pinMode(ledPin, OUTPUT); pinMode(hallSensorPin, INPUT); }

A következő a void loop funkció, a feladat itt ugyanaz, mintha egy nyomógombot szeretnénk használni egy LED vezérlésére egy Arduino közbeiktatásával. Kiolvassuk a csarnokérzékelő kimenetét, és egy állapot nevű változóban tároljuk. Amikor az érték LOW, akkor kapcsoljuk a LED-et, HIGH, és amikor az érték magas, akkor kapcsoljuk a LED-et Low. A csarnokérzékelő konfigurációja eltérő lehet, mivel az érzékelő magasra kapcsolhat, ha mágneses mezőt érzékel. Ezt meg kell erősíteni az érzékelő adatlapján.

void loop(){ state = digitalRead(hallSensorPin); if (state == LOW) { digitalWrite(ledPin, HIGH); } else { digitalWrite(ledPin, LOW); }}

A projekt teljes kódja az alábbiakban látható, és letölthető a bemutató végén található letöltési részből is.

 ////////////////////////////////////////////// // HALL EFFECT SENSOR DEMO // // //// 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

Kópiázza ki a kódot, és töltse fel az Arduino táblára. Látnod kell, hogy a LED átkapcsol, amikor egy mágnest közelítesz hozzá, ahogy az alábbi képen látható.

Demo

Articles

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.