Skip to Content

Construire un tachymètre Arduino avec un capteur à effet Hall A3144

Construire un tachymètre Arduino avec un capteur à effet Hall A3144

Dans ce tutoriel, vous allez apprendre à utiliser le capteur à effet Hall A3144 et un Arduino pour construire un tachymètre. Un tachymètre est un appareil qui permet de mesurer la vitesse d’un objet en rotation. Par exemple, il est courant dans l’automobile de surveiller le régime moteur (tours par minute, ou RPM).

Le capteur à effet Hall détecte la présence d’un champ magnétique. En fixant un petit aimant sur un objet en rotation, on peut utiliser ce capteur pour compter les révolutions. Avec un Arduino, on peut alors mesurer le temps nécessaire pour un certain nombre de tours et calculer le RPM.

Dans les prochaines sections, je vais lister les composants nécessaires pour ce projet, expliquer les bases des capteurs à effet Hall, et présenter le capteur à effet Hall A3144, que nous utiliserons pour notre tachymètre. Je fournirai aussi des exemples de différentes implémentations de tachymètre avec le capteur A3144, y compris un tachymètre simple et un autre plus avancé utilisant les interruptions.

Alors, c’est parti !

Composants nécessaires

Vous trouverez ci-dessous la liste des composants nécessaires pour ce projet. Si vous souhaitez simplement explorer et découvrir les capteurs à effet Hall, achetez le module capteur. Il sera un peu plus facile à utiliser mais il est trop grand pour des applications pratiques. Pour ceux qui préfèrent, achetez directement le capteur à effet Hall, qui est beaucoup plus petit et aussi moins cher.

Arduino Uno

USB Data Sync cable Arduino

Câble USB pour Arduino UNO

Dupont wire set

Jeu de fils Dupont

Kit de résistances & LED

Module capteur à effet Hall A3144

Capteur à effet Hall A3144

Aimants

Makerguides is a participant in affiliate advertising programs designed to provide a means for sites to earn advertising fees by linking to Amazon, AliExpress, Elecrow, and other sites. As an Affiliate we may earn from qualifying purchases.

Bases des capteurs à effet Hall

Les capteurs à effet Hall sont des dispositifs électroniques capables de détecter la présence d’un champ magnétique. Ils fonctionnent selon l’effet Hall, qui est la création d’une différence de potentiel à travers un conducteur lorsqu’il est placé dans un champ magnétique alors qu’un courant le traverse.

Comment ça marche ?

Les capteurs à effet Hall se composent de trois éléments principaux : une source de tension, un conducteur parcouru par un courant, et un champ magnétique. Lorsqu’un champ magnétique est appliqué perpendiculairement au flux de courant dans le conducteur, il crée une force de Lorentz qui pousse les électrons d’un côté du conducteur. Cela crée une différence de potentiel mesurable à travers le conducteur.

Effet Hall ( source )

Applications typiques

Les applications typiques des capteurs à effet Hall sont :

  • Détection de proximité : Les capteurs à effet Hall peuvent détecter la présence ou l’absence d’un champ magnétique, ce qui les rend adaptés aux applications de détection de proximité.
  • Mesure de vitesse : En fixant un aimant sur un objet en rotation et en utilisant un capteur à effet Hall pour détecter les variations du champ magnétique, on peut mesurer la vitesse de l’objet.
  • Détection de courant : Les capteurs à effet Hall peuvent mesurer le courant circulant dans un conducteur en détectant le champ magnétique généré par ce courant.
  • Détection de position : En plaçant des aimants à des positions spécifiques et en utilisant des capteurs à effet Hall, on peut déterminer la position d’un objet.

Latching vs non-latching

Les capteurs à effet Hall peuvent être classés en latching (verrouillables) ou non-latching. Les capteurs latching possèdent un champ magnétique intégré qui les maintient dans un état (marche ou arrêt) jusqu’à ce qu’un autre champ magnétique de polarité opposée soit appliqué. Les capteurs non-latching, eux, détectent simplement la présence d’un champ magnétique et ne conservent pas leur état. Nous utiliserons un capteur non-latching.

Bipolaire vs unipolaire

Les capteurs à effet Hall peuvent aussi être classés en bipolaires ou unipolaires. Les capteurs bipolaires détectent les champs magnétiques positifs et négatifs, tandis que les capteurs unipolaires ne réagissent qu’à une seule polarité. Le capteur à effet Hall A3144 est un capteur unipolaire et ne réagira qu’à un seul pôle d’un aimant.

