Aller au contenu

+49 1626571232

info@openelab.io

🚀 Livraison gratuite à partir de 50€ dans l'UE / 80€ dans le monde entier

FAQ

M5StickC Plus2 : créer un système de détection de vitesse de vélo

16 Oct 2024 0 commentaires
Nous avons développé un projet passionnant de détection de vitesse de vélo en utilisant le M5StickC Plus 2 et un Unité à effet Hall. Lorsque la roue du vélo tourne, le capteur Hall détecte les changements dans le champ magnétique et les données de vitesse sont affichées en temps réel sur l'écran du M5StickC Plus 2. Ce projet est un excellent moyen d'apprendre à combiner des capteurs avec des appareils IoT et d'explorer les possibilités du matériel intelligent. Dans ce guide, nous vous guiderons à travers les étapes détaillées pour construire votre propre compteur de vitesse pour vélo.
  

Description du projet

Ce projet utilise le capteur M5Stack Hall Effect Unit pour suivre la vitesse du vélo. Nous avons commencé par fixer trois petits aimants sur la jante intérieure de la roue et par monter solidement le capteur Hall sur le cadre. Lorsque la roue tourne, les aimants tournent avec elle et chaque fois qu'un aimant passe devant le capteur Hall, il génère un signal électrique.

Pour calculer la vitesse, nous mesurons d'abord la circonférence de la roue. Ensuite, nous enregistrons l'intervalle de temps entre deux signaux pour déterminer combien de temps il faut à l'aimant pour effectuer un tour complet. En divisant la circonférence de la roue par le temps enregistré, on obtient la vitesse du vélo.

Il est essentiel d'incorporer un mécanisme anti-secousse dans le code pour éviter des déclenchements multiples lorsque la roue tourne lentement. Sans cela, le capteur peut enregistrer de faux signaux, conduisant à des mesures de vitesse inexactes. Ce projet montre comment appliquer efficacement les capteurs tout en garantissant la précision et la fiabilité grâce à une mise en œuvre réfléchie.

M5StickC PLUS2

M5StickC PLUS2

Voir le produit
Hall Effect Unit

Unité d'effet Hall

Voir le produit
  

Caractéristiques fonctionnelles

  • Affichage de la vitesse en temps réel : La vitesse actuelle du vélo est affichée en temps réel sur l'écran M5StickC Plus 2, offrant des mesures de vitesse précises pour une expérience de conduite précise.
  • Détection du capteur à effet Hall : le système exploite le capteur à effet Hall M5Stack pour calculer la vitesse en mesurant la fréquence à laquelle un aimant passe sur le capteur, assurant un suivi de vitesse précis et cohérent.
  • Mécanisme anti-secousses : un algorithme anti-secousses intégré empêche les déclenchements de signaux multiples causés par des vitesses lentes des roues ou des irrégularités de la route, améliorant ainsi le précision de l'affichage de la vitesse.
  • Conception légère : Avec le M5StickC Plus 2 compact et léger comme contrôleur, le système s'adapte parfaitement aux vélos, occupant un minimum d'espace tout en offrant des fonctionnalités robustes.

   

Installation et fonctionnement

Précondition

Dépendance logicielle : Arduino IDE etc. Configuration matérielle requise : Câble USB-C, M5StickCPlus2, Unité à effet Hall, etc. Dépendances : Bibliothèque M5StickCPlus2, Bibliothèque Arduino, etc.

Installation des dépendances

1. Après avoir installé l'IDE Arduino, ouvrez le menu Paramètres, collez le lien de la carte de développement M5 dans le champ approprié et cliquez sur OK pour enregistrer les modifications.

2. Ouvrez Outils->Carte->Gestionnaire de cartes

3. Recherchez M5Stack dans le gestionnaire de bibliothèque Arduino et installez-le. Puisqu'il est déjà installé sur ce système, je ne répéterai pas le processus d'installation.

4. Sélectionnez la version de développement, Outils->Carte->M5Stack Arduino->M5StickCPlus2

