Use Arduino para realizar una medición automática de la velocidad del automóvil

Artículo de referencia: https://blog.csdn.net/qq_39097425/article/details/85245668

El principio de la medición de la velocidad: el uso de un interruptor de láminas o un sensor Hall, ambos con las mismas propiedades, se activan cuando se acerca un imán y generan señales de nivel alto y bajo. Ate el sensor al marco y coloque imanes en las ruedas. Cuando el imán se activa una vez, se considera que la rueda gira una vez, y el perímetro de la rueda se puede obtener utilizando el conocimiento de matemáticas de la escuela primaria para obtener la velocidad por hora.

Flauta de caña:Inserte la descripción de la imagen aquí

Sensor de pasillo:Inserte la descripción de la imagen aquí

Además de los interruptores de proximidad, como los interruptores de láminas y los sensores Hall, se pueden utilizar interruptores de vibración. Fije el dispositivo en el interior de los pedales y use la cadencia para calcular la velocidad (este método solo es adecuado para girar), y también se puede usar la cadencia del ciclista.

Interruptor de vibración:Interruptor de vibración

El código de Arduino es el siguiente:

long lastturn;
float SPEED = 0;
float DIST;
float w_length = 2.050;
boolean isRun = false;

void setup() {
    
    
  pinMode(2, INPUT_PULLUP);
  Serial.begin(9600);               
  attachInterrupt(digitalPinToInterrupt(2), sens, FALLING);  
  lastturn = millis();
}

void sens() {
    
    
  if (millis() - lastturn > 50) {
    
    
    isRun = true;
    SPEED = w_length / ((float)(millis() - lastturn) / 1000) * 3.6;   
    lastturn = millis();                                              
    Serial.print("速度: ");
    Serial.print(SPEED);
    Serial.println(" km/h");
    isRun = false;
  }
}

void loop() {
    
    
  if ((millis() - lastturn) > 2000 && !isRun) {
    
        
    SPEED = 0;                             
    Serial.println("无速度");
    delay(1000);
  }
}

Actualmente, existe un problema conocido, si no se obtiene señal durante más de 2 segundos conduciendo a baja velocidad, se imprimirá "No Speed" Este problema se puede eliminar cuando se realiza el programa front-end.

El efecto real es el siguiente:Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/hp150119/article/details/110432134
Recomendado
Clasificación