- Materiais requisitados:
- Sensores de efeito Hall:
- Diagrama de circuito e explicação:
- Código do Arduino do sensor de efeito Hall:
- Sensor de efeito Hall Arduino funcionando:
Os sensores sempre foram um componente vital em qualquer projeto. São eles que convertem os dados ambientais em tempo real em dados digitais / variáveis para que possam ser processados eletronicamente. Existem muitos tipos diferentes de sensores disponíveis no mercado e você pode selecionar um com base em seus requisitos. Neste projeto, aprenderemos como usar um sensor Hall, também conhecido como sensor de efeito Hall, com o Arduino. Este sensor é capaz de detectar um ímã e também o pólo do ímã.
Por que detectar um ímã ?, você pode perguntar. Bem, existem muitas aplicações que praticamente usam sensor de efeito Hall e talvez nunca tenhamos notado. Uma aplicação comum desse sensor é para medir a velocidade em bicicletas ou qualquer máquina rotativa. Este sensor também é usado em motores BLDC para detectar a posição dos ímãs do rotor e acionar as bobinas do estator de acordo. As aplicações são infinitas, então vamos aprender como fazer a interface Hall com o sensor de efeito Arduino para adicionar outra ferramenta em nosso arsenal. Aqui estão alguns projetos com sensor Hall:
- Velocímetro DIY usando Arduino e aplicativo de processamento para Android
- Velocímetro digital e circuito de odômetro usando microcontrolador PIC
- Realidade virtual usando Arduino e processamento
- Medição de intensidade de campo magnético usando Arduino
Neste tutorial, usaremos a função de interrupções do Arduino para detectar o ímã próximo ao sensor Hall e acender um LED. Na maioria das vezes, o sensor Hall será usado apenas com interrupções por causa de suas aplicações em que é necessária alta velocidade de leitura e execução, portanto, vamos usar também interrupções em nosso tutorial.
Materiais requisitados:
- Sensor de efeito Hall (qualquer versão digital)
- Arduino (qualquer versão)
- Resistor de 10k ohm e 1k ohm
- CONDUZIU
- Fios de conexão
Sensores de efeito Hall:
Antes de mergulharmos nas conexões, existem algumas coisas importantes que você deve saber sobre os sensores de efeito Hall. Na verdade, existem dois tipos diferentes de sensores Hall, um deles é o sensor Digital Hall e o outro é o sensor analógico Hall. O sensor Hall digital só pode detectar se um ímã está presente ou não (0 ou 1), mas a saída de um sensor Hall analógico varia de acordo com o campo magnético ao redor do ímã, ou seja, ele pode detectar a força ou a distância do ímã. Neste projeto visarei apenas os sensores digitais Hall por serem os mais utilizados.
Como o nome sugere, o sensor de efeito Hall trabalha com o princípio de “efeito Hall”. De acordo com esta lei, “quando um condutor ou semicondutor com corrente fluindo em uma direção foi introduzido perpendicular a um campo magnético, uma tensão poderia ser medida em ângulos retos com o caminho da corrente”. Usando esta técnica, o sensor Hall será capaz de detectar a presença de um ímã ao seu redor. Chega de teoria, vamos entrar no hardware.
Diagrama de circuito e explicação:
O diagrama de circuito completo para fazer a interface do sensor Hall com o Arduino pode ser encontrado abaixo.
Como você pode ver, o diagrama do circuito do Arduino do sensor de efeito Hall é bastante simples. Mas, o lugar onde comumente cometemos erros é descobrir os números dos pinos dos sensores hall. Coloque as leituras voltadas para você e o primeiro pino à sua esquerda é o Vcc e, a seguir, Terra e Sinal, respectivamente.
Usaremos interrupções conforme dito anteriormente, portanto, o pino de saída do sensor Hall está conectado ao pino 2 do Arduino. O pino é conectado a um LED que será ligado quando um ímã for detectado. Eu simplesmente fiz as conexões em uma placa de ensaio e parecia um pouco assim abaixo, uma vez concluída.
Código do Arduino do sensor de efeito Hall:
O código Arduino completo tem apenas algumas linhas e pode ser encontrado na parte inferior desta página, que pode ser carregado diretamente para sua placa Arduino. Se você quiser saber como o programa funciona, leia mais.
Temos uma entrada, que é o sensor, e uma saída, que é um LED. O sensor deve ser conectado como uma entrada de interrupção. Portanto, dentro de nossa função de configuração , inicializamos esses pinos e também fazemos o pino 2 funcionar como uma interrupção. Aqui o pino 2 é chamado Hall_sensor e o pino 3 é chamado LED .
void setup () {pinMode (LED, OUTPUT); // LED é um pino de saída pinMode (Hall_sensor, INPUT_PULLUP); // O sensor Hall é o pino de entrada attachInterrupt (digitalPinToInterrupt (Hall_sensor), toggle, CHANGE); // O pino dois é o pino de interrupção que chamará a função de alternância}
Quando houver uma interrupção detectada, a função de alternância será chamada conforme mencionado na linha acima. Existem muitos parâmetros de interrupção, como Toggle , Change, Rise, Fall etc., mas neste tutorial estamos detectando a mudança de saída do sensor Hall.
Agora dentro da função toggle , usamos uma variável chamada “ state ” que apenas mudará seu estado para 0 se já for 1 e para 1 se já for zero. Desta forma podemos fazer o LED LIGAR ou DESLIGAR.
void toggle () {estado =! estado; }
Finalmente, dentro da nossa função de loop , só temos que controlar o LED. O estado variável será alterado cada vez que um ímã for detectado, portanto, o usamos para determinar se o LED deve permanecer ligado ou desligado.
void loop () {digitalWrite (LED, estado); }
Sensor de efeito Hall Arduino funcionando:
Quando estiver pronto com seu Hardware e Código, basta fazer o upload do Código para o Arduino. Usei uma bateria de 9 V para alimentar toda a configuração, você pode usar qualquer fonte de alimentação de sua preferência. Agora, aproxime o ímã do sensor e seu LED brilhará e se você retirá-lo, ele se apagará.
Observação: o sensor Hall é sensível ao pólo, o que significa que um lado do sensor pode detectar apenas o pólo norte ou apenas o pólo sul e não ambos. Portanto, se você aproximar um pólo sul da superfície de detecção norte, seu LED não acenderá.
O que realmente acontece lá dentro é que, quando aproximamos o ímã do sensor, o sensor muda de estado. Essa mudança é detectada pelo pino de interrupção que chamará a função de alternância dentro da qual alteramos a variável “estado” de 0 para 1. Portanto, o LED acenderá. Agora, quando movemos o ímã para longe do sensor, novamente a saída do sensor mudará. Esta mudança é novamente observada por nossa instrução de interrupção e, portanto, a variável “estado” será alterada de 1 para 0. Assim, o LED se Desligado. O mesmo se repete toda vez que você aproxima um ímã do sensor.
O vídeo completo de trabalho do projeto pode ser encontrado abaixo. Espero que você tenha entendido o projeto e gostado de construir algo novo. Caso contrário, use a seção de comentários abaixo ou os fóruns para obter ajuda.