Commutation vs linéaire

Les capteurs à effet Hall peuvent fonctionner en mode commutation ou en mode linéaire. Les capteurs de commutation fournissent une sortie numérique, basculant entre les états marche et arrêt selon la présence ou l’absence d’un champ magnétique. Les capteurs linéaires, eux, fournissent une sortie analogique qui varie linéairement avec l’intensité du champ magnétique. Nous utiliserons le capteur à effet Hall A3144, qui est de type commutation.

Capteurs à effet Hall vs relais Reed

En plus du capteur à effet Hall, un autre type courant d’interrupteur magnétique est le relais Reed. Voyons rapidement les différences entre eux.

Les capteurs à effet Hall offrent des avantages comme la détection sans contact, la technologie à semi-conducteurs, un temps de réponse rapide, une large plage de température de fonctionnement et une sortie numérique. Cependant, ils ont une portée de détection limitée, un coût plus élevé et sont sensibles aux champs magnétiques parasites.

Les relais Reed, quant à eux, ont une grande portée de détection, un coût plus faible et sont insensibles aux champs magnétiques parasites. Cependant, ils souffrent d’usure mécanique, d’un temps de réponse plus lent et d’une plage de température de fonctionnement limitée. Pour plus d’informations, consultez notre tutoriel sur Interfacing Magnetic Switch To The Arduino .

Dans la prochaine section, nous allons découvrir le capteur à effet Hall A3144 et ses caractéristiques.

Présentation du capteur à effet Hall A3144

Le capteur à effet Hall A3144 est un excellent capteur magnétique, très compact et rempli d’électronique.

Il peut fonctionner avec des tensions non régulées de 4,5 à 24 volts grâce à un régulateur de tension intégré. De plus, il possède une protection contre l’inversion de polarité, ce qui signifie que si vous le branchez à l’envers, il survivra. Sa consommation électrique est minimale (3,5 mA sous 5V), ce qui le rend adapté aux applications sur batterie.

L’image ci-dessous vous montre le brochage. Si vous regardez le capteur de face, là où vous pouvez lire l’étiquette, la broche positive (+) est à gauche. La masse (-) est au centre et la sortie du signal (s) est la broche de droite.

Pinout of the A3144 Hall Effect Sensor
Brochage du capteur A3144

Notez que le A3144 est unipolaire. Il ne réagira donc qu’à un seul pôle d’un aimant, mais pas à l’autre. Gardez cela en tête lors de vos tests !

Le capteur possède une sortie collecteur ouvert, ce qui signifie qu’il peut être connecté directement à des microcontrôleurs et peut piloter jusqu’à 25 mA. Nous allons en profiter pour connecter directement une LED afin de tester son fonctionnement.

Enfin, le capteur A3144 est très sensible (2,5 mV/Gauss), possède une fréquence de fonctionnement élevée de 2 kHz et une large plage de température de -40°C à +150°C. En résumé, c’est un excellent capteur pour presque toutes les applications nécessitant une commutation rapide, fréquente et sans contact.

Test du capteur à effet Hall A3144

Comme mentionné dans la section des composants, vous pouvez acheter le capteur sous forme de module ou en version simple. Le module intègre une LED et une résistance de pull-up (R1), ce qui le rend très facile à tester. Il suffit de connecter 5V (jusqu’à 24V) au module et d’approcher l’aimant du capteur. La LED doit s’allumer. Mais rappelez-vous que le capteur est unipolaire. Essayez les deux pôles de l’aimant. Un côté fonctionnera, l’autre non.

Testing the A3144 Module
Test du module A3144

Si vous souhaitez tester le capteur seul, vous devrez câbler vous-même une LED et une résistance de pull-up. Le schéma ci-dessous vous montre comment faire.

esting the A3144 Hall Effect Sensor
Test du capteur à effet Hall A3144

Notez que la logique est inversée. La LED brillera très faiblement (à cause de la résistance de 10 KΩ) et s’éteindra lorsque l’aimant s’approchera du capteur. Gardez ce comportement en tête pour la suite. En résumé, la sortie du A3144 passe à l’état bas lorsqu’un champ magnétique est détecté, et reste à l’état haut sinon.

