Índice:
- Etapa 1: O que é um sensor de efeito Hall?
- Etapa 2: O que é uma interrupção?
- Etapa 3: conexões e código
- Etapa 4: Ações adicionais
Vídeo: Sensor de efeito Hall Arduino com interrupções: 4 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:37
Olá a todos, Hoje vou mostrar como você pode conectar um sensor de efeito Hall a um Arduino e usá-lo com uma interrupção.
Ferramentas e materiais usados no vídeo (links de afiliados): Arduino Uno:
Sensores de efeito Hall:
Resistores sortidos:
Etapa 1: O que é um sensor de efeito Hall?
Um sensor de efeito Hall é um dispositivo usado para medir a magnitude de um campo magnético. Sua tensão de saída é diretamente proporcional à intensidade do campo magnético através dele.
Sensores de efeito Hall são usados para aplicações de detecção de proximidade, posicionamento, detecção de velocidade e detecção de corrente.
O que estarei trabalhando hoje é rotulado como 3144, que é um interruptor de efeito Hall usado principalmente para alta temperatura e aplicações automotivas. Sua saída é alta por padrão e baixa quando na presença de um campo magnético.
O sensor possui 3 pinos, VCC, aterramento e saída. Você pode identificá-los nessa ordem se segurar o sensor com as etiquetas voltadas para você. VCC está à esquerda e a saída está à direita. Para evitar qualquer desvio de tensão, um resistor de 10k está sendo usado entre o VCC e a saída em uma configuração pull-up.
Etapa 2: O que é uma interrupção?
Para conectar o sensor ao Arduino, usaremos um recurso simples, mas muito poderoso, chamado Interromper. Um trabalho de interrupção é para garantir que o processador responda rapidamente a eventos importantes. Quando um certo sinal é detectado, uma interrupção (como o nome sugere) interrompe tudo o que o processador está fazendo e executa algum código projetado para reagir a qualquer estímulo externo que está sendo alimentado para o Arduino. Uma vez que o código esteja finalizado, o processador volta ao que estava fazendo originalmente, como se nada tivesse acontecido!
O que é incrível sobre isso é que ele estrutura seu sistema para reagir de forma rápida e eficiente a eventos importantes que não são fáceis de prever no software. O melhor de tudo é que ele libera seu processador para fazer outras coisas enquanto aguarda o aparecimento de um evento.
O Arduino Uno tem dois pinos que podemos usar como interrupções, pino 2 e 3. A função que usamos para registrar o pino como uma interrupção é chamada attachInterrupt, onde como primeiro parâmetro enviamos o pino a ser usado, o segundo parâmetro é o nome da função que queremos chamar assim que uma interrupção for detectada e como um terceiro parâmetro enviamos no modo em que queremos que a interrupção funcione. Há um link na descrição do vídeo para a referência completa dessa função.
Etapa 3: conexões e código
Em nosso exemplo, conectamos o sensor de efeitos Hall ao pino 2 do Arduino. No início do esboço, definimos as variáveis para o número do pino do LED embutido, o pino de interrupção, bem como uma variável de byte que usaremos para modificar através da interrupção. É crucial marcarmos este como volátil para que o compilador possa saber que ele está sendo modificado fora do fluxo do programa principal por meio da interrupção.
Na função de configuração, primeiro especificamos os modos nos pinos usados e, em seguida, anexamos a interrupção conforme explicado anteriormente. Uma outra função que usamos aqui é digitalPinToInterrupt que, como o nome indica, traduz o número do pino para o número da interrupção.
No método principal, apenas escrevemos a variável de estado no pino do LED e adicionamos um pequeno atraso para que o processador tenha tempo para funcionar corretamente.
Onde anexamos a interrupção, especificamos blink como o segundo parâmetro e este é o nome da função a ser chamada. Dentro, apenas invertemos o valor do estado.
O terceiro parâmetro da função attachIntertupt é o modo em que ela opera. Quando o temos como CHANGE, a função de piscar será executada cada vez que o estado de interrupção mudar, então, ela será chamada uma vez quando colocarmos o ímã perto do sensor e acionado novamente quando o removermos. Dessa forma, o LED fica aceso enquanto seguramos o ímã próximo ao sensor.
Se agora mudarmos o modo para RISING, a função de piscar será acionada apenas quando uma borda de subida do sinal for vista no pino de interrupção. Agora, toda vez que aproximamos o ímã do sensor, o LED apaga ou acende, então basicamente fizemos uma chave magnética.
O modo final que vamos tentar é LOW. Com ele, quando o ímã estiver fechado, a função piscar será acionada constantemente e o LED piscará, tendo seu estado sempre invertido. Quando removemos o ímã, é realmente imprevisível como o estado vai acabar, pois isso depende do tempo. No entanto, este modo é realmente útil se precisarmos saber por quanto tempo um botão foi pressionado, pois podemos usar funções de temporização para determinar isso.
Etapa 4: Ações adicionais
As interrupções são uma maneira simples de tornar seu sistema mais responsivo a tarefas urgentes. Eles também têm o benefício adicional de liberar seu `loop ()` principal para se concentrar em alguma tarefa primária no sistema. (Eu acho que isso tende a tornar meu código um pouco mais organizado quando eu os uso - é mais fácil ver para que a parte principal do código foi projetada, enquanto as interrupções lidam com eventos periódicos.) O exemplo mostrado aqui é quase o mais caso básico para usar uma interrupção - você pode usá-los para ler um dispositivo I2C, enviar ou receber dados sem fio, ou até mesmo iniciar ou parar um motor.
Se você tiver um uso interessante de um sensor de interrupção ou de efeitos Hall, deixe-me saber nos comentários, curta e compartilhe este Instructable, e não se esqueça de se inscrever no meu canal do YouTube para mais tutoriais e projetos incríveis no futuro.
Parabéns e obrigado por assistir!
Recomendado:
Conversão do sensor de efeito Hall Logitech 3D Extreme Pro: 9 etapas
Conversão do sensor de efeito Hall Logitech 3D Extreme Pro: O controle do leme no meu joystick estava falhando. Tentei desmontar os potes e limpá-los, mas não adiantou muito. Então comecei a pesquisar potes de reposição e me deparei com alguns sites diferentes de vários anos atrás que se referem a
Raspberry Pi A1332 Precision Hall - Tutorial Java do sensor de ângulo de efeito: 4 etapas
Raspberry Pi A1332 Precision Hall - Sensor de ângulo de efeito Java Tutorial: A1332 é um sensor de posição de ângulo magnético programável de alta resolução de 360 ° sem contato. Ele é projetado para sistemas digitais que usam uma interface I2C. É construído com tecnologia Circular Vertical Hall (CVH) e um sinal baseado em microprocessador programável
Como construir seu próprio anemômetro usando chaves de palheta, sensor de efeito Hall e alguns recados no Nodemcu - Parte 2 - Software: 5 etapas (com fotos)
Como construir seu próprio anemômetro usando interruptores Reed, sensor de efeito Hall e alguns resíduos no Nodemcu - Parte 2 - Software: introdução Esta é a sequência do primeiro post " Como construir seu próprio anemômetro usando interruptores Reed, sensor de efeito Hall e alguns resíduos no Nodemcu - Parte 1 - Hardware " - onde eu mostro como montar a velocidade do vento e medição de direção
Como construir seu próprio anemômetro usando chaves de palheta, sensor de efeito Hall e alguns recados no Nodemcu. - Parte 1 - Hardware: 8 etapas (com imagens)
Como construir seu próprio anemômetro usando chaves de palheta, sensor de efeito Hall e alguns recados no Nodemcu. - Parte 1 - Hardware: Introdução Desde que comecei com os estudos do Arduino e da cultura do Maker, tenho gostado de construir dispositivos úteis usando sucata e pedaços de sucata, como tampas de garrafa, pedaços de PVC, latas de bebida, etc. Adoro dar um segundo vida a qualquer peça ou companheiro
Sensor de efeito Hall no Arduino usando o Fidget Spinner: 3 etapas (com imagens)
Sensor de efeito Hall no Arduino usando o Fidget Spinner: Resumo Neste projeto, estou explicando como o sensor de efeito Hall funciona medindo a velocidade do spinner Fidget com a placa Arduino. funcionando: -Um sensor de efeito Hall é um transdutor que varia sua tensão de saída em resposta a um campo magnético. Efeito Hall