Obsah:

Senzor Hallova efektu Arduino s přerušením: 4 kroky
Senzor Hallova efektu Arduino s přerušením: 4 kroky

Video: Senzor Hallova efektu Arduino s přerušením: 4 kroky

Video: Senzor Hallova efektu Arduino s přerušením: 4 kroky
Video: Winson WCS1800 WCS2750 WCS1500 Hall Effect Current Sensor with dispaly with over current protection 2024, Prosinec
Anonim
Image
Image
Co je snímač s Hallovým efektem?
Co je snímač s Hallovým efektem?

Ahoj všichni, Dnes vám ukážu, jak můžete připojit snímač halového efektu k Arduinu a používat jej s přerušením.

Nástroje a materiály použité ve videu (odkazy na partnery): Arduino Uno:

Senzory Hallova efektu:

Různé rezistory:

Krok 1: Co je snímač s Hallovým efektem?

Co je snímač s Hallovým efektem?
Co je snímač s Hallovým efektem?
Co je snímač s Hallovým efektem?
Co je snímač s Hallovým efektem?
Co je snímač s Hallovým efektem?
Co je snímač s Hallovým efektem?

Senzor Hallova jevu je zařízení, které se používá k měření velikosti magnetického pole. Jeho výstupní napětí je přímo úměrné síle magnetického pole, které jím prochází.

Senzory s Hallovým efektem se používají pro aplikace snímání blízkosti, polohování, detekce rychlosti a snímání proudu.

Ten, se kterým budu dnes pracovat, je označen jako 3144, což je přepínač s Hallovým efektem, který se používá především pro vysokoteplotní a automobilové aplikace. Jeho výstup je ve výchozím nastavení vysoký a jednou klesá v přítomnosti magnetického pole.

Senzor má 3 piny, VCC, zem a výstup. V tomto pořadí je můžete identifikovat, pokud držíte senzor štítky směrem k sobě. VCC je vlevo a výstup je na pravé straně. Aby se zabránilo jakémukoli driftu napětí, je mezi VCC a výstupem použit 10k rezistor v pull-up konfiguraci.

Krok 2: Co je přerušení?

Co je přerušení?
Co je přerušení?
Co je přerušení?
Co je přerušení?

Pro připojení senzoru k Arduinu použijeme jednoduchou, ale velmi výkonnou funkci s názvem Interrupt. Úkolem přerušení je zajistit, aby procesor rychle reagoval na důležité události. Když je detekován určitý signál, Přerušení (jak název napovídá) přeruší cokoli, co procesor dělá, a spustí nějaký kód navržený tak, aby reagoval na jakýkoli vnější podnět, který je přiváděn do Arduina. Jakmile je tento kód zabalen, procesor se vrátí k tomu, co původně dělal, jako by se nic nestalo!

Úžasné na tom je, že strukturuje váš systém tak, aby reagoval rychle a efektivně na důležité události, které nelze v softwaru snadno předvídat. Nejlepší ze všeho je, že uvolní váš procesor pro provádění dalších věcí, zatímco čeká na událost, která se objeví.

Arduino Uno má dva piny, které můžeme použít jako přerušení, pin 2 a 3. Funkce, kterou používáme k registraci pinu jako přerušení, se nazývá attachInterrupt, kde jako první parametr posíláme pin, který má být použit, druhý parametr je název funkce, kterou chceme volat, jakmile je detekováno přerušení, a jako třetí parametr odesíláme v režimu, ve kterém chceme, aby přerušení fungovalo. V popisu videa je odkaz na úplný odkaz na tuto funkci.

Krok 3: Připojení a kód

Připojení a kód
Připojení a kód
Připojení a kód
Připojení a kód
Připojení a kód
Připojení a kód

V našem příkladu připojíme snímač Hallových efektů ke kolíku 2 na Arduinu. Na začátku skici definujeme proměnné pro počet pinů vestavěné LED diody, kolík přerušení a bajtovou proměnnou, kterou použijeme k modifikaci prostřednictvím přerušení. Je důležité, abychom tento označili jako těkavý, aby kompilátor věděl, že se mění mimo hlavní tok programu přes přerušení.

Ve funkci nastavení nejprve specifikujeme režimy na použitých pinech a poté připojíme přerušení, jak bylo vysvětleno dříve. Jedna další funkce, kterou zde používáme, je digitalPinToInterrupt, která, jak název napovídá, překládá číslo PIN na číslo přerušení.

V hlavní metodě jen napíšeme stavovou proměnnou na LED pin a přidáme velmi malé zpoždění, aby měl procesor čas pracovat správně.

Tam, kde jsme připojili přerušení, jsme jako druhý parametr určili blikání a toto je název funkce, která se má volat. Uvnitř jen převrátíme hodnotu stavu.

Třetím parametrem funkce attachIntertupt je režim, ve kterém funguje. Když to máme jako ZMĚNU, funkce blikání bude spuštěna pokaždé, když se stav přerušení změní, takže bude jednou vyvolána, jakmile se magnet přiblíží k senzoru a spustí se znovu, jakmile jej odstraníme. Tímto způsobem LED svítí, zatímco držíme magnet blízko senzoru.

Pokud nyní změníme režim na RISING, funkce blikání se spustí pouze tehdy, když je na kolíku přerušení vidět stoupající hrana signálu. Nyní pokaždé, když přitáhneme magnet k senzoru, LED buď zhasne nebo se rozsvítí, takže jsme v podstatě vytvořili magnetický spínač.

Poslední režim, který zkusíme, je NÍZKÝ. S ním, když je magnet blízko, bude funkce blikání neustále spuštěna a LED bude blikat, přičemž jeho stav bude neustále invertován. Když magnet odstraníme, je opravdu nepředvídatelné, jak stav skončí, protože to závisí na načasování. Tento režim je však opravdu užitečný, pokud potřebujeme vědět, jak dlouho bylo tlačítko stisknuto, protože k tomu můžeme použít funkce časování.

Krok 4: Další akce

Další akce
Další akce

Přerušení jsou jednoduchým způsobem, jak zajistit, aby váš systém lépe reagoval na úkoly citlivé na čas. Mají také tu výhodu, že uvolní vaši hlavní `smyčku ()`, aby se mohla soustředit na nějaký primární úkol v systému. (Zjistil jsem, že to má za následek, že je můj kód trochu organizovanější, když je používám - je snazší zjistit, k čemu byl navržen hlavní kus kódu, zatímco přerušení zpracovávají periodické události.) Zde uvedený příklad je asi nejvíce základní případ použití přerušení - můžete je použít ke čtení zařízení I2C, odesílání nebo přijímání bezdrátových dat nebo dokonce ke spuštění nebo zastavení motoru.

Pokud máte zajímavé využití přerušení nebo senzoru Hallových efektů, určitě mi dejte vědět v komentářích, lajkujte a sdílejte tento Instructable a nezapomeňte se přihlásit k odběru mého kanálu YouTube, kde získáte další úžasné návody a projekty v budoucnost.

Na zdraví a díky za sledování!

Doporučuje: