Table des matières:

Moteur servo à rotation continue (CRS) avec contrôle par télégramme : 8 étapes
Moteur servo à rotation continue (CRS) avec contrôle par télégramme : 8 étapes

Vidéo: Moteur servo à rotation continue (CRS) avec contrôle par télégramme : 8 étapes

Vidéo: Moteur servo à rotation continue (CRS) avec contrôle par télégramme : 8 étapes
Vidéo: Le Servomoteur Expliqué 2024, Juillet
Anonim
Servomoteur à rotation continue (CRS) avec contrôle par télégramme
Servomoteur à rotation continue (CRS) avec contrôle par télégramme

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

Étape 1: Composants
É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

Étape 2: connectez le servomoteur
É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

  1. Installez Telegram sur votre téléphone mobile.
  2. Créez un compte sur Telegram.
  3. Recherchez l'utilisateur 'Botfather'.
  4. Créez un nouveau bot en utilisant les commandes qu'il affiche (conservez la clé qu'il vous donne).

Les tâches Arduino

  1. Ouvrez Arduino IE.
  2. Allez dans le 'Gestionnaire de bibliothèque'.
  3. Ajoutez la bibliothèque 'Universal Telegrambot'.
  4. 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

Étape 6: Tester la communication
Étape 6: Tester la communication

Nous y sommes presque.

  1. Ouvrez 'echobot' à partir de la bibliothèque universaltelegrambot > esp8266.
  2. Modifiez les informations d'identification wifi pour qu'elles correspondent à votre réseau à l'endroit où vous vous trouvez.
  3. Changez le BOTtoken que le Botfather vous a donné.
  4. 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)

Étape 8: connectez l'appareil à vos rideaux (pas nécessaire)
É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é.

Conseillé: