Obsah:

Senzor Hallovho efektu Arduino s prerušeniami: 4 kroky
Senzor Hallovho efektu Arduino s prerušeniami: 4 kroky

Video: Senzor Hallovho efektu Arduino s prerušeniami: 4 kroky

Video: Senzor Hallovho efektu Arduino s prerušeniami: 4 kroky
Video: Двухпроводная схема управления скоростью вращения вентилятора 5 В на микросхеме таймера 555 2024, November
Anonim
Image
Image
Čo je snímač Hallovho efektu?
Čo je snímač Hallovho efektu?

Ahoj všetci, Dnes vám ukážem, ako môžete k Arduinu pripojiť snímač Hallovho efektu a používať ho s prerušením.

Nástroje a materiály použité vo videu (odkazy na pobočky): Arduino Uno:

Senzory Hallovho efektu:

Rôzne rezistory:

Krok 1: Čo je snímač Hallovho efektu?

Čo je snímač Hallovho efektu?
Čo je snímač Hallovho efektu?
Čo je snímač Hallovho efektu?
Čo je snímač Hallovho efektu?
Čo je snímač Hallovho efektu?
Čo je snímač Hallovho efektu?

Senzor s Hallovým efektom je zariadenie, ktoré sa používa na meranie veľkosti magnetického poľa. Jeho výstupné napätie je priamo úmerné jeho sile.

Senzory s Hallovým efektom sa používajú na aplikácie snímania blízkosti, polohy, detekcie rýchlosti a snímania prúdu.

Ten, s ktorým budem dnes pracovať, je označený ako 3144, čo je spínač s Hallovým efektom, ktorý sa používa predovšetkým pre vysokoteplotné a automobilové aplikácie. Jeho výkon je predvolene vysoký a v prítomnosti magnetického poľa sa raz zníži.

Senzor má 3 piny, VCC, uzemnenie a výstup. V tomto poradí ich môžete identifikovať, ak držíte senzor štítkami smerom k sebe. VCC je vľavo a výstup je na pravej strane. Aby sa zabránilo posunu napätia, medzi VCC a výstupom sa používa 10k odpor, ktorý je v pull-up konfigurácii.

Krok 2: Čo je prerušenie?

Čo je prerušenie?
Čo je prerušenie?
Čo je prerušenie?
Čo je prerušenie?

Na pripojenie senzora k Arduinu použijeme jednoduchú, ale veľmi výkonnú funkciu s názvom Interrupt. Úlohou prerušenia je zabezpečiť, aby procesor rýchlo reagoval na dôležité udalosti. Keď je detegovaný určitý signál, prerušenie (ako naznačuje názov) preruší čokoľvek, čo procesor robí, a vykoná nejaký kód navrhnutý tak, aby reagoval na akýkoľvek vonkajší stimul, ktorý je privádzaný do Arduina. Akonáhle je tento kód zabalený, procesor sa vráti k tomu, čo pôvodne robil, akoby sa nič nestalo!

Úžasné na tom je, že štruktúruje váš systém tak, aby reagoval rýchlo a efektívne na dôležité udalosti, ktoré nie je ľahké v softvéri predvídať. Najlepšie zo všetkého je, že uvoľní váš procesor pre ďalšie činnosti, zatiaľ čo čaká na príchod udalosti.

Arduino Uno má dva piny, ktoré môžeme použiť ako prerušenia, pin 2 a 3. Funkcia, ktorú používame na registráciu kolíka ako prerušenia, sa nazýva attachInterrupt, kde ako prvý parameter posielame pin, ktorý sa má použiť, druhý parameter je je zistený názov funkcie, ktorú chceme zavolať po prerušení, a ako tretí parameter odosielame v režime, v ktorom chceme, aby prerušenie fungovalo. V popise videa je odkaz na úplnú referenciu na túto funkciu.

Krok 3: Pripojenia a kód

Pripojenia a kód
Pripojenia a kód
Pripojenia a kód
Pripojenia a kód
Pripojenia a kód
Pripojenia a kód

V našom prípade pripojíme snímač Hallových efektov k pinu 2 na Arduine. Na začiatku náčrtu definujeme premenné pre počet pinov vstavanej LED diódy, kolík prerušenia a tiež bajtovú premennú, ktorú použijeme na úpravu prostredníctvom prerušenia. Je dôležité, aby sme to označili ako prchavé, aby kompilátor vedel, že sa modifikuje mimo hlavného toku programu cez prerušenie.

Vo funkcii nastavenia najskôr špecifikujeme režimy na použitých kolíkoch a potom pripojíme prerušenie, ako bolo vysvetlené vyššie. Jednou z ďalších funkcií, ktoré tu používame, je digitalPinToInterrupt, ktorý, ako naznačuje názov, prekladá číslo PIN na číslo prerušenia.

V hlavnej metóde napíšeme stavovú premennú na pin LED a pridáme veľmi malé oneskorenie, aby mal procesor čas pracovať správne.

Tam, kde sme pripojili prerušenie, sme ako druhý parameter uviedli blikanie a toto je názov funkcie, ktorú treba volať. Vnútri len prevrátime hodnotu štátu.

Tretím parametrom funkcie attachIntertupt je režim, v ktorom funguje. Keď to máme ako ZMENU, funkcia blikania sa spustí zakaždým, keď sa zmení stav prerušenia, takže sa to raz zavolá, keď sa magnet priblížime k senzoru, a znova sa spustí, keď ho odstránime. Týmto spôsobom svieti LED dióda, zatiaľ čo držíme magnet v blízkosti senzora.

Ak teraz zmeníme režim na RISING, funkcia blikania sa spustí iba vtedy, keď je na kolíku prerušenia vidieť stúpajúcu hranu signálu. Teraz, keď priblížime magnet k senzoru, dióda LED sa buď vypne alebo zapne, takže sme v podstate urobili magnetický spínač.

Posledný režim, ktorý vyskúšame, je NÍZKY. Keď je magnet zatvorený, funkcia blikania sa bude neustále spúšťať a LED dióda bliká, pričom je jej stav neustále obrátený. Keď odstránime magnet, je skutočne nepredvídateľné, ako stav skončí, pretože to závisí od načasovania. Tento režim je však skutočne užitočný, ak potrebujeme vedieť, ako dlho bolo tlačidlo stlačené, pretože na to môžeme použiť funkcie časovania.

Krok 4: Ďalšie opatrenia

Ďalšie opatrenia
Ďalšie opatrenia

Prerušenia sú jednoduchým spôsobom, ako zaistiť, aby váš systém lepšie reagoval na úlohy citlivé na čas. Majú tiež ďalšiu výhodu v uvoľnení vašej hlavnej `slučky ()`, aby sa mohli zamerať na niektoré primárne úlohy v systéme. (Zistil som, že vďaka tomu je môj kód pri ich použití trocha organizovanejší - je jednoduchšie pochopiť, na čo bol hlavný kus kódu navrhnutý, zatiaľ čo prerušenia zvládajú pravidelné udalosti.) Tu uvedený príklad je asi najviac základný prípad použitia prerušenia - môžete ich použiť na čítanie zariadenia I2C, odosielanie alebo prijímanie bezdrôtových dát alebo dokonca štartovanie alebo zastavovanie motora.

Ak máte zaujímavé využitie prerušenia alebo senzora Hallových efektov, dajte mi vedieť v komentároch, dajte like a zdieľajte tento návod a nezabudnite sa prihlásiť na odber môjho kanála YouTube, kde nájdete ďalšie úžasné návody a projekty v budúcnosť.

Na zdravie a ďakujem za sledovanie!

Odporúča: