Arduino Mega - Fin de course

Ce guide vous montre comment utiliser un interrupteur de fin de course avec l'Arduino Mega. Voici ce que nous allons apprendre :

Arduino Mega with Limit Switch

Matériel requis

1×Arduino Mega
1×Câble USB 2.0 type A/B
1×Fin de course (KW12-3)
1×Fin de course (V-156-1C25)
1×Fils de connexion
1×(Optionnel) Gaine thermorétractable
1×(Optionnel) Fer à souder
1×Recommandé: Screw Terminal Block Shield for Arduino Uno/Mega
1×Recommandé: Breadboard Shield for Arduino Mega
1×Recommandé: Enclosure for Arduino Mega

Ou vous pouvez acheter les kits suivants:

1×Kit de Capteurs DIYables (30 capteurs/écrans)
1×Kit de Capteurs DIYables (18 capteurs/écrans)
Divulgation : Certains des liens fournis dans cette section sont des liens affiliés Amazon. Nous pouvons recevoir une commission pour tout achat effectué via ces liens, sans coût supplémentaire pour vous. Nous vous remercions de votre soutien.

À propos du fin de course

Ceci s'appelle un fin de course car sa fonction principale est de détecter quand quelque chose qui bouge atteint une limite. Il s'appelle aussi un interrupteur de fin de course.

Brochage

De nombreux types de fins de course sont fréquemment utilisés, notamment les KW12-3 et V-156-1C25. Les deux ont trois broches.

  • Broche C : La broche commune. Elle fonctionne dans les modes normalement ouvert et normalement fermé.
  • Broche NO : La broche normalement ouverte. Elle est utilisée quand l'interrupteur est en position normalement ouverte.
  • Broche NC : La broche normalement fermée. Elle est utilisée quand l'interrupteur est en position normalement fermée.
Limit Switch Pinout
image source: diyables.io

Fonctionnement

Le fin de course a trois broches, mais généralement vous n'utilisez que deux : la broche C et une des deux autres broches. Il y a quatre façons différentes de connecter le fin de course. Voici un tableau qui montre comment connecter l'interrupteur et ce qu'il lit sur l'Arduino Mega pour les quatre méthodes :

Broche C Broche NO Broche NC État de la broche d'entrée Arduino Mega
1 GND Broche d'entrée Arduino Mega (avec pull-up) NON connectée HIGH quand non actionné, LOW quand actionné
2 GND NON connectée Broche d'entrée Arduino Mega (avec pull-up) LOW quand non actionné, HIGH quand actionné
3 VCC Broche d'entrée Arduino Mega (avec pull-down) NON connectée LOW quand non actionné, HIGH quand actionné
4 VCC NON connectée Broche d'entrée Arduino Mega (avec pull-down) HIGH quand non actionné, LOW quand actionné

Nous pouvons inverser la broche de masse et la broche d'entrée de l'Arduino Mega pour chaque méthode. Cela nous donne huit façons de connecter l'Arduino Mega à un fin de course.

Nous devons seulement choisir une des quatre méthodes mentionnées ci-dessus. Nous utiliserons la première méthode pour le reste de ce tutoriel.

Schéma de câblage

Arduino Mega limit switch wiring diagram

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

Code Arduino Mega - Fin de course

Comme un bouton, un fin de course nécessite également un anti-rebond (En savoir plus : Pourquoi l'anti-rebond est-il nécessaire pour le bouton/fin de course ?). L'anti-rebond peut rendre le code plus complexe. Heureusement, la bibliothèque ezButton a une fonction d'anti-rebond et utilise une résistance pull-up intégrée, ce qui facilite la programmation pour nous.

※ Note:

Voici deux cas courants :

  • Cas 1 : Quand l'interrupteur est activé, faire une chose. Quand il est désactivé, faire autre chose.
  • Cas 2 : Quand l'interrupteur passe de désactivé à activé ou d'activé à désactivé, faire quelque chose.
/* * Ce code Arduino Mega a été développé par newbiely.fr * Ce code Arduino Mega 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-mega/arduino-mega-limit-switch */ #include <ezButton.h> ezButton limitSwitch(7); // create ezButton object that attach to pin 7; 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

Suivez ces étapes une par une.

  • Connectez le fin de course à l'Arduino Mega comme indiqué dans le schéma.
  • Connectez l'Arduino Mega à votre ordinateur avec un câble USB.
  • Ouvrez l'IDE Arduino sur votre ordinateur.
  • Choisissez la carte Arduino Mega correcte (par exemple Arduino Mega) et le port COM.
  • Installez la bibliothèque ezButton en suivant ce guide : Guide de la bibliothèque ezButton (https://arduinogetstarted.com/tutorials/arduino-button-library#content_how_to_install_library)
  • Cliquez sur le bouton Téléverser dans l'IDE Arduino pour téléverser le code vers l'Arduino Mega.
  • Appuyez et relâchez le fin de course.
  • Vérifiez les résultats dans 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 !