Belirli bir süreye kadar saniye saydırmak.
  • Merhaba,

    Elimizde nabız ölçer cihaza benzeyen bir cihaz var. Kolay anlatabilmek için bu benzetmeyi yapıyorum.
    Kalp atışı gibi sürekli vuruş yapıyor. Şuan o vuruşu arduino'yla saydırabiliyoruz.
    Fakat önemli olan 60sn.de kaç vuruş yapabildiği. Tansiyon ölçme işlemi gibi.

    Bunu daha kısa sürede belirlemek için 4sn'de yapacağı vuruş sayısından 60sn. yi çıkarmak istiyoruz.
    Vuruşları sayan kodu araştırıp buldum fakat, vuruş başladığı anda saniye sayacak ve saniye sonucunda göre orantıyla 60sn.dekini vuruşu hesaplatmak istiyoruz.

    millis'le saydırabiliyorum fakat vuruş başladığı anda saniyenin başlamasını ve 4.sn. sonunda kaç vuruş varsa onu tespit etmek istiyorum. umarım anlatabilmişimdir..
    elimdeki kodlar şu şekilde.



    #include
    LiquidCrystal lcd(12, 11, 6, 5, 4, 3);

    int ledPin = 13; // choose the pin for the LED
    int switchPin =2; // choose the input pin (for a pushbutton)
    int val = 0; // variable for reading the pin status
    int counter = 0;
    int currentState = 0;
    int previousState = 0;


    void setup() {
    lcd.begin(16, 2);
    pinMode(ledPin, OUTPUT); // declare LED as output
    pinMode(switchPin, INPUT); // declare pushbutton as input
    Serial.begin(9600);
    }

    void loop(){
    lcd.setCursor(7,1); // BURAYI SN. SAYDIRMAK İÇİN KULLANDIM.
    lcd.print(millis()/1000); // BURAYI SN. SAYDIRMAK İÇİN KULLANDIM.



    lcd.setCursor(0,0);
    lcd.println("Frekans ");
    val = digitalRead(switchPin); // read input value
    if (val == HIGH) { // check if the input is HIGH (button released)
    digitalWrite(ledPin, HIGH); // turn LED on
    currentState = 1;
    }
    else {
    digitalWrite(ledPin, LOW); // turn LED off
    currentState = 0;
    }
    if(currentState != previousState){
    if(currentState == 1){
    counter = counter + 1;
    Serial.println(counter);
    lcd.setCursor(0,1);
    lcd.print(counter);
    }
    }
    previousState = currentState;
    delay(50);
    }
  • Hocam kolay gelsin


    float a=millis();
    float b=a+4000
    while ( (b-a)>=0)
    {
    4 sn yedeki vuruş sayısını bul
    }

    vuruş sayısını 15 ile çarp

    bu şekilde deneyebilirsin sanki
  • Çok teşekkür ederim. Deneyip, projeyle ilişkilendirip son durumu tekrar yazacağım.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Login with Facebook
Açık kaynak kültürü gereği, çözdüğünüz problemlerin çözümlerini paylaşmayı lütfen unutmayın.