5. Ensuite, installez la bibliothèque M5StickCPlus2 en sélectionnant Outils -> Gérer les bibliothèques, en recherchant « M5StickCPlus2 » et en cliquant sur Installer. Si la bibliothèque est déjà installée, le processus d'installation sera ignoré.

Rationale

1. Tout d'abord, nous obtenons l'unité à effet Hall et apprenons que chaque fois qu'un aimant s'approche, l'indicateur sur la broche de sortie s'allume et un signal électrique est envoyé depuis la broche I.

2. Tout d’abord, nous avons commencé par définir les broches de réception des signaux électriques du capteur Hall.

#define WHEEL_CIRCUMFERENCE 2000 // Circonférence du pneu en mm
#define HALL_PIN 33 // Broches du capteur Hall
#define DEBOUNCE_TIME 50 // Temps de tramage en millisecondes

#define INPUT_PIN 26
        

 3. Initialisation de l'affichage Plus 2.

// Initialize M5StickC Plus2
  M5.begin();
  
  // Setting the orientation and font of the display
  M5.Lcd.setRotation(1);
  M5.Lcd.setTextSize(4);
  M5.Lcd.fillScreen(BLACK);
  M5.Lcd.setTextColor(WHITE);
        

 

4. Conception anti-tremblement : En détectant l'intervalle entre les signaux électriques du capteur Hall, nous pouvons déterminer si des détections répétées ont eu lieu.

compteur int = 0 ;  // Enregistre le nombre de rotations des pneus
non signé long lastPulseTime = 0 ;  // Heure de la dernière impulsion détectée
non signé long lastDisplayTime = 0 ;  // La dernière fois que la mise à jour a été affichée
unsigned long currentTime = 0;

currentTime = millis();
  // Read Hall sensor status
  bool hallState = digitalRead(HALL_PIN);

  // Changes in Hall sensors are detected and jitter has to be filtered out
  if (hallState == LOW && (currentTime - lastPulseTime > DEBOUNCE_TIME)) {
    compteur++;  // Un nombre accru indique une rotation de pneu.
    lastPulseTime = heure actuelle ;  // Mise à jour de l'heure de la dernière impulsion
  }
        

 

5. La clé pour obtenir la vitesse est de la calculer en mesurant l'intervalle de temps entre deux signaux et en le combinant avec la circonférence de la roue, puis d'afficher le résultat sur l'écran du M5StickC Plus 2.

// Update screen display every 1 second
  if (currentTime - lastDisplayTime >= 1000) {
    M5.Lcd.fillScreen(BLACK);
    M5.Lcd.setCursor(20, 20);
    
    // Calculation of v'elocity in millimeters per second, converted to meters per second
    double speed = ((double)counter * (double)WHEEL_CIRCUMFERENCE) / 1000.0;
    
    // Create a character buffer to store the formatted speed value
    char buffer[20];
    snprintf(buffer, sizeof(buffer), ' Speed:     %.2f m/s', speed);

    // Prints formatted speed value to LCD
    M5.Lcd.print(buffer);
    
    // Reset Counter
    counter = 0;
    
    // Update the displayed time
    lastDisplayTime = currentTime;
  }
        

 

Compiler et exécuter

 1. Tout d’abord, téléchargez l’archive zip. Une fois le téléchargement terminé, décompressez-le et ouvrez le speed.ino fichier.

2. Connectez le M5StickC Plus 2 à votre ordinateur à l'aide d'un câble USB-C. Ensuite, allez dans Outils -> Port et sélectionnez le bon port.

3. Cliquez sur Compiler, et une fois la compilation terminée, cliquez sur Télécharger.

Vitrine de projet

 

 

Article précédent
Prochain article

laissez un commentaire

Tous les commentaires du blog sont vérifiés avant la publication

Quelqu'un a récemment acheté un

Merci pour votre subscription!

Cet email a été enregistré !

Achetez le look

Choisissez les options

Modifier l'option
Notification de retour en stock
this is just a warning
Se connecter
Panier
0 articles
RuffRuff App RuffRuff App by Tsun