- Potřebné materiály:
- Hallovy snímače:
- Schéma zapojení a vysvětlení:
- Hallův snímač Arduino kód:
- Čidlo Arduino Hall Effect pracuje:
Senzory byly vždy důležitou součástí každého projektu. Jedná se o ty, které převádějí údaje o životním prostředí v reálném čase na digitální / proměnná data, aby je bylo možné zpracovat elektronikou. Na trhu je k dispozici mnoho různých typů senzorů a můžete si vybrat jeden podle svých požadavků. V tomto projektu se naučíme, jak používat Hallův senzor aka Hallův efektový snímač s Arduino. Tento senzor je schopen detekovat magnet a také pól magnetu.
Proč detekovat magnet ?, můžete se zeptat. Existuje spousta aplikací, které prakticky používají snímač Hall Effect, a možná bychom si je nikdy nevšimly. Jednou z běžných aplikací tohoto snímače je měření rychlosti na kolech nebo jakýchkoli rotačních strojích. Tento snímač se také používá v motorech BLDC ke snímání polohy magnetů rotoru a odpovídajícímu spínání statorových cívek. Aplikace jsou nekonečné, takže pojďme se naučit, jak rozhraní Hall Hall senzor Arduino přidat další nástroj v našem arzenálu. Zde je několik projektů s Hallovým senzorem:
- DIY rychloměr pomocí Arduina a zpracování aplikace pro Android
- Digitální obvod rychloměru a počítadla kilometrů pomocí mikrokontroléru PIC
- Virtuální realita pomocí Arduina a zpracování
- Měření síly magnetického pole pomocí Arduina
V tomto tutoriálu použijeme funkci přerušení Arduina k detekci magnetu poblíž Hallova senzoru a rozsvícení LED. Většinu času Hallův senzor bude používán pouze s Interrupts kvůli jejich aplikacím, ve kterých je vyžadována vysoká rychlost čtení a provádění, proto využijme také přerušení v našem tutoriálu.
Potřebné materiály:
- Hall Effect Sensor (libovolný digitální verison)
- Arduino (libovolná verze)
- 10k ohm a 1K ohm rezistor
- VEDENÝ
- Připojení vodičů
Hallovy snímače:
Než se ponoříme do připojení, je několik důležitých věcí, které byste měli vědět o senzorech Hall Effect. Ve skutečnosti existují dva různé typy Hallových senzorů, jeden je digitální Hallovo čidlo a druhý je analogový Hallovo čidlo. Digitální Hallovo čidlo dokáže detekovat pouze přítomnost nebo nepřítomnost magnetu (0 nebo 1), ale výstup analogového Hallova čidla se liší podle magnetického pole kolem magnetu, což znamená, že dokáže detekovat, jak silný nebo jak daleko je magnet. V tomto projektu bude zaměřen pouze na digitální Hallovy senzory, protože jsou nejčastěji používanými.
Jak název napovídá, snímač Hall Effect pracuje na principu „Hall Effect “. Podle tohoto zákona „když byl vodič nebo polovodič s proudem proudícím v jednom směru zaveden kolmo na magnetické pole, bylo možné měřit napětí v pravém úhlu k dráze proudu“. Pomocí této techniky bude halový senzor schopen detekovat přítomnost magnetu kolem něj. Dost teorie, pojďme na hardware.
Schéma zapojení a vysvětlení:
Kompletní schéma zapojení pro propojení Hallova snímače s Arduinem najdete níže.
Jak vidíte, schéma zapojení arduino snímače Hallova jevu je velmi jednoduché. Ale místo, kde běžně děláme chyby, je zjišťování počtu pinů Hallových senzorů. Umístěte odečty směrem k sobě a první kolík nalevo je Vcc, poté Ground a Signal.
Budeme používat přerušení, jak již bylo řečeno, proto je výstupní kolík Hallova snímače připojen k kolíku 2 Arduina. Pin je připojen k LED, která se rozsvítí, když je detekován magnet. Jednoduše jsem provedl spojení na prkénku a po dokončení to vypadalo nějak takto níže.
Hallův snímač Arduino kód:
Kompletní Arduino kód je jen pár řádků a lze jej nalézt v dolní části této stránky, které lze přímo načíst do Arduino radě. Pokud chcete vědět, jak program funguje, přečtěte si dále.
Máme jeden vstup, kterým je senzor, a jeden výstup, který je LED. Senzor musí být připojen jako vstup přerušení. Takže uvnitř naší funkce nastavení inicializujeme tyto piny a také necháme Pin 2 fungovat jako přerušení. Zde se pin 2 nazývá Hall_sensor a pin 3 se nazývá LED .
void setup () {pinMode (LED, OUTPUT); // LED je výstupní pin pinMode (Hall_sensor, INPUT_PULLUP); // Hallův senzor je vstupní pin attachInterrupt (digitalPinToInterrupt (Hall_sensor), přepnout, ZMĚNIT); // Pin two is interrupt pin which will call toggle function}
Když je detekováno přerušení, bude volána funkce přepínání, jak je uvedeno na výše uvedeném řádku. Existuje mnoho parametrů přerušení, jako je Toggle , Change, Rise, Fall atd., Ale v tomto tutoriálu detekujeme změnu výstupu z Hallova senzoru.
Nyní uvnitř přepínací funkce používáme proměnnou nazvanou „ state “, která pouze změní svůj stav na 0, pokud již 1, a na 1, pokud již nulu. Tímto způsobem můžeme LED rozsvítit nebo zhasnout.
void toggle () {state =! state; }
Konečně uvnitř naší funkce smyčky musíme jen ovládat LED. Stav proměnné se změní pokaždé, když je detekován magnet, a proto jej používáme k určení, zda by LED měla zůstat rozsvícená nebo zhasnutá.
void loop () {digitalWrite (LED, state); }
Čidlo Arduino Hall Effect pracuje:
Jakmile budete připraveni na hardware a kód, nahrajte kód do Arduina. K napájení celého nastavení jsem použil 9V baterii, můžete použít jakýkoli preferovaný zdroj energie. Nyní přiveďte magnet blízko k senzoru a vaše LED bude svítit, a pokud ji odeberete, zhasne.
Poznámka: Hallův snímač je citlivý na póly, což znamená, že jedna strana snímače může detekovat pouze severní pól nebo pouze jižní pól, a ne obojí. Pokud tedy přivedete jižní pól blízko k severní snímací ploše, vaše LED nebude svítit.
Ve skutečnosti se uvnitř děje to, že když přivedeme magnet blízko k senzoru, senzor změní svůj stav. Tato změna je snímána přerušovacím kolíkem, který zavolá funkci přepínání, uvnitř které měníme proměnnou „state“ z 0 na 1. LED se tedy rozsvítí. Nyní, když posuneme magnet od snímače, opět se změní výstup snímače. Tuto změnu si opět všimne naše prohlášení o přerušení, a proto se proměnná „state“ změní z 1 na 0. Tedy LED, pokud zhasne. Totéž se opakuje pokaždé, když přiblížíte magnet k senzoru.
Kompletní pracovní Video projektu lze nalézt níže. Doufám, že jste pochopili projekt a bavilo vás stavět něco nového. Pokud jinak laskavě použijte nápovědu v sekci komentáře níže nebo ve fórech.