Hirdetés

Új hozzászólás Aktív témák

  • Tomika86

    senior tag

    Ez így jó lehet nyers fordulatszámra?
    volatile byte fordulat;
    float impulzushossz_ms, rpm, holtido;
    unsigned long elozoido;

    void setup()
    {
    Serial.begin(9600);
    attachInterrupt(0, impulzus, RISING); // Felfutóél detektálásra függvény meghívása
    fordulat = rpm = elozoido = 0; // Minden változó inicializálása 0 értékre
    }

    void loop()
    {
    if (millis() - holtido > 2000) // Nincs impulzus 2000ms-ig
    {
    rpm = 0; // Fordulat nullázása
    holtidő = millis();
    }
    Serial.println(rpm);
    }

    void impulzus() // Impulzus érzékelésre meghívás
    {
    fordulat++;
    holtido = millis();
    if (fordulat >= 2)
    {
    impulzushossz_ms = millis() - elozoido; // Idő 2 fordulathoz
    rpm = 60000 / impulzushossz_ms; // Fordulat / perc
    elozoido = millis();
    }
    }

Új hozzászólás Aktív témák