Au passage : si vous voulez tester cela sur une breadboard en utilisant l’alimentation de l’Arduino, voici le câblage. N’oubliez pas la résistance de pull-up de 10 KΩ.

Testing the A3144 on a breadboard
Test du A3144 sur une breadboard

Dans la prochaine section, je vous montre comment connecter correctement le capteur A3144 à l’Arduino.

Connexion du capteur à effet Hall A3144

La plupart du câblage nécessaire a déjà été vu plus haut. La seule différence est que nous allons connecter la sortie du capteur A3144 à la broche 2 de l’Arduino.

Connecting the A3144 Sensor to the Arduino
Connexion du capteur A3144 à l’Arduino

Pour résumer, on connecte l’alimentation de l’Arduino à la breadboard puis au capteur A3144. Ensuite, on ajoute la résistance de pull-up de 10 KΩ et on relie la sortie du A3144 à la broche 2 de l’Arduino. Si vous avez des soucis, voici le tableau de câblage complet ci-dessous.

De Broche Couleur du fil Vers Broche
Arduino 5V Rouge Breadboard Rail positif
Arduino GND Bleu Breadboard Rail négatif
A3144 GND Bleu Breadboard Rail négatif
A3144 VCC Rouge Breadboard Rail positif
A3144 Out/Signal Jaune Arduino 2
A3144 Out/Signal Résistance 1
Résistance 2 Rouge Breadboard Rail positif

Dans la prochaine section, je vous montre comment utiliser le A3144 comme simple interrupteur magnétique.

Exemple 1 : Un interrupteur magnétique

Jetez un œil au code très simple ci-dessous. Toutes les 10 ms, on lit la valeur du capteur et si sa valeur est LOW on allume la LED intégrée de l’Arduino. Si vous approchez un aimant du capteur, la LED doit s’allumer.

const int hallPin = 2;
const int ledPin = 13;  // built-in

void setup() {
  pinMode(hallPin, INPUT);
  pinMode(ledPin, OUTPUT);
}

void loop() {
  int val = digitalRead(hallPin);
  digitalWrite(ledPin, val ? LOW : HIGH);
  delay(10);
}

Voici une explication détaillée du code.

Constantes et variables

Le code commence par définir deux constantes : hallPin et ledPin . La constante hallPin indique la broche à laquelle le capteur à effet Hall est connecté, et la constante ledPin la broche de la LED intégrée sur la carte Arduino.

const int hallPin = 2;
const int ledPin = 13;  // built-in

Fonction setup

Dans la fonction setup() , on définit le mode de hallPin sur INPUT et le mode de ledPin sur OUTPUT . Cela se fait avec la fonction pinMode() .

void setup() {
  pinMode(hallPin, INPUT);
  pinMode(ledPin, OUTPUT);
}

Fonction loop

Dans la fonction loop() , on commence par lire la valeur de hallPin avec la fonction digitalRead() . La valeur lue sera LOW lorsqu’un champ magnétique est détecté, et HIGH sinon. Attention à cette logique inversée.

int val = digitalRead(hallPin);

Ensuite, on utilise la fonction digitalWrite() pour contrôler l’état de la ledPin selon la valeur lue par le capteur à effet Hall. Si la valeur est HIGH , cela signifie qu’aucun champ magnétique n’est détecté et on met la ledPin à LOW , ce qui éteint la LED. Sinon, on met la ledPin à HIGH , ce qui allume la LED.

digitalWrite(ledPin, val ? LOW : HIGH);

Enfin, on ajoute un petit délai de 10 millisecondes avec la fonction delay() . Ce délai permet d’avoir des lectures stables et d’éviter les fluctuations rapides de l’état de la LED.

delay(10);

Et voilà. Vous avez maintenant un interrupteur magnétique simple qui détecte rapidement et de façon fiable les champs magnétiques.

Vous pouvez utiliser le code ci-dessus pour créer un interrupteur de début ou de fin de course pour un moteur DC ou un moteur pas à pas. Par exemple, si vous voulez faire tourner un moteur jusqu’à une certaine position – par exemple, une position de départ définie d’un moteur pas à pas qui entraîne une horloge après une coupure de courant. Ou la position de fin d’un moteur pas à pas pour une imprimante 3D.

