Nice packaging, good follow up on the delivery, need to look up some online resources now for my first actual project wiht the cell
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.

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).
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 :
Plus la valeur est élevée, plus la rotation est rapide.
Maintenant, détectons quand CodeCell tourne à gauche ou à droite et modifions la couleur de la LED RVB en conséquence .
Ce programme :
#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.
Essayez de modifier ROTATION_THRESHOLD pour augmenter ou diminuer la sensibilité.
Maintenant que vous pouvez suivre la rotation, essayez :
Soyez le premier informé des nouveaux projets et bénéficiez d'offres intéressantes !
© 2026 Microbots.
Nice packaging, good follow up on the delivery, need to look up some online resources now for my first actual project wiht the cell