Close

Odpověď na: Anemometr z DC motoru?

Úvodní stránka Fórum Hardware Arduino Anemometr z DC motoru? Odpověď na: Anemometr z DC motoru?

#8370
Bojkas
Účastník

Ahoj,

tak jsem nakonec použil IR bránu, která měří otáčky.

Jaký vzorec použít na přepočet z otáček na km/h? Zkusil jsem do kódu zakomponovat „v = 2πr × RPM × (60/1000) km/hr“, nevím proč, ale měří to v násobcích 1,13. :-/

Celý kód:


// Compute the RPM of a simple DC Motor using a photomicrosensor(PMS)
#include <Wire.h>
#include <LCD.h>
#include <LiquidCrystal_I2C.h>
#define PMS_PIN A0 // Pin for signal from Photomicrosensor
#define LED_PIN 13 //Using Arduino's Internal LED; just as an indicator

boolean counted=false;
int t1=0,t2=0;
int hits=0;
int rps=0;

LiquidCrystal_I2C  lcd(0x27,2,1,0,4,5,6,7);

void setup(){
  pinMode(PMS_PIN, INPUT);
  pinMode(LED_PIN, OUTPUT);
  lcd.setBacklightPin(3,POSITIVE);
  lcd.setBacklight(HIGH); // NOTE: You can turn the backlight off by setting it to LOW instead of HIGH
  lcd.begin(16, 2);
  lcd.clear();
}

void loop(){
  t2 = millis();
  if(t2 >= (t1 + 1000)){
    rps = hits;
    hits = 0;
    t1=t2;

    rpm = (rps*60);
    lcd.clear();
    lcd.print("Vitr: ");
    lcd.print(0.3142*rpm*0.06);
    lcd.print(" km/h");
  }  
  
  if(digitalRead(PMS_PIN) == HIGH){
    if(!counted){
      counted = true;
      hits++;
    }
  } else {
    counted = false;
  }
   
  digitalWrite(LED_PIN, digitalRead(PMS_PIN));
}