Pour cela, il suffit de fixer un aimant sur le moteur pour marquer la position souhaitée et de placer le capteur Hall à proximité. Si le capteur détecte l’aimant, il arrête le moteur. Pour l’implémenter réellement, il faudrait commuter un relais à la place d’une LED, car les moteurs ne peuvent généralement pas être contrôlés directement par une sortie Arduino. Consultez notre tutoriel sur How To Use A Relay With Arduino , si vous souhaitez faire cela.

Dans la prochaine section, nous utilisons le même principe pour mesurer la vitesse de rotation d’un moteur.

Exemple 2 : Un tachymètre simple

Dans le premier exemple, nous avons écrit le code pour détecter quand l’aimant est proche du capteur. Si on compte combien de fois cela arrive dans un certain laps de temps, on peut mesurer la vitesse d’un objet en rotation. On construit ce tachymètre en fixant l’aimant quelque part sur l’objet en rotation, et chaque fois qu’il passe devant le capteur à effet Hall, on compte une rotation.

const int hallPin = 2;
const int maxCnt = 100;

void setup() {
  Serial.begin(9600);
  pinMode(hallPin, INPUT);
}

void loop() {
  unsigned long start = micros();
  int old = 1;
  int cnt = 0;
  while (cnt < maxCnt) {
    int val = digitalRead(hallPin);
    if (!val && val != old) cnt++;
    old = val;
  }
  float seconds = (micros() - start) / 1000000.0;
  float rpm = cnt / seconds * 60.0;
  Serial.print("rpm: ");
  Serial.println(rpm);
}

C’est ce que fait le code ci-dessus. Regardons de plus près pour bien comprendre son fonctionnement.

Constantes et variables

Le code commence par définir deux constantes : hallPin et maxCnt . La constante hallPin indique la broche à laquelle le capteur à effet Hall est connecté, et la constante maxCnt définit la valeur maximale du compteur. Nous allons compter jusqu’à max counts puis mesurer le temps écoulé pour calculer la vitesse.

const int hallPin = 2;
const int maxCnt = 100;

Fonction setup

Dans la fonction setup() , on initialise la communication série à 9600 bauds avec Serial.begin(9600) . On définit aussi la hallPin comme entrée avec pinMode(hallPin, INPUT) .

void setup() {
  Serial.begin(9600);
  pinMode(hallPin, INPUT);
}

Fonction loop

La fonction loop() est l’endroit où la fonctionnalité principale du tachymètre est implémentée. On commence par obtenir l’heure actuelle avec micros() et on la stocke dans la variable start . On initialise aussi la variable de l’ancienne lecture du capteur à 1 et la variable cnt à 0.

void loop() {
  unsigned long start = micros();
  int old = 1;
  int cnt = 0;

À l’intérieur de la boucle while, le code lit la valeur de la hallPin avec digitalRead(hallPin) et la stocke dans la variable val . Si la valeur est 0 (champ magnétique détecté) et différente de la valeur précédente ( val != old ), on incrémente la variable cnt .

  while (cnt < maxCnt) {
    int val = digitalRead(hallPin);
    if (!val && val != old) cnt++;
    old = val;
  }

C’est important. On ne peut pas simplement compter chaque fois qu’on détecte un 0 (aimant détecté), car on compterait plusieurs fois tant que l’aimant est proche. Il faut compter uniquement lors d’un changement d’état. Soit de 1 à 0 (front descendant), soit de 0 à 1 (front montant). Regardez l’image ci-dessous qui montre la sortie du Serial Plotter avec deux détections de l’aimant de durées différentes.

Falling and raising flanks in detection signal
Fronts descendants et montants dans le signal de détection

Dans le code ci-dessus, on ne compte que lorsque le capteur passe de 0 ( !val ) à 1 ( val !=old ). En résumé, on détecte le front montant du signal.

Après la boucle while, on calcule le temps écoulé en secondes en soustrayant le temps start de l’heure actuelle avec micros() et en divisant par 1 000 000. À partir de là, on calcule le RPM (tours par minute) en divisant cnt par le temps écoulé en secondes puis en multipliant par 60 (une minute).

  float seconds = (micros() - start) / 1000000.0;
  float rpm = cnt / seconds * 60.0;

Enfin, le code affiche la valeur RPM calculée sur le moniteur série avec Serial.print() et Serial.println() .

  Serial.print("rpm: ");
  Serial.println(rpm);
}

