Comment construire un capteur de vitesse en utilisant Arduino?

Speed Sensor Using Arduino

Composants nécessaires pour construire un capteur de vitesse Arduino
Diagramme de circuit du capteur de vitesse à l'aide d'ArduinoSpeed-Sensor-Arduino-Hardware-MarkingsConfiguration d'Arduino Uno pour le testeur de vitesseUnité d'affichage pour le test de vitesse avec le capteur IR et Arduino UnoConfiguration des connexions d'unité d'affichage
Mesurer la distance entre les deux capteurs IRMesurer la voiture avant le test de vitesse

Capteur IR

#include 
#include 
// Initialize the I2C LCD with the default address (usually 0x27 or 0x3F)
LiquidCrystal_I2C lcd(0x27, 16, 2);
#define SENSOR_1_PIN 2 // Pin for first IR sensor (INT0)
#define SENSOR_2_PIN 3 // Pin for second IR sensor (INT1)
volatile unsigned long timeSensor1 = 0;
volatile unsigned long timeSensor2 = 0;
volatile bool sensor1Triggered = false;
volatile bool sensor2Triggered = false;
const float distanceBetweenSensors = 0.1; // Distance between sensors in meters
float speed = 0; // Speed in meters per second (m/s)
void sensor1ISR() {
 if (!sensor1Triggered) { // Ensure only the first trigger is recorded
   timeSensor1 = micros(); // Record the time of sensor 1 trigger
   sensor1Triggered = true;
 }
}
void sensor2ISR() {
 if (!sensor2Triggered) { // Ensure only the first trigger is recorded
   timeSensor2 = micros(); // Record the time of sensor 2 trigger
   sensor2Triggered = true;
 }
}
void setup() {
 // Initialize the LCD
 lcd.init();
 lcd.backlight();
 lcd.setCursor(0, 0);
 lcd.print("Speed Gun");
 delay(2000); // Show the title for 2 seconds
 lcd.clear();
 pinMode(SENSOR_1_PIN, INPUT);
 pinMode(SENSOR_2_PIN, INPUT);
 // Attach interrupt for sensor 1 (INT0) and sensor 2 (INT1)
 attachInterrupt(digitalPinToInterrupt(SENSOR_1_PIN), sensor1ISR, RISING);
 attachInterrupt(digitalPinToInterrupt(SENSOR_2_PIN), sensor2ISR, RISING);
}
void loop() {
 if (sensor1Triggered && sensor2Triggered) {
   sensor1Triggered = false;
   sensor2Triggered = false;
   unsigned long timeDifference = abs(timeSensor2 - timeSensor1); // Time in microseconds
   lcd.clear();
   if (timeDifference > 0) {
     speed = distanceBetweenSensors / (timeDifference / 1000000.0); // Convert µs to seconds
     lcd.setCursor(0, 0);
     lcd.print("Speed:");
     lcd.setCursor(0, 1);
     lcd.print(speed, 2); // Display speed with 2 decimal places
     lcd.print(" m/s");
   } else {
     lcd.setCursor(0, 0);
     lcd.print("Invalid Reading!");
   }
 }
}

Autres projets Arduino liés à la mesure de la vitesse

Compteur de vitesse analogique utilisant le capteur Arduino et IR

Compteur de vitesse analogique utilisant le capteur Arduino et IR

Ce projet utilise un capteur IR pour mesurer la vitesse ou le régime d’un objet en mouvement, comme un moteur ou une roue de véhicule. La vitesse est affichée dans les formats analogiques et numériques, ce qui le rend utile pour diverses applications.

Mesure de vitesse, de distance et d'angle pour les robots mobiles à l'aide d'Arduino et LM393 Speed ​​Capteur (H206) Tabs primaires Affichage des onglets  Compteur de vitesse GPS DIY en utilisant Arduino et OLED

Compteur de vitesse GPS DIY en utilisant Arduino et OLED

À l’aide d’un module GPS, ce projet mesure la vitesse d’un véhicule en mouvement et l’affiche sur un écran OLED. Il offre un moyen facile de créer un compteur de vitesse numérique sans capteurs mécaniques.

Compteur de vitesse de bricolage à l'aide d'Arduino et de traitement de l'application Android

Retrouvez l’histoire de Raspberry Pi dans cette vidéo :

  • Arduino Sensor Kit - Base [TPX00031] - Kit de capteurs pour débutants, idéal pour découvrir l’électronique et créer des projets interactifs avec Arduino
  • APKLVSR Lot de 5 capteurs d'humidité du Sol - Analogique capacitif - Hygromètre - Capteur d'humidité sans Corrosion - Capteur d'humidité Solaire pour Arduino