Menu
Microbots
0
  • Faire
    • Commencer
    • Constructions de créateurs
    • Éducation
  • Boutique
    • ProtoBot
    • Modules Maker
    • Outils et engrenages
    • Robots et écrans
  • À propos
    • Notre histoire
    • Tendez la main
    • FAQ
  • Connexion
  • français
  • Votre panier est vide
Microbots
  • Faire
    • Commencer
    • Constructions de créateurs
    • Éducation
  • Boutique
    • ProtoBot
    • Modules Maker
    • Outils et engrenages
    • Robots et écrans
  • À propos
    • Notre histoire
    • Tendez la main
    • FAQ
  • Langue

  • 0 0

CodeCell : Contrôle d'un servomoteur

Dans ce guide, nous explorerons comment utiliser le CodeCell pour contrôler un servomoteur. Nous verrons également comment contrôler la position angulaire du servomoteur grâce à la fonction de positionnement angulaire du CodeCell, particulièrement utile pour les applications robotiques comme les cardans ou le contrôle de la stabilité angulaire.

Qu'est-ce qu'un servomoteur ?

Un servomoteur est un actionneur rotatif permettant un contrôle précis de la position angulaire. Il est composé d'un moteur couplé à des engrenages et à un capteur de position. Il est couramment utilisé dans les applications de robotique, d'automatisation et de stabilisation.

Comment lire l'angle ?

CodeCell est équipé d'un capteur de mouvement BNO085 qui fusionne les données d'un accéléromètre, d'un gyroscope et d'un magnétomètre pour calculer les vecteurs de rotation. Ces vecteurs sont traités par CodeCell pour obtenir les angles de roulis, de tangage et de lacet en fonction de l'orientation de l'appareil dans l'espace.

Dans cet exemple, notre CodeCell surveille en continu l'angle d'inclinaison pour contrôler la position d'un servomoteur, lui permettant ainsi de réagir dynamiquement aux changements d'orientation. La valeur d'inclinaison permet de définir la position du servomoteur, lui permettant ainsi de pivoter en fonction de l'inclinaison de l'appareil.

Exemple de code

Vous trouverez ci-dessous un exemple de code pour vous aider à démarrer. Assurez-vous que votre CodeCell est correctement connecté via USB-C. Vérifiez également que votre servomoteur peut être alimenté via USB-C (CodeCell peut fournir jusqu'à 500 mA via USB-C et jusqu'à 1 500 mA avec une batterie). Ajustez les limites angulaires du code en conséquence.

Pour cet exemple, vous devez installer la bibliothèque « ESP32Servo » pour contrôler le servomoteur avec votre CodeCell. Suivez les commentaires du code pour comprendre chaque étape.

 #include <codecell.h>
 #include <ESP32Servo.h>

 CodeCell myCodeCell;
 Servo myservo;

 float Roll = 0.0;
 float Pitch = 0.0;
 float Yaw = 0.0;
 int servo_angle = 0;

 void setup() {
 Serial.begin(115200); // Set Serial baud rate to 115200. Enable Tools/USB_CDC_On_Boot if using Serial
 myCodeCell.Init(MOTION_ROTATION); // Initializes rotation sensing
 myservo.attach(1); // Attaches the servo on pin 1 to the servo object
 }

 void loop() {
 if (myCodeCell.Run(10)) {
 // Read rotation angles from the BNO085 sensor
 myCodeCell.Motion_RotationRead(Roll, Pitch, Yaw);

 // Convert the pitch angle to a servo angle
 servo_angle = abs((int)Pitch);
 servo_angle = (180 - servo_angle);

 // Limit the servo angle to the range 0-60 degrees
 if (servo_angle > 60) { 
servo_angle = 60;
 } sinon si (servo_angle < 0) {
 servo_angle = 0;
 }
 autre{
 //Sauter
 }

 Serial.println(servo_angle); // Imprimer l'angle du servo pour le débogage
 myservo.write(servo_angle); // Définir la position du servo
 }
 }

Conseils de personnalisation

Cette fonctionnalité de base peut être étendue pour créer des interactions plus complexes, telles que :

  • Contrôle de plusieurs servos : étendez le code pour contrôler plusieurs servos simultanément.
  • Ajuster la plage : Modifiez la plage de mouvement du servomoteur pour l'adapter à votre servomoteur en ajustant les limites définies pour servo_angle dans le code. Dans cet exemple, nous utilisons un micro-servomoteur avec une plage de 60 degrés. Certains servomoteurs ne sont pas linéaires ; il peut donc être nécessaire de compenser les erreurs angulaires et mécaniques.
  • Combinez avec d'autres capteurs : utilisez des capteurs supplémentaires, comme les capteurs de proximité et de lumière de CodeCell, pour créer des projets interactifs et réactifs.
  • Utilisation pour la stabilisation : implémentez cette configuration pour stabiliser les plates-formes telles que les cardans pour la stabilisation de la caméra et du capteur.

    Conclusion

    Ce projet montre comment contrôler un servomoteur avec CodeCell grâce à ses capacités de détection de mouvement. Expérimentez avec le code, créez vos propres projets et consultez le dépôt GitHub de CodeCell pour plus d'exemples de code et de documentation technique !

    • Partager:

    Partage

    Github

    • À propos
    • Logiciel
    • Éducation
    • Contact
    • FAQ
    • Termes
    • Politique de remboursement
    • politique de confidentialité

    Soyez le premier informé des nouveaux projets et bénéficiez d'offres intéressantes !

    © 2026 Microbots.

    ★ Reviews

    Let customers speak for us

    68 reviews
    Write a review
    84%
    (57)
    6%
    (4)
    3%
    (2)
    3%
    (2)
    4%
    (3)
    63
    21
    C
    CodeCell C3
    Cloke74

    Great piece of kit, had just what i needed to complete the project i had in mind. Shame shipping to the UK is so expensive, but appreciate this isn’t necessarily in the hands of MicroBots

    A
    CodeCell C6
    Anonymous

    I had an issue, got a red light, I used too much flux. Support said clean it, then the one sensor worked fine. I got the help and answer same day I provided a foto.

    A
    CodeCell C6 Drive
    Anonymous

    I think this is the best of the ESP offered, most versatile.

    User picture
    P
    CodeCell C6
    Prudhvi tej Chinimilli

    Been testing the Microbots CodeCell C6 and honestly impressed with how much functionality they packed into such a tiny module. Great form factor for rapid prototyping wearable/embedded sensing applications. ESP32-C6 + IMU integration makes development much easier compared to building everything from scratch.

    Still exploring battery optimization and compact LiPo options for our use case, but overall the platform is promising for low-cost real-time sensing systems. Excited to keep building with it.

    F
    CodeCell C6
    Francisco Estivallet

    Amazing hardware, my go to for compact projects.

    User picture
    123