- Potrebné materiály:
- Hallove snímače:
- Schéma zapojenia a vysvetlenie:
- Hallův snímač Arduino kód:
- Hall Hall Effect Sensor pracuje:
Senzory boli vždy dôležitou súčasťou každého projektu. Jedná sa o tie, ktoré prevádzajú údaje o životnom prostredí v reálnom čase na digitálne / variabilné údaje, aby ich bolo možné spracovať elektronikou. Na trhu je k dispozícii veľa rôznych typov senzorov a môžete si zvoliť jeden podľa svojich požiadaviek. V tomto projekte sa naučíme, ako používať Hallov snímač aka Hallov snímač s Arduino. Tento snímač je schopný detekovať magnet a tiež pól magnetu.
Prečo detekovať magnet ?, Môžete sa opýtať. Existuje veľa aplikácií, ktoré prakticky využívajú snímač Hall Effect a možno by sme si ich nikdy nevšimli. Jednou z bežných aplikácií tohto snímača je meranie rýchlosti na bicykloch alebo akýchkoľvek rotujúcich strojoch. Tento snímač sa tiež používa v motoroch BLDC na snímanie polohy magnetov rotora a na zodpovedajúce spustenie statorových cievok. Aplikácií je neúrekom, poďme sa teda naučiť, ako prepojiť Hall Hall s efektovým senzorom Arduino a pridať tak ďalší nástroj do nášho arzenálu. Tu je niekoľko projektov s Hallovým senzorom:
- DIY rýchlomer pomocou Arduina a spracovania aplikácie pre Android
- Obvod digitálneho tachometra a počítadla kilometrov pomocou mikrokontroléra PIC
- Virtuálna realita pomocou Arduina a spracovania
- Meranie sily magnetického poľa pomocou Arduina
V tomto tutoriále použijeme funkciu prerušenia Arduina na detekciu magnetu v blízkosti Hallovho senzora a rozsvietenie LED. Hallov senzor sa väčšinou bude používať iba s prerušeniami kvôli ich aplikáciám, v ktorých sa vyžaduje vysoká rýchlosť čítania a vykonávania, a preto v našom výučbe tiež používajme prerušenia.
Potrebné materiály:
- Hall Effect Sensor (akýkoľvek digitálny verison)
- Arduino (ľubovoľná verzia)
- 10k ohm a 1K ohm rezistor
- LED
- Pripojenie drôtov
Hallove snímače:
Predtým, ako sa ponoríme do spojení, je treba o senzoroch Hall Effect vedieť niekoľko dôležitých vecí. V skutočnosti existujú dva rôzne typy Hallových senzorov, jeden je digitálny Hallov snímač a druhý je analógový Hallov snímač. Digitálny Hallov snímač dokáže detekovať, iba ak je alebo nie je prítomný magnet (0 alebo 1), ale výstup analógového Hallovho snímača sa líši v závislosti od magnetického poľa okolo magnetu, vďaka čomu dokáže zistiť, aký silný alebo aký je magnet. V tomto projekte sa zameriame iba na digitálne Hallove snímače, ktoré sú najbežnejšie používanými snímačmi.
Ako naznačuje názov, snímač Hall Effect pracuje na princípe „Hall Effect“. Podľa tohto zákona „keď bol vodič alebo polovodič s prúdom prúdiacim jedným smerom zavedený kolmo na magnetické pole, bolo možné merať napätie v pravom uhle k prúdovej ceste“. Pomocou tejto techniky bude Hallov senzor schopný detekovať prítomnosť magnetu v jeho okolí. Dosť bolo teórie, poďme na hardvér.
Schéma zapojenia a vysvetlenie:
Kompletnú schému zapojenia Hallovho senzora s Arduino nájdete nižšie.
Ako môžete vidieť, schéma zapojenia senzora hallovho efektu arduino je dosť jednoduchá. Miesto, kde bežne robíme chyby, je však zisťovanie počtu pinov Hallových senzorov. Položte namerané hodnoty smerom k sebe a prvý kolík naľavo je Vcc, potom Ground a Signal.
Budeme používať prerušenia, ako už bolo povedané, preto je výstupný kolík Hallovho snímača pripojený k kolíku 2 Arduina. Pin je pripojený k LED, ktorá sa rozsvieti, keď je detekovaný magnet. Jednoducho som spojil na doske a po dokončení to nižšie vyzeralo nejako takto.
Hallův snímač Arduino kód:
Kompletné Arduino kód je len pár riadkov a možno ho nájsť v dolnej časti tejto stránky, ktoré možno priamo načítať do Arduino rade. Ak chcete vedieť, ako program funguje, prečítajte si ďalej.
Máme jeden vstup, ktorý je snímačom a jeden výstup, ktorý je LED. Senzor musí byť pripojený ako vstup prerušenia. Takže v rámci našej funkcie nastavenia tieto piny inicializujeme a tiež zaistíme, aby Pin 2 fungoval ako prerušenie. Tu sa pin 2 nazýva Hall_sensor a pin 3 LED .
void setup () {pinMode (LED, OUTPUT); // LED je výstupný pin pinMode (Hall_sensor, INPUT_PULLUP); // Hallov senzor je vstupný kolík attachInterrupt (digitalPinToInterrupt (Hall_sensor), prepínač, ZMENA); // Pin dva je prerušovací pin, ktorý zavolá funkciu prepínania}
Keď sa zistí prerušenie, bude sa volať funkcia prepínania, ako je uvedené v riadku vyššie. Existuje veľa parametrov prerušenia ako Toggle , Change, Rise, Fall atď., Ale v tomto tutoriále zisťujeme zmenu výstupu z Hallovho senzora.
Teraz vnútri prepínací funkciu, použijeme premennú s názvom " štát ", ktorý bude len zmeniť svoj stav na hodnotu 0, ak je už 1 a 1 ak už nulové. Týmto spôsobom môžeme zapnúť alebo vypnúť LED diódu.
void toggle () {state =! state; }
Nakoniec vo vnútri našej funkcie slučky musíme iba ovládať LED. Stav premennej sa zmení zakaždým, keď sa zistí magnet, a preto ho používame na určenie, či má LED dióda zostať rozsvietená alebo zhasnutá.
void loop () {digitalWrite (LED, stav); }
Hall Hall Effect Sensor pracuje:
Keď budete hotoví s hardvérom a kódom, jednoducho nahrajte kód do Arduina. Na napájanie celého nastavenia som použil 9V batériu, môžete použiť akýkoľvek preferovaný zdroj energie. Teraz priblížte magnet k senzoru a vaša LED bude svietiť, a ak ho vyberiete, zhasne.
Poznámka: Hallový snímač je citlivý na pól, čo znamená, že jedna strana snímača dokáže detekovať iba severný alebo iba južný pól a nie obidve. Takže ak priblížite južný pól k severnej snímacej ploche, vaša LED nebude svietiť.
Čo sa vlastne deje vo vnútri, je to, že keď priblížime magnet k senzoru, senzor zmení svoj stav. Túto zmenu vycíti prerušovací kolík, ktorý zavolá funkciu prepínania, vnútri ktorej meníme premennú „stav“ z 0 na 1. Preto sa rozsvieti LED. Teraz, keď oddialime magnet od snímača, opäť sa zmení výstup snímača. Túto zmenu si opäť všimne náš príkaz prerušenia, a preto sa premenná „state“ zmení z 1 na 0. LED teda bude vypnutá. To isté sa opakuje zakaždým, keď priblížite magnet k senzoru.
Kompletné pracovné Video projekte možno nájsť nižšie. Dúfam, že ste pochopili projekt a potešilo vás budovanie niečoho nového. Ak inak láskavo použite pomoc v sekcii komentárov alebo vo fórach.