- Materials necessaris:
- Sensors d'efecte Hall:
- Diagrama del circuit i explicació:
- Sensor d'efecte Hall Codi Arduino:
- Funcionament del sensor d'efecte Hall Arduino:
Els sensors sempre han estat un component vital en qualsevol projecte. Aquests són els que converteixen les dades ambientals en temps real en dades digitals / variables perquè es puguin processar mitjançant electrònica. Hi ha molts tipus diferents de sensors disponibles al mercat i podeu seleccionar-ne un segons les vostres necessitats. En aquest projecte aprendrem a utilitzar un sensor Hall, també conegut com a sensor d’efecte Hall, amb Arduino. Aquest sensor és capaç de detectar un imant i també el pol de l’imant.
Per què detectar un imant ?, us podeu preguntar. Doncs hi ha moltes aplicacions que pràcticament utilitzen el sensor d’efecte Hall i és possible que no n’haguem notat mai. Una aplicació habitual d’aquest sensor és mesurar la velocitat de les bicicletes o de qualsevol màquina giratòria. Aquest sensor també s'utilitza en motors BLDC per detectar la posició dels imants del rotor i activar les bobines de l'estator en conseqüència. Les aplicacions són infinites, així que aprenem a interactuar amb el sensor d’efecte Hall Arduino per afegir una altra eina al nostre arsenal. Aquí teniu alguns projectes amb sensor Hall:
- Velocímetre de bricolatge mitjançant Arduino i aplicació de processament d'Android
- Circuit de velocímetre i odòmetre digital mitjançant microcontrolador PIC
- Realitat virtual mitjançant Arduino i Processing
- Mesura de la força del camp magnètic mitjançant Arduino
En aquest tutorial utilitzarem la funció d'interrupcions d'Arduino per detectar l'imant prop del sensor Hall i encendre un LED. La majoria de les vegades el sensor Hall només s’utilitzarà amb les interrupcions a causa de les seves aplicacions en les quals es requereix una alta velocitat de lectura i execució, per tant, també fem servir interrupcions al nostre tutorial.
Materials necessaris:
- Sensor d'efecte Hall (qualsevol versió digital)
- Arduino (Qualsevol versió)
- Resistència de 10k ohm i 1K ohm
- LED
- Connexió de cables
Sensors d'efecte Hall:
Abans d’endinsar-nos en les connexions, hi ha poques coses importants que hauríeu de saber sobre els sensors d’efecte Hall. En realitat, hi ha dos tipus diferents de sensors Hall, un és el sensor Digital Hall i l’altre és el sensor Analog Hall. El sensor digital Hall només pot detectar si hi ha o no un imant (0 o 1), però la sortida d’un sensor analògic hall varia en funció del camp magnètic al voltant de l’imant, és a dir, pot detectar la intensitat o la distància que té l’imant. En aquest projecte només s’apuntarà als sensors digitals de Hall, ja que són els més utilitzats.
Com el seu nom indica, el sensor d'efecte Hall funciona amb el principi d '"efecte Hall". Segons aquesta llei, "quan un conductor o semiconductor amb corrent que circula en una direcció es va introduir perpendicularment a un camp magnètic, es podria mesurar la tensió en angle recte respecte al recorregut del corrent". Mitjançant aquesta tècnica, el sensor de sala podrà detectar la presència d’imants al seu voltant. Prou de teoria entrem en el maquinari.
Diagrama del circuit i explicació:
El diagrama complet del circuit per a la interfície del sensor Hall amb Arduino es pot trobar a continuació.

Com podeu veure, el diagrama del circuit arduino del sensor d’efecte hall és bastant senzill. Però, el lloc on habitualment cometem errors és a l’hora d’esbrinar el nombre de pins dels sensors de sala. Col·loqueu les lectures mirant cap a vosaltres i el primer passador a l'esquerra és Vcc i després Ground i Signal respectivament.
Utilitzarem les interrupcions com s’ha dit anteriorment, per tant, el pin de sortida del sensor Hall està connectat al pin 2 de l’Arduino. El pin està connectat a un LED que s’encén quan es detecta un imant. Simplement he fet les connexions en un tauler d’anàlisi i semblava una mica així un cop finalitzada.

Sensor d'efecte Hall Codi Arduino:
El codi Arduino complet és de poques línies i es pot trobar a la part inferior d’aquesta pàgina, que es pot penjar directament a la vostra placa Arduino. Si voleu saber com funciona el programa, llegiu més.
Tenim una entrada, que és el sensor i una sortida, que és un LED. El sensor s’ha de connectar com a entrada d’interrupció. Així, dins de la nostra funció de configuració , inicialitzem aquests pins i també fem que el Pin 2 funcioni com a interrupció. Aquí el pin 2 s’anomena Hall_sensor i el pin 3 s’anomena LED .
void setup () {pinMode (LED, OUTPUT); // El LED és un pin pinMode de sortida (Hall_sensor, INPUT_PULLUP); // El sensor Hall és el pin d'entrada attachInterrupt (digitalPinToInterrupt (Hall_sensor), toggle, CHANGE); // El pin dos és el pin d'interrupció que cridarà a la funció de commutació}
Quan es detecti una interrupció, es cridarà a la funció de commutació tal com s'esmenta a la línia anterior. Hi ha molts paràmetres d’interrupció com Toggle , Change, Rise, Fall, etc., però en aquest tutorial estem detectant el canvi de sortida del sensor Hall.
Ara dins de la funció de commutació , fem servir una variable anomenada " estat " que només canviarà el seu estat a 0 si ja és 1 i a 1 si ja és zero. D’aquesta manera podem fer que el LED s’encengui o s’APAGI.
void toggle () {state =! state; }
Finalment, dins de la nostra funció de bucle , només hem de controlar el LED. L'estat variable s'alterarà cada vegada que es detecti un imant, per tant, el fem servir per determinar si el LED s'ha de mantenir encès o apagat.
bucle buit () {digitalWrite (LED, estat); }
Funcionament del sensor d'efecte Hall Arduino:
Un cop estigueu a punt amb el vostre maquinari i codi, només cal que pengeu el codi a Arduino. He utilitzat una bateria de 9V per alimentar tota la configuració que podeu utilitzar amb qualsevol font d’energia preferible. Ara apropeu l'imant al sensor i el LED brillarà i, si el traieu, s'apagarà.
Nota: el sensor Hall és sensible al pol, és a dir, un costat del sensor només pot detectar el pol nord o només el pol sud i no els dos. Per tant, si acosteu un pol sud a la superfície de detecció nord, el LED no brillarà.

El que passa realment a l’interior és que quan apropem l’imant al sensor, el sensor canvia d’estat. Aquest canvi és percebut pel pin d'interrupció que cridarà la funció de commutació dins de la qual canviem la variable "estat" de 0 a 1. Per tant, el LED s'encendrà. Ara, quan allunyem l’imant del sensor, canviarà de nou la sortida del sensor. Aquest canvi es torna a notar amb la nostra sentència d'interrupció i, per tant, la variable "estat" canviarà d'1 a 0. Per tant, el LED si està apagat. El mateix es repeteix cada vegada que acosteu un imant al sensor.
El vídeo de treball complet del projecte es pot trobar a continuació. Espero que hàgiu entès el projecte i us hagi agradat construir alguna cosa nova. Si us plau, utilitzeu la secció de comentaris a continuació o els fòrums per obtenir ajuda.