Pour essayer le code, fixez un aimant dans la bonne orientation sur un objet en rotation, par exemple un ventilateur. Approchez ensuite le capteur suffisamment pour que l’aimant passe devant à chaque tour. Si vous lancez le code, vous devriez pouvoir mesurer le RPM du ventilateur.

Measuring the speed of a fan using the A3144 sensor
Mesure de la vitesse d’un ventilateur avec le capteur A3144

Le code ci-dessus fonctionne bien. Mais pour des objets tournant plus vite et des mesures plus précises, on peut faire encore mieux en utilisant les interruptions. Je vous montre comment dans la prochaine section.

Exemple 3 : Un tachymètre plus rapide avec interruptions

L’exemple de code ci-dessus utilise une boucle pour interroger l’état du capteur à effet Hall et, si on détecte un changement d’état de 0 à 1, on compte cela comme une rotation. Cependant, la vitesse de l’Arduino est limitée. Si l’objet tourne plus vite que la fréquence d’interrogation, on manquera des changements d’état et on sous-comptera.

Les interruptions offrent une solution à ce problème. Au lieu d’interroger et de chercher les changements d’état, on attache une interruption à la broche du capteur et, à chaque changement d’état, une ISR (routine de service d’interruption) est appelée. C’est beaucoup plus rapide et le code est même plus simple. Regardez :

const int hallPin = 2;
const int maxCnt = 100;

volatile int cnt = 0;

void count() {
  cnt++;
}

void setup() {
  Serial.begin(9600);
  pinMode(hallPin, INPUT);
  attachInterrupt(digitalPinToInterrupt(hallPin), count, FALLING);
}

void loop() {
  unsigned long start = micros();
  while (cnt < maxCnt) ;
  float seconds = (micros() - start) / 1000000.0;
  float rpm = cnt / seconds * 60.0;
  Serial.print("rpm: ");
  Serial.println(rpm);
  cnt = 0;
}

Voyons en détail comment cela fonctionne.

Constantes et variables

Le code commence par définir les constantes et variables.

const int hallPin = 2;
const int maxCnt = 100;

volatile int cnt = 0;

Comme précédemment, la constante hallPin indique la broche à laquelle le capteur à effet Hall est connecté et la constante maxCnt définit le nombre maximal de comptage. La variable cnt sert à compter le nombre de rotations. Notez qu’elle est déclarée comme  » volatile « . C’est nécessaire car nous allons l’utiliser dans une routine d’interruption. Plus d’infos dans la section suivante.

Fonction de comptage

La fonction count() est la routine de service d’interruption ( ISR ) appelée chaque fois que le capteur à effet Hall détecte un front descendant sur hallPin. Les ISR doivent être aussi courtes que possible. Dans notre cas, la fonction incrémente simplement la variable cnt de un, ce qui est parfait pour une ISR.

void count() {
  cnt++;
}

Fonction setup

Dans la fonction setup() , on initialise la communication série et on définit la hallPin en entrée. Le plus important, c’est qu’on attache interrupt à la hallPin qui déclenche la fonction count() sur un front descendant.

Attention, toutes les broches ne peuvent pas être utilisées pour les interruptions ! Cela dépend du microcontrôleur. Sur l’Arduino Uno, seules les broches 2 et 3 peuvent être utilisées pour les interruptions.

void setup() {
  Serial.begin(9600);
  pinMode(hallPin, INPUT);
  attachInterrupt(digitalPinToInterrupt(hallPin), count, FALLING);
}

Fonction loop

Dans la fonction loop() , on récupère l’heure actuelle avec la fonction micros() . Ensuite, on entre dans une boucle while qui attend simplement que la variable cnt atteigne la valeur maxCnt . Cela garantit qu’on a compté assez de rotations pour calculer la vitesse avec précision. Notez que le compteur est incrémenté en dehors de la boucle, dans la routine d’interruption count() . En résumé, l’Arduino attend dans la boucle while, tout en réagissant en parallèle aux interruptions en appelant la fonction count() .

Quand on a reçu assez de comptages, la boucle while se termine. On calcule alors le RPM (tours par minute) comme précédemment et, après avoir remis la variable cnt à zéro, la boucle principale recommence.

void loop() {
  unsigned long start = micros();
  while (cnt < maxCnt) ;
  float seconds = (micros() - start) / 1000000.0;
  float rpm = cnt / seconds * 60.0;
  Serial.print("rpm: ");
  Serial.println(rpm);
  cnt = 0;
}

