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 [Ici] et rejoignez-nous dès aujourd’hui !

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

../_images/list_2.13.png

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.

../_images/image141.png

Schéma de Connexion

../_images/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.

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.

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.

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

../_images/image143.jpeg