.. note:: Bonjour et bienvenue dans la communauté des passionnés de Raspberry Pi, Arduino et ESP32 de SunFounder sur Facebook ! Plongez dans l’univers du Raspberry Pi, d'Arduino et de l'ESP32 avec d'autres passionnés. **Pourquoi nous rejoindre ?** - **Assistance d'experts** : Résolvez vos problèmes post-achat et défis techniques grâce à l'aide de notre communauté et de notre équipe. - **Apprendre et partager** : Échangez des astuces et tutoriels pour améliorer vos compétences. - **Aperçus exclusifs** : Accédez en avant-première aux annonces de nouveaux produits et aux aperçus. - **Réductions spéciales** : Profitez de réductions exclusives sur nos derniers produits. - **Promotions et concours festifs** : Participez à des concours et promotions durant les fêtes. 👉 Prêt à explorer et créer avec nous ? Cliquez sur [|link_sf_facebook|] et rejoignez-nous dès aujourd'hui ! .. _ar_motor: 2.13 Moteur ============ Aperçu ---------- Dans cette leçon, vous apprendrez comment utiliser un moteur et comprendrez son principe de fonctionnement. Un moteur fonctionne en faisant tourner une bobine alimentée dans un champ magnétique, entraînant ainsi la rotation du rotor qui fait tourner un pignon et, à son tour, la roue volante du moteur. Composants Requis ------------------- .. image:: img/list_2.13.png * :ref:`cpn_mega2560` * :ref:`cpn_breadboard` * :ref:`cpn_wires` * :ref:`cpn_l293d` * :ref:`cpn_motor` * :ref:`cpn_power_module` Circuit Fritzing ------------------- Dans cet exemple, nous utilisons un module d'alimentation pour alimenter l'anode et la cathode de la breadboard. Le GND de la carte Mega 2560 est relié à la cathode. .. image:: img/image141.png Schéma de Connexion --------------------- .. image:: img/image459.png Code ---- .. note:: * Vous pouvez ouvrir directement le fichier ``2.13_motor.ino`` situé dans le chemin ``sunfounder_vincent_kit_for_arduino\code\2.13_motor``. * Ou copiez ce code dans l'IDE Arduino. .. raw:: html Après avoir téléversé le code sur la carte Mega2560, vous pourrez choisir la direction de rotation du moteur en tapant 「A」 ou 「B」 dans le moniteur série. Analyse du Code ------------------ Le moteur peut être actionné en appliquant une différence de tension entre les plaques de cuivre de chaque côté du moteur. Il suffit donc de fixer la tension d’un côté de la plaque de cuivre à 0 et celle de l’autre côté à 5V. En modifiant la valeur du signal analogique envoyé, on peut ajuster la direction et la vitesse. .. code-block:: arduino void clockwise(int Speed) { analogWrite(motor1A,0); analogWrite(motor2A,Speed); } void anticlockwise(int Speed) { analogWrite(motor1A,Speed); analogWrite(motor2A,0); } Dans cet exemple, la fonction Serial.Read() est utilisée pour contrôler la direction du moteur. Lorsque vous tapez « A » dans le moniteur série, la fonction clockwise(255) est appelée pour faire tourner le moteur dans le sens des aiguilles d'une montre à une vitesse de 255. En entrant « B », le moteur tourne dans le sens inverse. .. code-block:: arduino void loop() { if (Serial.available() > 0) { int incomingByte = Serial.read(); switch(incomingByte){ case 'A': clockwise(255); Serial.println("The motor rotate clockwise."); break; case 'B': anticlockwise(255); Serial.println("The motor rotate anticlockwise."); break; } } delay(3000); stopMotor(); } Illustration du Phénomène -------------------------------- .. image:: img/image143.jpeg