Arduino Nano - Interrupteur de fin de course

Ce tutoriel vous apprend à utiliser l'Arduino Nano avec l'interrupteur de fin de course. En détail, nous allons apprendre :

Arduino Nano avec interrupteur de fin de course

À propos de l'interrupteur de fin de course

Il est appelé interrupteur de fin de course en raison de sa fonction principale qui est de détecter quand un objet en mouvement atteint une limite.

Brochage de l'interrupteur de fin de course

Il existe différents types d'interrupteurs de fin de course, mais parmi les plus appréciés figurent le KW12-3 et le V-156-1C25. Chacun de ces types comprend trois broches :

  • C : C'est la broche commune et est utilisée à la fois pour les modes normalement ouvert et normalement fermé
  • NO : C'est la broche normalement ouverte et est utilisée en mode normalement ouvert
  • NC : C'est la broche normalement fermée et est utilisée en mode normalement fermé
Brochage de l'interrupteur de fin de course
image source: diyables.io

Comment ça fonctionne

Bien que l'interrupteur de limite ait trois broches, généralement seulement deux d'entre elles sont utilisées dans une application normale : la broche C et une des deux autres. Par conséquent, il existe quatre façons possibles de câbler l'interrupteur de limite. Le tableau suivant montre le câblage et l'état de lecture sur Arduino Nano pour les quatre méthodes :

C pin NO pin NC pin Arduino Nano Input Pin's State
1 GND Arduino Nano Input Pin (with pull-up) not connected HIGH when untouched, LOW when touched
2 GND not connected Arduino Nano Input Pin (with pull-up) LOW when untouched, HIGH when touched
3 VCC Arduino Nano Input Pin (with pull-down) not connected LOW when untouched, HIGH when touched
4 VCC not connected Arduino Nano Input Pin (with pull-down) HIGH when untouched, LOW when touched

Pour chaque méthode, nous pouvons échanger la broche GND et la broche d'entrée de l'Arduino Nano. Par conséquent, il existe 8 façons de connecter l'Arduino Nano à un interrupteur de fin de course.

Nous devons choisir l'une des quatre options. Le reste du tutoriel utilisera la première méthode.

Diagramme de câblage

Schéma de câblage de l'interrupteur de fin de course Arduino Nano

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

Voir Comment alimenter un Arduino Nano..

Pour une connexion de câblage sécurisée et fiable, nous vous suggérons d'utiliser un Fer à Souder pour souder ensemble les fils et les broches de l'interrupteur de fin de course. Ensuite, utilisez Gaine Thermorétractable pour plus de sécurité.

Code Arduino Nano - Interrupteur de fin de course

Semblable à un bouton, un interrupteur de fin de course nécessite également un anti-rebond (voir plus dans Pourquoi a-t-on besoin d'un anti-rebond pour le bouton/limite interrupteur?). Cela peut rendre la programmation complexe. Heureusement, la bibliothèque ezButton offre une fonction d'anti-rebond. De plus, elle utilise un registre de tirage interne, ce qui simplifie la programmation du bouton.

※ Note:

Deux applications courantes existent avec l'interrupteur de fin de course :

  • La première : Si l'interrupteur est en position TOUCHÉ, effectuer une action. Si l'entrée est NON TOUCHÉE, faire le contraire.
  • La deuxième : Si l'interrupteur passe de NON TOUCHÉ à TOUCHÉ (ou de TOUCHÉ à NON TOUCHÉ), prendre une mesure.
/* * Ce code Arduino Nano a été développé par newbiely.fr * Ce code Arduino Nano est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/arduino-nano/arduino-nano-limit-switch */ #include <ezButton.h> ezButton limitSwitch(2); // create ezButton object for pin 2 void setup() { Serial.begin(9600); limitSwitch.setDebounceTime(50); // set debounce time to 50 milliseconds } void loop() { limitSwitch.loop(); // MUST call the loop() function first if(limitSwitch.isPressed()) Serial.println("The limit switch: UNTOUCHED -> TOUCHED"); if(limitSwitch.isReleased()) Serial.println("The limit switch: TOUCHED -> UNTOUCHED"); int state = limitSwitch.getState(); if(state == HIGH) Serial.println("The limit switch: UNTOUCHED"); else Serial.println("The limit switch: TOUCHED"); }

Étapes rapides

  • Effectuez le câblage comme indiqué dans le schéma de câblage.
  • Connectez l'Arduino Nano à un PC à l'aide d'un câble USB.
  • Ouvrez l'IDE Arduino.
  • Installez la bibliothèque ezButton. Consultez les instructions sur Comment faire.
  • Choisissez la carte et le port appropriés.
  • Cliquez sur le bouton Upload dans l'IDE Arduino pour téléverser le code sur l'Arduino Nano.
  • Appuyez puis relâchez l'interrupteur de fin de course.
  • Consultez le résultat sur le moniteur série.
COM6
Send
The limit switch: UNTOUCHED The limit switch: UNTOUCHED The limit switch: UNTOUCHED The limit switch: UNTOUCHED -> TOUCHED The limit switch: TOUCHED The limit switch: TOUCHED The limit switch: TOUCHED The limit switch: TOUCHED The limit switch: TOUCHED The limit switch: TOUCHED The limit switch: TOUCHED The limit switch: TOUCHED The limit switch: TOUCHED The limit switch: TOUCHED The limit switch: TOUCHED -> UNTOUCHED The limit switch: UNTOUCHED The limit switch: UNTOUCHED The limit switch: UNTOUCHED The limit switch: UNTOUCHED
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Vidéo

※ NOS MESSAGES

  • N'hésitez pas à partager le lien de ce tutoriel. Cependant, veuillez ne pas utiliser notre contenu sur d'autres sites web. Nous avons investi beaucoup d'efforts et de temps pour créer ce contenu, veuillez respecter notre travail !