fbpixel
Etiquetas:
5
(3)

O sensor magnético linear de efeito Hall KY-024 reage na presença de um campo magnético. Está equipado com um potenciómetro para ajustar a sensibilidade do sensor e fornece duas saídas analógicas e digitais.

Material

  • Computador
  • Arduino UNO
  • Cabo USB A Macho/B Macho
  • Módulo sensor Hall KY-024

Princípio funcional

O módulo KY-024 consiste num sensor de efeito Hall linear SS49E e um duplo comparador diferencial LM393, um potenciómetro BOCHEN 3296). O comparador acoplado ao potenciómetro permite comparar o valor do sensor com um valor limiar, a fim de utilizar o sensor como um sensor “tudo ou nada”. Dois leds estão presentes no módulo. O led1 indica que o sensor é fornecido com tensão e o led2 indica que é detectado um campo magnético.

Esquema

O sensor de corredor tem uma saída analógica e uma digital. A saída analógica retorna uma imagem da medição e a saída digital retorna um estado alto ou baixo, dependendo do limiar dado pelo potenciómetro. Pode utilizar um ou outro de acordo com a sua candidatura. O módulo pode ser alimentado pela saída de 5V do microcontrolador.

Código

Para testar o sensor, vamos ler a saída digital e mostrar a saída analógica. Assim, utilizamos as funções de leitura analógica e de leitura digital.

//initiation des pins
int ledPin = 13; //pin pour la LED
int digitalPin = 2; //pin pour le capteur
int analogPin = A0; //pin pour le capteur
int digitalVal;
int analogVal;


void setup()
{
  Serial.begin(9600); // vitesse de transmission
  pinMode(ledPin, OUTPUT); //la pin est en sortie
  pinMode(digitalPin, INPUT); //la pin est en entrée
}

void loop()
{
  digitalVal = digitalRead(digitalPin);
  if (digitalVal == HIGH) //condition "si" : la valeur numérique est au niveau haut
  {
    digitalWrite(ledPin, HIGH); //alors la led s'allume
  }
  else
  {
    digitalWrite(ledPin, LOW); // sinon la led s'éteint ou reste éteinte
  }
  analogVal = analogRead(analogPin);
  Serial.println(analogVal); //afficher la valeur analogique
  delay(100); //délai 100ms
}

Para passar o valor analógico a um valor físico, pode usar a função de mapa()

//transforme la valeur de 0 à 1023 vers 0 à 5V
int volt=map(analogVal, 0, 1023, 0, 5);

//transforme la valeur lue en Gauss
int gss = map(volt, 1, 4, -1000, 1000);

Resultado

Se mover um íman para e longe do sensor, deverá ver o LED acender e apagar e o valor do sensor mudar.

Aplicações

  • Construir um medidor de Gauss para fazer medições do campo magnético.

Fontes

How useful was this post?

Click on a star to rate it!

Average rating 5 / 5. Vote count: 3

No votes so far! Be the first to rate this post.

As you found this post useful...

Follow us on social media!

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?