DEBOUNCE_TIME)) { contatore++; // Il conteggio aumentato indica una rotazione del pneumatico. lastPulseTime = currentTime; // Aggiorna l'ora dell'ultimo impulso }   5. La chiave per ottenere la velocità è calcolarla misurando l'intervallo di tempo tra due segnali e combinandolo con la circonferenza della ruota, quindi visualizzare il risultato sullo schermo M5StickC Plus 2. // Update screen display every 1 second if (currentTime - lastDisplayTime >= 1000) { M5.Lcd.fillScreen(BLACK); M5.Lcd.setCursor(20, 20); // Calculation of velocity 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; }   Compila e Esegui  1. Innanzitutto, scarica l'archivio zip. Una volta completato il download, decomprimilo e apri il file speed.ino file. 2. Collega M5StickC Plus 2 al computer utilizzando un cavo USB-C. Quindi vai su Strumenti -> Porta e seleziona la porta corretta. 3. Fai clic su Compila e, una volta completata la compilazione, fai clic su Carica. Mostra del Progetto    ">
Salta al contenuto

+49 1626571232

info@openelab.io

🚀 Spedizione gratuita a partire da 50€ in UE / 80€ in tutto il mondo

Costruire un sistema di rilevamento della velocità della bicicletta

16 Oct 2024 0 Commenti
Abbiamo sviluppato un entusiasmante progetto di rilevamento della velocità della bicicletta utilizzando M5StickC Plus 2 e un Unità ad effetto Hall. Mentre la ruota della bicicletta gira, il sensore Hall rileva i cambiamenti nel campo magnetico e i dati di velocità vengono visualizzati in tempo reale sullo schermo dell'M5StickC Plus 2. Questo progetto è un ottimo modo per imparare a combinare sensori con dispositivi IoT ed esplorare le possibilità dell'hardware intelligente. In questa guida ti guideremo attraverso i passaggi dettagliati per costruire il tuo tachimetro per bicicletta.
  

Descrizione del progetto

Questo progetto utilizza il sensore M5Stack Hall Effect Unit per monitorare la velocità della bicicletta. Abbiamo iniziato attaccando tre piccoli magneti al bordo interno della ruota e montando saldamente il sensore Hall sul telaio. Mentre la ruota gira, i magneti ruotano insieme ad essa e ogni volta che un magnete passa davanti al sensore Hall, genera un segnale elettrico.

Per calcolare la velocità, misuriamo prima la circonferenza della ruota. Quindi, registriamo l'intervallo di tempo tra due segnali per determinare quanto tempo impiega il magnete per completare un giro completo. Dividendo la circonferenza della ruota per il tempo registrato otteniamo la velocità della bicicletta.

È essenziale incorporare nel codice un meccanismo anti-vibrazione per evitare scatti multipli quando la ruota gira lentamente. Senza questo, il sensore potrebbe registrare falsi segnali, portando a letture di velocità imprecise. Questo progetto dimostra come applicare i sensori in modo efficace garantendo al tempo stesso precisione e affidabilità attraverso un'implementazione ponderata.

M5StickC PLUS2

M5StickC PLUS2

Visualizza prodotto
Hall Effect Unit

Unità dell'Effetto Hall

Visualizza prodotto
  

Caratteristiche funzionali

  • Visualizzazione della velocità in tempo reale: la velocità attuale della bicicletta viene mostrata in tempo reale sullo schermo M5StickC Plus 2, fornendo misurazioni precise della velocità per un'esperienza di guida accurata.
  • Rilevamento del sensore ad effetto Hall: il sistema sfrutta il sensore ad effetto Hall M5Stack per calcolare la velocità misurando la frequenza alla quale un magnete passa sul sensore, garantendo un rilevamento della velocità accurato e coerente.
  • Meccanismo anti-shaking: un algoritmo anti-shaking integrato previene l'attivazione di segnali multipli causati da velocità lente delle ruote o dossi stradali, migliorando la precisione della visualizzazione della velocità.
  • Design leggero: con il M5StickC Plus 2 compatto e leggero come controller, il sistema si adatta perfettamente alle biciclette, occupando uno spazio minimo e fornendo funzionalità robuste.

   

Installazione e Operazione

Precondizione

Dipendenza software: Arduino IDE ecc. Requisiti hardware: cavo USB-C, M5StickCPlus2, Hall Effect Unit, ecc. Dipendenze: libreria M5StickCPlus2, libreria Arduino, ecc.

Installazione delle dipendenze

1. Dopo aver installato l'IDE Arduino, apri il menu Impostazioni, incolla il collegamento della scheda di sviluppo M5 nel campo appropriato e fai clic su OK per salvare le modifiche.

2. Apri Strumenti->Scheda->Gestore Schede

3. Cerca M5Stack nell'Arduino Library Manager e installalo. Poiché è già installato su questo sistema, non ripeterò il processo di installazione.

4. Seleziona la versione di sviluppo, Strumenti->Scheda->M5Stack Arduino->M5StickCPlus2

5. Successivamente, installa la libreria M5StickCPlus2 selezionando Strumenti -> Gestisci librerie, cercando "M5StickCPlus2" e facendo clic su Installa. Se la libreria è già installata, il processo di installazione verrà saltato.

Ragione

1. Innanzitutto, otteniamo l'unità ad effetto Hall e apprendiamo che ogni volta che un magnete si avvicina, l'indicatore sul pin di uscita si accende e un segnale elettrico viene inviato dal pin I.

2. Innanzitutto, abbiamo iniziato definendo i pin di ricezione per i segnali elettrici del sensore Hall.

#define WHEEL_CIRCUMFERENCE 2000 // Circonferenza pneumatico in mm
#define HALL_PIN 33 // Pin del sensore Hall
#define DEBOUNCE_TIME 50 // Tempo di dithering in millisecondi

#define INPUT_PIN 26
        

 3. Inizializzazione del display 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. Design anti-vibrazione: rilevando l'intervallo tra i segnali elettrici provenienti dal sensore Hall, possiamo determinare se si sono verificati rilevamenti ripetuti.

contatore intero = 0;  // Registra il numero di rotazioni del pneumatico
senza segno lungo lastPulseTime = 0;  // Ora dell'ultimo impulso rilevato
senza segno lungo lastDisplayTime = 0;  // L'ultima volta che è stato visualizzato l'aggiornamento
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)) {
    contatore++;  // Il conteggio aumentato indica una rotazione del pneumatico.
    lastPulseTime = currentTime;  // Aggiorna l'ora dell'ultimo impulso
  }
        

 

5. La chiave per ottenere la velocità è calcolarla misurando l'intervallo di tempo tra due segnali e combinandolo con la circonferenza della ruota, quindi visualizzare il risultato sullo schermo M5StickC Plus 2.

// Update screen display every 1 second
  if (currentTime - lastDisplayTime >= 1000) {
    M5.Lcd.fillScreen(BLACK);
    M5.Lcd.setCursor(20, 20);
    
    // Calculation of velocity 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;
  }
        

 

Compila e Esegui

 1. Innanzitutto, scarica l'archivio zip. Una volta completato il download, decomprimilo e apri il file speed.ino file.

2. Collega M5StickC Plus 2 al computer utilizzando un cavo USB-C. Quindi vai su Strumenti -> Porta e seleziona la porta corretta.

3. Fai clic su Compila e, una volta completata la compilazione, fai clic su Carica.

Mostra del Progetto

 

 

Articolo precedente
Articolo successivo

lascia un commento

Tutti i commenti del blog vengono controllati prima della pubblicazione

Qualcuno ha recentemente acquistato un

Grazie per esserti iscritto!

Questa email è stata registrata!

Acquista il look

Scegli Opzioni

Modifica opzione
Notifica di disponibilità
this is just a warning
Login
Carrello della spesa
0 elementi
RuffRuff App RuffRuff App by Tsun