Pour des mesures plus précises mais plus lentes de la vitesse de rotation, augmentez la valeur de la constante maxCnt . Vous ferez la moyenne sur plus de rotations, ce qui donnera des lectures plus stables mais prendra plus de temps. Une valeur maxCnt plus basse donnera des lectures de RPM plus rapides mais plus fluctuantes.
Voilà ! Avec ce code, vous pouvez construire un tachymètre avec un Arduino et un capteur à effet Hall pour mesurer la vitesse d’un objet en rotation.

Conclusion

Dans ce tutoriel, nous avons appris à construire un tachymètre avec un capteur à effet Hall et un Arduino. Nous avons commencé par comprendre les bases des capteurs à effet Hall, puis présenté le capteur à effet Hall A3144, couramment utilisé pour la mesure de vitesse.

Nous avons ensuite testé le capteur A3144 pour vérifier son fonctionnement, puis nous l’avons connecté à l’Arduino. Nous avons exploré trois exemples différents pour montrer la polyvalence du capteur.

Dans l’exemple 1, nous avons utilisé le capteur A3144 comme interrupteur magnétique, détectant la présence ou l’absence d’un champ magnétique. Cela peut être utile dans diverses applications comme les capteurs de porte/fenêtre ou la détection de proximité.

Dans l’exemple 2, nous avons construit un tachymètre simple avec le capteur A3144. En fixant le capteur à un objet en rotation, nous avons pu mesurer sa vitesse en tours par minute (RPM). Cela peut être pratique pour surveiller la vitesse d’un moteur ou d’un ventilateur.

Dans l’exemple 3, nous avons amélioré le tachymètre simple en utilisant les interruptions. En configurant l’Arduino pour déclencher une interruption à chaque fois que le capteur A3144 détecte un aimant, nous avons obtenu des mesures de RPM plus précises et fiables.

En suivant ce tutoriel, vous devriez maintenant bien comprendre comment utiliser le capteur à effet Hall A3144 avec un Arduino pour construire un tachymètre. Si vous avez des questions ou besoin d’aide supplémentaire, n’hésitez pas à consulter la section FAQ.

Bon bricolage !

Foire aux questions

Voici quelques questions fréquemment posées sur la réalisation d’un tachymètre avec un capteur à effet Hall et un Arduino :

Q : Qu’est-ce qu’un tachymètre ?

R : Un tachymètre est un appareil utilisé pour mesurer la vitesse d’un objet en rotation. Il fournit des informations sur la vitesse de rotation en tours par minute (RPM).

Q : Qu’est-ce qu’un capteur à effet Hall ?

R : Un capteur à effet Hall est un transducteur qui détecte la présence d’un champ magnétique. Il fonctionne selon le principe de l’effet Hall, qui dit que lorsqu’un conducteur parcouru par un courant est placé dans un champ magnétique, une tension est générée perpendiculairement au courant et au champ magnétique.

Q : Quels sont les avantages des capteurs à effet Hall ?

Les capteurs à effet Hall sont généralement insensibles au bruit, à la lumière ou à la température. Comme ils n’ont pas de pièces mécaniques, ils réagissent rapidement et durent quasiment indéfiniment. De plus, ils sont très petits et peuvent donc s’intégrer dans des espaces restreints.

Q : Pourquoi utiliser un capteur à effet Hall pour un tachymètre ?

R : Les capteurs à effet Hall sont couramment utilisés dans les tachymètres car ils permettent de mesurer précisément la vitesse d’objets en rotation sans contact physique. Cela les rend idéaux pour les applications où une mesure de vitesse non intrusive est nécessaire.

Q : Pourquoi le capteur à effet Hall ne réagit-il pas ?

R : Vérifiez que tout est correctement câblé. Le A3144 est un capteur à effet Hall unipolaire et ne réagira qu’à un seul pôle de l’aimant. Vérifiez aussi que votre aimant est suffisamment puissant.

Q : Puis-je utiliser le A3144 pour mesurer l’intensité d’un champ magnétique ?

Le A3144 est un capteur à effet Hall de commutation et n’est pas adapté à cela. Il vous faudrait un capteur à effet Hall linéaire

Q : Puis-je utiliser le A3144 avec un ESP32 ?

Pas directement. Le A3144 fonctionne en 5V alors que l’ESP fonctionne en 3,3V. Il vous faudra un convertisseur de niveau logique.