SOMMAIRE ►
Découvrons comment connecter le capteur inductif de proximité LJ12A3 à une carte Arduino Uno. Ce capteur industriel détecte la présence d’objets métalliques sans contact, grâce à un champ électromagnétique généré par une bobine interne. Lorsqu’un métal s’approche, des courants de Foucault modifient l’amplitude des oscillations, et la sortie du capteur commute. Il est idéal pour la robotique, le comptage de pièces, les fin de course sur machines CNC.
Pour cette activité, nous aurons besoin:
- Arduino Uno / Nano / Mega
- Capteur inductif LJ12A3-4-Z/BX (modèle NPN)
- Résistance de 10 kΩ (pour le tirage)
- Fils de connexion (type Dupont)
Matériel supplémentaire sur ce sujet:
Capteur inductif LJ12A3-4-Z/BX NPN datasheet, pinout
Le LJ12A3-4-Z/BX existe en différentes variantes (NPN/PNP). Nous nous concentrons sur la version la plus courante pour Arduino : NPN, normalement ouvert (NO). Le capteur ne détecte que les métaux. Les métaux ferromagnétiques (acier, fer) sont perçus à la distance maximale ; les métaux non ferreux (aluminium, cuivre) le sont à une distance réduite (environ 1 à 2 mm).

Caractéristiques LJ12A3-4-Z/BX NPN Arduino pinout, datasheet
- Tension d’alimentation : 6 – 36 V DC (fonctionne parfaitement sous 5V pour Arduino)
- Type de sortie : NPN, collecteur ouvert (sortie active à la masse lors de la détection)
- Courant de charge maximal : 200 mA (peut commander un relais ou une LED)
- Distance de détection : 4 mm pour une cible en acier (St37)
- Hystérésis : ≤ 15 % de la distance de détection (évite les rebonds)
- Fréquence de commutation : jusqu’à 800 Hz (adapté au comptage rapide)
- Température de fonctionnement : -25…+70 °C
- Indice de protection : IP67 (étanche à la poussière et à l’eau)
- Matériau du boîtier : laiton nickelé, filetage M12 pour fixation
- Indication : LED rouge intégrée qui s’allume en présence de métal
Comment brancher LJ12A3-4-Z/BX NPN NO à l’Arduino

La connexion à l’Arduino Uno s’effectue comme suit :
- Fil marron → broche 5V de l’Arduino (ou une source externe 5-24V avec GND commun)
- Fil bleu → broche GND
- Fil noir → broche numérique 10 (par exemple)
Si vous ne disposez pas de résistance externe, vous pouvez activer la résistance de tirage interne de l’Arduino en utilisant INPUT_PULLUP dans le code. Cependant, la résistance externe offre un signal plus robuste. Sur certaines versions du LJ12A3, une vis de réglage permet d’ajuster la sensibilité. En général, les modèles économiques ont une sensibilité fixe.
Programme Arduino pour le capteur LJ12A3-4-Z/BX NPN NO
const int sensorPin = 10; int counter = 0; int lastState = HIGH; unsigned long lastDebounceTime = 0; const unsigned long debounceDelay = 50; // 50 ms void setup() { Serial.begin(9600); pinMode(sensorPin, INPUT_PULLUP); Serial.println("Compteur de pièces démarré"); } void loop() { int currentState = digitalRead(sensorPin); if (currentState != lastState) { lastDebounceTime = millis(); } if ((millis() - lastDebounceTime) > debounceDelay) { if (lastState == HIGH && currentState == LOW) { counter++; Serial.print("Pièce #"); Serial.println(counter); } lastState = currentState; } }
Explication du code pour le capteur LJ12A3-4-Z/BX Arduino :
- La broche du capteur est configurée en entrée avec résistance de tirage interne (
INPUT_PULLUP). Ainsi, en l’absence de métal, la broche est au niveau HIGH. - Lorsque le capteur détecte un métal, sa sortie NPN relie la broche à la masse (GND) → la lecture devient LOW.
- Le programme allume la LED et affiche un message dans le moniteur série à chaque détection.
Erreurs fréquentes et solutions
- Le capteur indique toujours LOW (ou des valeurs aléatoires) : cause probable : absence de résistance de tirage. Vérifiez la présence de la résistance de 10 kΩ entre la broche de sortie et le 5V, ou utilisez
INPUT_PULLUPdans le code. - Aucune réaction lors de l’approche d’un métal : vérifiez l’alimentation (5V sur le fil marron) et le câblage. Assurez-vous que l’objet est en acier (les métaux non ferreux sont moins bien détectés). Essayez d’approcher l’objet au plus près (presque en contact).
- Détection instable ou rebonds : l’objet se trouve à la limite de la zone de détection. Utilisez le code avec anti-rebond ou fixez le capteur plus solidement.
- Le capteur chauffe : sous 5V, ce phénomène est anormal. Vérifiez qu’il n’y a pas de court-circuit entre les fils. Une légère chaleur est normale si vous alimentez en 24V avec une charge de 200 mA, mais ce n’est pas recommandé pour un usage Arduino.
Contrairement aux capteurs optiques (TCRT5000) ou à ultrasons HC-SR04, le LJ12A3 est insensible à la poussière, à l’humidité et aux variations de couleur ou de texture de la surface. Il est toutefois limité à la détection des métaux et à une courte distance. Son principal avantage est sa robustesse et sa fiabilité dans les environnements industriels difficiles.
Conclusion. Le capteur inductif LJ12A3 est un composant fiable, d’un coût modéré, et très simple à mettre en œuvre avec Arduino. Sa sortie numérique (NPN) et son boîtier étanche en font un outil de choix pour des applications nécessitant une détection de métal sans contact, que ce soit dans le cadre de projets éducatifs, de prototypage ou d’automatismes simples. En suivant ce guide, vous pourrez rapidement intégrer ce capteur dans vos propres créations et maîtriser les bases de l’interfaçage des capteurs industriels.








Laisser un commentaire