Table des matières:
- Étape 1: Étape 1: Composants
- Étape 2: Étape 2: Connectez le servomoteur
- Étape 3: Étape 3: un peu de compréhension
- Étape 4: Étape 4: Ajoutez du code pour tester le servomoteur
- Étape 5: Étape 5: Préparation à la communication
- Étape 6: Étape 6: Tester la communication
- Étape 7: Étape 7: Ajout des commandes
- Étape 8: Étape 8: Connectez l'appareil à vos rideaux (pas nécessaire)
Vidéo: Moteur servo à rotation continue (CRS) avec contrôle par télégramme : 8 étapes
2025 Auteur: John Day | [email protected]. Dernière modifié: 2025-01-13 06:57
Dans ce instructable, je vais vous apprendre à contrôler un CRS via un télégramme. Pour cette instructable, vous aurez besoin de quelques choses. Je travaillerai sur un NodeMCU 1.0 (module ESP-12E). Cela peut fonctionner sur d'autres bords Arduino, il vous suffit de trouver les lecteurs appropriés.
Voici l'environnement de configuration du module ESP-12E:
- Windows 10
- Arduino IE 1.8.7 (Windows Store 1.8.15.0)
Un guide sur la façon d'installer les pilotes et les fichiers de base pour le module ESP-12E est disponible ici:
Une fois que vous avez fait cela. Nous sommes prêts à partir !
Étape 1: Étape 1: Composants
Pour ce tutoriel, vous aurez besoin de quelques composants:
- Module ESP12-E (ESP8266)
- Servomoteur à rotation continue (c'est celui que j'ai utilisé)
- Câble micro-USB
- Un réseau Wi-Fi
- Application télégramme
- Un Botfather Bot (ne vous inquiétez pas, nous y arriverons)
Étape 2: Étape 2: Connectez le servomoteur
Suivez ce schéma pour câbler le servomoteur.
- Noir: GND (terre)
- Rouge: 3,3 V ou 5 V (Alimentation)
- Jaune ou Blanc: Sortie numérique (Signal)
Donc, si vous utilisez le même servomoteur que j'ai utilisé et que vous avez une carte arduino avec une tension de sortie plus élevée (5V max), vous pouvez y coller le câble d'alimentation. Cela signifiera simplement que le servomoteur produira plus de couple. Dans tous les cas, 3,3 V ou 5 V conviennent tous les deux.
Étape 3: Étape 3: un peu de compréhension
Avant de commencer à tester le code et de voir s'il fonctionne, vous devez comprendre quelque chose à propos de ce servomoteur. Puisqu'il ne s'agit pas d'un servomoteur conventionnel, qui tourne selon des angles spécifiques, le code que vous devez utiliser est un peu différent.
Je ne recommande pas d'utiliser le servo à plein couple, car il crée beaucoup de chaleur et peut consommer une grande partie de la durée de vie du produit. Essayez de rester dans la zone de [60, 120].
boucle vide {
monservo.write(90); // cela signifie qu'il n'y a pas de mouvement, le servomoteur est à l'arrêt retard (1000); monservo.write(0); // cela signifie un retard de mouvement dans le sens inverse des aiguilles d'une montre à pleine vitesse (1000); monservo.write(180); // cela signifie un délai de mouvement dans le sens des aiguilles d'une montre à pleine vitesse (1000); }
Étape 4: Étape 4: Ajoutez du code pour tester le servomoteur
#comprendre
Servo myservo; void setup() { myservo.attach(D5); //fixez le servo sur la broche D5) } void loop() { myservo.write(85); // fait tourner le moteur dans le sens inverse des aiguilles d'une montre à vitesse lente (1000); monservo.write(120); retard(1000); monservo.write(90); retard (5000); }
Étape 5: Étape 5: Préparation à la communication
Pour pouvoir communiquer avec votre Arduino, vous devrez régler quelques problèmes. Ils sont assez faciles. Nous diviserons ces tâches en deux petites sections.
Le robot
- Installez Telegram sur votre téléphone mobile.
- Créez un compte sur Telegram.
- Recherchez l'utilisateur 'Botfather'.
- Créez un nouveau bot en utilisant les commandes qu'il affiche (conservez la clé qu'il vous donne).
Les tâches Arduino
- Ouvrez Arduino IE.
- Allez dans le 'Gestionnaire de bibliothèque'.
- Ajoutez la bibliothèque 'Universal Telegrambot'.
-
Ajoutez la bibliothèque 'ArduinoJson'.
- Ne pas ajouter la bêta
- Ajoutez la dernière version 5.x disponible.
Étape 6: Étape 6: Tester la communication
Nous y sommes presque.
- Ouvrez 'echobot' à partir de la bibliothèque universaltelegrambot > esp8266.
- Modifiez les informations d'identification wifi pour qu'elles correspondent à votre réseau à l'endroit où vous vous trouvez.
- Changez le BOTtoken que le Botfather vous a donné.
- Ajoutez cette ligne de code dans la boucle for qui se trouve dans `void loop();`
Serial.println(bot.messages.text);
Nous sommes maintenant prêts à tester.
Téléchargez ce code sur votre Arduino. Vérifiez dans le moniteur série si votre NodeMCU se connecte à votre réseau wifi. Une fois que vous voyez qu'il est connecté, envoyez un message à votre bot. Il devrait vous renvoyer exactement le même message.
Étape 7: Étape 7: Ajout des commandes
Alors, ça a marché ! Nous avons une connexion entre les appareils. La prochaine étape consiste à ajouter des éléments ensemble. Nous allons donc ajouter des commandes au code echobot existant. Ce serait peut-être une bonne idée de mettre le code suivant au lieu du dernier code que je vous ai donné. On va donc nous empêcher d'avoir un bot qui se comporte comme un perroquet.
Ce prochain morceau de code doit être dans la boucle for qui parcourt les nouveaux messages. Selon la façon dont vous placez le servomoteur, vous voudrez peut-être échanger les commandes « Ouvrir » et « Fermer ». Téléchargez ceci sur votre esp8266 et vérifiez si cela fonctionne.
//la commande que vous voulez
if(bot.messages.text == "Ouvrir") {
// La réponse que votre bot vous donnera bot.sendMessage(bot.messages.chat_id, "J'ouvre les rideaux pour vous.");
// ce que la carte arduino va faire
monservo.write(80); // le servomoteur tourne dans le sens antihoraire pour ouvrir les rideaux
}
if(bot.messages.text == "Stop") { // La réponse que votre bot vous donnera bot.sendMessage(bot.messages.chat_id, "Fermer les rideaux."); // ce que la carte arduino va faire myservo.write(90); // le servomoteur s'arrête de tourner }
if(bot.messages.text == "Close") { // La réponse que votre bot vous donnera bot.sendMessage(bot.messages.chat_id, "Je ferme les rideaux pour vous."); // ce que la carte arduino va faire myservo.write(80); // le servomoteur tourne dans le sens des aiguilles d'une montre pour fermer les rideaux }
Étape 8: Étape 8: Connectez l'appareil à vos rideaux (pas nécessaire)
Yeeeey, vous avez terminé !
Les instructions étaient sur la façon de connecter un Telegrambot à votre Arduino afin que vous puissiez le contrôler à distance. Mais j'ai fait cette configuration spéciale pour avoir un moyen d'ouvrir mes rideaux dans mon studio sans avoir à les ouvrir physiquement. Alors si vous souhaitez faire comme moi, la dernière étape est de connecter notre petit appareil à vos rideaux et le tour est joué.