- Matériaux nécessaires:
- Capteurs à effet Hall:
- Schéma de circuit et explication:
- Code Arduino du capteur à effet Hall:
- Capteur à effet Hall Arduino fonctionnant:
Les capteurs ont toujours été un élément essentiel de tout projet. Ce sont ceux qui convertissent les données environnementales en temps réel en données numériques / variables afin qu'elles puissent être traitées par l'électronique. Il existe de nombreux types de capteurs disponibles sur le marché et vous pouvez en sélectionner un en fonction de vos besoins. Dans ce projet, nous allons apprendre à utiliser un capteur Hall aka capteur à effet Hall avec Arduino. Ce capteur est capable de détecter un aimant ainsi que le pôle de l'aimant.
Pourquoi détecter un aimant ?, Vous pouvez demander. Eh bien, il existe de nombreuses applications qui utilisent pratiquement un capteur à effet Hall et nous ne les aurons peut-être jamais remarquées. Une application courante de ce capteur est de mesurer la vitesse des vélos ou de toute machine rotative. Ce capteur est également utilisé dans les moteurs BLDC pour détecter la position des aimants du rotor et déclencher les bobines du stator en conséquence. Les applications sont infinies, alors apprenons à interfacer le capteur à effet Hall Arduino pour ajouter un autre outil dans notre arsenal. Voici quelques projets avec capteur Hall:
- Compteur de vitesse bricolage utilisant Arduino et traitement de l'application Android
- Compteur de vitesse numérique et circuit d'odomètre utilisant le microcontrôleur PIC
- Réalité virtuelle utilisant Arduino et traitement
- Mesure de la force du champ magnétique à l'aide d'Arduino
Dans ce tutoriel, nous utiliserons la fonction d'interruptions d'Arduino pour détecter l'aimant près du capteur Hall et allumer une LED. La plupart du temps, le capteur à effet Hall ne sera utilisé qu'avec les interruptions en raison de leurs applications dans lesquelles une vitesse de lecture et d'exécution élevée est requise, utilisons donc également les interruptions dans notre tutoriel.
Matériaux nécessaires:
- Capteur à effet Hall (toute version numérique)
- Arduino (toute version)
- Résistance 10k ohms et 1K ohms
- LED
- Connexion des fils
Capteurs à effet Hall:
Avant de plonger dans les connexions, il y a peu de choses importantes que vous devez savoir sur les capteurs à effet Hall. Il existe en fait deux types différents de capteurs à effet Hall, l' un est un capteur numérique à effet Hall et l'autre un capteur analogique à effet Hall. Le capteur numérique à effet Hall ne peut détecter que si un aimant est présent ou non (0 ou 1), mais la sortie d'un capteur à effet Hall analogique varie en fonction du champ magnétique autour de l'aimant, c'est-à-dire qu'il peut détecter la puissance ou la distance de l'aimant. Dans ce projet ne visera que les capteurs numériques à effet Hall car ce sont les plus couramment utilisés.
Comme son nom l'indique, le capteur à effet Hall fonctionne avec le principe de «l'effet Hall». Selon cette loi, «lorsqu'un conducteur ou semi-conducteur avec un courant circulant dans une direction est introduit perpendiculairement à un champ magnétique, une tension peut être mesurée perpendiculairement au trajet du courant». Grâce à cette technique, le capteur à effet Hall pourra détecter la présence d'aimant autour de lui. Assez de théorie, passons au matériel.
Schéma de circuit et explication:
Le schéma de circuit complet pour l' interfaçage du capteur Hall avec Arduino se trouve ci-dessous.
Comme vous pouvez le voir, le schéma de circuit du capteur à effet hall arduino est assez simple. Mais, le lieu où nous faisons souvent des erreurs est de déterminer les numéros de broches des capteurs à effet Hall. Placez les lectures face à vous et la première broche sur votre gauche est le Vcc, puis la masse et le signal respectivement.
Nous allons utiliser les interruptions comme indiqué précédemment, par conséquent, la broche de sortie du capteur Hall est connectée à la broche 2 de l'Arduino. La broche est connectée à une LED qui sera allumée lorsqu'un aimant est détecté. J'ai simplement fait les connexions sur une maquette et cela ressemblait un peu à ceci ci-dessous une fois terminé.
Code Arduino du capteur à effet Hall:
Le code Arduino complet n'est que de quelques lignes et il peut être trouvé au bas de cette page qui peut être directement téléchargé sur votre carte Arduino. Si vous voulez savoir comment fonctionne le programme, lisez la suite.
Nous avons une entrée, qui est le capteur et une sortie qui est une LED. Le capteur doit être connecté en tant qu'entrée d'interruption. Donc, dans notre fonction de configuration , nous initialisons ces broches et faisons également fonctionner la broche 2 comme une interruption. Ici, la broche 2 est appelée Hall_sensor et la broche 3 est appelée LED .
void setup () {pinMode (LED, OUTPUT); // LED est une broche de sortie pinMode (Hall_sensor, INPUT_PULLUP); // Le capteur Hall est la broche d'entrée attachInterrupt (digitalPinToInterrupt (Hall_sensor), toggle, CHANGE); // La broche deux est la broche d'interruption qui appellera la fonction de basculement}
Lorsqu'une interruption est détectée, la fonction bascule sera appelée comme indiqué dans la ligne ci-dessus. Il existe de nombreux paramètres d'interruption tels que Toggle , Change, Rise, Fall, etc., mais dans ce tutoriel, nous détectons le changement de sortie du capteur Hall.
Maintenant, à l'intérieur de la fonction bascule , nous utilisons une variable appelée « état » qui changera simplement son état à 0 si déjà 1 et à 1 si déjà zéro. De cette façon, nous pouvons allumer ou éteindre la LED.
void toggle () {état =! état; }
Enfin, à l'intérieur de notre fonction de boucle , il suffit de contrôler la LED. L'état variable sera modifié chaque fois qu'un aimant est détecté, nous l'utilisons donc pour déterminer si la LED doit rester allumée ou éteinte.
void loop () {digitalWrite (LED, état); }
Capteur à effet Hall Arduino fonctionnant:
Une fois que vous êtes prêt avec votre matériel et votre code, téléchargez simplement le code sur l'Arduino. J'ai utilisé une batterie 9V pour alimenter l'ensemble de l'installation, vous pouvez utiliser n'importe quelle source d'alimentation préférable. Maintenant, rapprochez l'aimant du capteur et votre LED brillera et si vous l'enlevez, elle s'éteindra.
Remarque: le capteur Hall est sensible au pôle, ce qui signifie qu'un côté du capteur peut détecter uniquement le pôle Nord ou uniquement le pôle Sud et pas les deux. Donc, si vous rapprochez un pôle sud de la surface de détection nord, votre LED ne brillera pas.
Ce qui se passe réellement à l'intérieur, c'est que lorsque nous rapprochons l'aimant du capteur, le capteur change d'état. Ce changement est détecté par la broche d'interruption qui appellera la fonction bascule à l'intérieur de laquelle nous changeons la variable «état» de 0 à 1. Par conséquent, la LED s'allumera. Maintenant, lorsque nous éloignons l'aimant du capteur, la sortie du capteur changera à nouveau. Ce changement est à nouveau remarqué par notre instruction d'interruption et donc la variable «état» passera de 1 à 0. Ainsi, la LED est éteinte. La même chose se répète chaque fois que vous approchez un aimant du capteur.
La vidéo de travail complète du projet se trouve ci-dessous. J'espère que vous avez compris le projet et aimé construire quelque chose de nouveau. Dans le cas contraire, veuillez utiliser la section des commentaires ci-dessous ou les forums pour obtenir de l'aide.