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 : Lecture du gyroscope

Le CodeCell est livré avec un gyroscope 3 axes BNO085 intégré, qui peut mesurer la vitesse angulaire - la vitesse à laquelle CodeCell tourne autour de chaque axe - ce qui facilite la détection des changements de direction.

Qu'est-ce qu'un gyroscope ?

Contrairement à un accéléromètre qui mesure le mouvement en ligne droite, un gyroscope détecte le mouvement de rotation . Il indique la vitesse de rotation de CodeCell en degrés par seconde (°/s).

  • Axe X → Rotation autour de l'axe gauche-droite (pas)
  • Axe Y → Rotation autour de l'axe avant-arrière (roulement)
  • Axe Z → Rotation autour de l'axe haut-bas (lacet)

Étape 1 : Lire les données du gyroscope à partir de CodeCell

Avant de pouvoir utiliser le gyroscope, nous devons l’initialiser et commencer à lire les données.

Ce code lit les valeurs de vitesse angulaire X, Y et Z et les imprime toutes les 100 ms.

 #include <CodeCell.h>

 CodeCell myCodeCell;

 float x = 0.0; // Angular velocity around X-axis
 float y = 0.0; // Angular velocity around Y-axis
 float z = 0.0; // Angular velocity around Z-axis

 void setup() {
 Serial.begin(115200);
 myCodeCell.Init(MOTION_GYRO); // Initialize the gyroscope
 }

 void loop() {
 if (myCodeCell.Run(10)) { // Read at 10Hz (every 100ms)
 myCodeCell.Motion_GyroRead(x, y, z); // Get gyro readings

 Serial.print("Gyro X: "); Serial.print(x);
 Serial.print(" Y: "); Serial.print(y);
 Serial.print(" Z: "); Serial.println(z);
 }
 }

Ce que vous remarquerez :

  • Lorsque CodeCell est toujours , toutes les valeurs doivent être proches de 0.
  • Si vous l'inclinez vers l'avant ou vers l'arrière , les valeurs de l'axe X changent.
  • Si vous le tournez vers la gauche ou la droite , les valeurs de l'axe Y changent.
  • Si vous le faites pivoter comme un volant , les valeurs de l'axe Z changent.

Plus la valeur est élevée, plus la rotation est rapide.

Étape 2 : Détecter la rotation et changer la couleur de la LED

Maintenant, détectons quand CodeCell tourne à gauche ou à droite et modifions la couleur de la LED RVB en conséquence .

Ce programme :

  • Fait passer la LED au vert lorsqu'elle est tournée vers la droite (Z positif) .
  • Fait passer la LED au rouge lorsqu'elle est tournée vers la gauche (Z négatif) .
 #include <CodeCell.h>

 CodeCell myCodeCell;

 float x = 0.0, y = 0.0, z = 0.0;
 const float ROTATION_THRESHOLD = 3.0; // Rotation speed threshold (°/s)

 void setup() {
 Serial.begin(115200);
 myCodeCell.Init(MOTION_GYRO); // Initialize gyroscope
 }

 void loop() {
 if (myCodeCell.Run(10)) { // Read at 10Hz
 myCodeCell.Motion_GyroRead(x, y, z); // Get gyroscope values

 Serial.print("Gyro Z: ");
 Serial.println(z); // Print rotation speed
 
si (z > SEUIL_DE_ROTATION) {
 myCodeCell.LED(0, 255, 0); // Allume la LED verte (rotation à droite)
 }
 sinon si (z < -ROTATION_THRESHOLD) {
 myCodeCell.LED(255, 0, 0); // Allumer la LED en rouge (rotation à gauche)
 }
 autre {
 myCodeCell.LED(0, 0, 0); // Éteint la LED lorsqu'elle ne tourne pas
 }
 }
 }

Le gyroscope mesure la vitesse angulaire en degrés par seconde (°/s). Si la valeur de la rotation Z (lacet) dépasse le seuil, nous considérons que CodeCell est en rotation.

  • Z > 3 → En tournant vers la droite , la LED devient verte .
  • Z < -3 → En tournant vers la gauche , la LED devient rouge .

Essayez de modifier ROTATION_THRESHOLD pour augmenter ou diminuer la sensibilité.

  • Valeur supérieure = Détecte uniquement les rotations rapides
  • Valeur inférieure = Détecte même les petites rotations

Expérimentez vos propres idées !

Maintenant que vous pouvez suivre la rotation, essayez :

  • Utilisation de différentes couleurs de LED pour différents axes
  • Détection de mouvements rapides ou de gestes
  • Apprendre et suivre la rotation au fil du temps

  • 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

70 reviews
Write a review
84%
(59)
6%
(4)
3%
(2)
3%
(2)
4%
(3)
65
21
J
ProtoBot
Javier

I Recieved yesterday my ProtoBot and the quality and details are awesome!

User picture
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.

123