ESP8266 - Interrupteur de fin de course pour moteur pas à pas
Ce tutoriel vous explique comment utiliser l'ESP8266 pour contrôler un moteur pas à pas via un interrupteur de fin de course et un pilote L298N. Plus précisément, nous aborderons :
- Comment programmer l'ESP8266 pour arrêter le moteur pas à pas lorsque l'interrupteur de fin de course est actionné.
- Comment programmer l'ESP8266 pour changer la direction du moteur pas à pas lorsque l'interrupteur de fin de course est actionné.
- Comment programmer l'ESP8266 pour changer la direction du moteur pas à pas avec deux interrupteurs de fin de course installés en positions opposées.
Préparation du matériel
Or you can buy the following sensor kits:
1 | × | DIYables Sensor Kit (30 sensors/displays) | |
1 | × | DIYables Sensor Kit (18 sensors/displays) |
À propos du moteur pas à pas et de l'interrupteur de fin de course
Si vous n'êtes pas familiarisé avec le moteur pas à pas et l'interrupteur de fin de course (y compris le brochage, le fonctionnement, la programmation, etc.), les tutoriels suivants peuvent vous fournir davantage d'informations :
- ESP8266 - Interrupteur de limite. tutorial
- ESP8266 - Moteur pas à pas. tutorial
Diagramme de câblage
Ce tutoriel fournit le schéma de câblage pour deux cas : un moteur pas à pas + un interrupteur de fin de course, un moteur pas à pas + deux interrupteurs de fin de course.
- Schéma de câblage entre ESP8266, moteur pas à pas et un interrupteur de fin de course.
This image is created using Fritzing. Click to enlarge image
Voir plus dans Brochage ESP8266. et Comment alimenter l'ESP8266..
- Schéma de câblage entre l'ESP8266, le moteur pas à pas et deux interrupteurs de fin de course.
This image is created using Fritzing. Click to enlarge image
※ Note:
La connexion des câbles entre le moteur pas à pas et le L298N peut varier selon le type de moteur pas à pas. Par conséquent, il est important de consulter ce tutoriel ESP8266 - Moteur pas à pas. pour comprendre comment réaliser la connexion.
Code ESP8266 - Arrêter un moteur pas à pas avec un interrupteur de fin de course
Il existe diverses méthodes pour arrêter un moteur pas à pas :
- Invokez la fonction stepper.stop() : Cela ne provoquera pas un arrêt instantané, mais plutôt un arrêt progressif.
- Omettez d'appeler la fonction stepper.run() : Cela entraînera un arrêt immédiat du moteur pas à pas.
Le code ci-dessous entraînera la rotation continue d'un moteur pas à pas jusqu'à ce qu'un interrupteur de fin de course soit actionné, moment auquel il s'arrêtera immédiatement.
Étapes rapides
Pour commencer avec l'ESP8266 sur Arduino IDE, suivez ces étapes :
- Consultez le tutoriel Installation du logiciel ESP8266. si c'est la première fois que vous utilisez ESP8266.
- Câblez les composants comme indiqué dans le schéma.
- Connectez la carte ESP8266 à votre ordinateur à l'aide d'un câble USB.
- Ouvrez Arduino IDE sur votre ordinateur.
- Sélectionnez la bonne carte ESP8266, comme (par exemple NodeMCU 1.0 (Module ESP-12E)), et son port COM respectif.
- Connectez un câble USB entre l'ESP8266 et le PC.
- Ouvrez Arduino IDE, sélectionnez la carte et le port appropriés.
- Cliquez sur l'icône Libraries dans la barre latérale gauche de l'Arduino IDE.
- Recherchez "ezButton", puis localisez la bibliothèque de boutons fournie par ArduinoGetStarted.com.
- Appuyez sur le bouton Install pour installer la bibliothèque ezButton.
- Recherchez « AccelStepper » et localisez la bibliothèque AccelStepper créée par Mike McCauley.
- Appuyez sur le bouton Install pour ajouter la bibliothèque AccelStepper.
- Copiez le code et ouvrez-le avec l'IDE Arduino.
- Cliquez sur le bouton Upload afin de transférer le code vers l'ESP8266.
- Si le câblage est correctement effectué, le moteur tournera dans le sens horaire.
- Appuyez sur l'interrupteur de fin de course et le moteur s'arrêtera immédiatement.
- Le résultat qui apparaît sur le Moniteur Série devrait ressembler à ceci.
Explication du code
Découvrez l'explication ligne par ligne contenue dans les commentaires du code source !
Code ESP8266 - Changer la direction d'un moteur pas à pas par un interrupteur de fin de course.
Le code ci-dessous permet à un moteur pas à pas de tourner en continu, et il inversera sa direction lorsqu'un interrupteur de fin de course sera touché.
Étapes rapides
Pour commencer avec l'ESP8266 sur Arduino IDE, suivez ces étapes :
- Consultez le tutoriel Installation du logiciel ESP8266. si c'est votre première utilisation de l'ESP8266.
- Câblez les composants comme indiqué dans le schéma.
- Connectez la carte ESP8266 à votre ordinateur à l'aide d'un câble USB.
- Ouvrez Arduino IDE sur votre ordinateur.
- Choisissez la bonne carte ESP8266, telle que (par exemple, NodeMCU 1.0 (Module ESP-12E)), et son port COM respectif.
- Copiez le code et ouvrez-le avec Arduino IDE.
- Cliquez sur le bouton Upload pour envoyer le code à l'ESP8266.
- Si le câblage est correct, le moteur tournera dans le sens des aiguilles d'une montre.
- Lorsque vous touchez l'interrupteur de fin de course, la rotation du moteur pas à pas sera inversée dans le sens antihoraire.
- Toucher de nouveau l'interrupteur de fin de course provoquera la rotation du moteur pas à pas dans le sens des aiguilles d'une montre.
- Le résultat sur le moniteur série devrait ressembler à ceci.
Code ESP8266 - Changer la direction du moteur pas à pas avec deux interrupteurs de fin de course
Le code ci-dessous entraîne la rotation continue d'un moteur pas à pas, et il inversera sa direction lorsque l'un des deux interrupteurs de limite est touché.
Étapes rapides
- Câblez les composants comme indiqué dans le schéma.
- Connectez la carte ESP8266 à votre ordinateur à l'aide d'un câble USB.
- Ouvrez Arduino IDE sur votre ordinateur.
- Choisissez la bonne carte ESP8266, comme (par exemple, NodeMCU 1.0 (Module ESP-12E)), et son port COM respectif.
- Copiez le code et ouvrez-le avec Arduino IDE.
- Cliquez sur le bouton Upload dans l'IDE pour téléverser le code sur l'ESP8266.
- Si le câblage est correct, le moteur devrait tourner dans le sens des aiguilles d'une montre.
- Lorsque vous touchez l'interrupteur de limite 1, la direction du moteur pas à pas devrait passer en sens antihoraire.
- Toucher l'interrupteur de limite 2 devrait faire inverser à nouveau la direction du moteur, cette fois en sens horaire.
- Le résultat affiché sur le moniteur série devrait ressembler à ce qui suit.