نمایش نتایج: از 1 به 10 از 25
Like Tree10 لایک

موضوع: شمارش با آردوینو

Hybrid View

  1. #1
    Senior Member
    تاریخ عضویت
    Dec 2013
    محل سکونت
    ایران - شیراز
    نوشته ها
    220
    unsigned long start, finished, elapsed;

    void setup()
    {
    Serial.begin(9600);
    pinMode(2, INPUT); // start button
    pinMode(3, INPUT); // stop button
    Serial.println("Press 1 for Start/reset, 2 for elapsed time");
    }

    void displayResult()
    {
    float h,m,s,ms;
    unsigned long over;
    elapsed=finished-start;
    h=int(elapsed/3600000);
    over=elapsed%3600000;
    m=int(over/60000);
    over=over%60000;
    s=int(over/1000);
    ms=over%1000;
    Serial.print("Raw elapsed time: ");
    Serial.println(elapsed);
    Serial.print("Elapsed time: ");
    Serial.print(h,0);
    Serial.print("h ");
    Serial.print(m,0);
    Serial.print("m ");
    Serial.print(s,0);
    Serial.print("s ");
    Serial.print(ms,0);
    Serial.println("ms");
    Serial.println();
    }

    void loop()
    {
    if (digitalRead(2)==HIGH)
    {
    start=millis();
    delay(200); // for debounce
    Serial.println("Started...");
    }
    if (digitalRead(3)==HIGH)
    {
    finished=millis();
    delay(200); // for debounce
    displayResult();
    }
    }

    فقط یکم تغییرات توش بده

    arduino millis counter اینو اگه تو گوگل سرچ کنی چیزای دیگه ایی هم پیدا می کنی.
    سوال داشتی در خدمتیم.....
    ویرایش توسط solxsado : 05-13-2015 در ساعت 07:27 PM
    لایک کردن

  2. #2
    Member
    تاریخ عضویت
    Feb 2015
    نوشته ها
    42
    سلام
    خیلی ممنون به خاطر راهنمایی که انجا دادید
    من کاملا برنامه شما رو متوجه شدم
    اما چند تا سوال دارم:
    یکی اینکه قبل از یک شدن پین شماره 2 و 3 این برنامه شروع به کار میکنه!
    دومه اینکه مثلا من از یک صفحه serial monitor عکس گرفتم و نتیجه زی رو گرفتم که نمیدونم چرا!!!؟؟؟؟؟؟
    Press 1 for Start/reset, 2 for elapsed time
    Started...
    Started...
    Started...
    Started...
    Started...
    Started...
    Raw elapsed time: 200
    Elapsed time: 0h 0m 2s 0ms

    Started...
    Raw elapsed time: 201
    Elapsed time: 0h 0m 2s 1ms

    Started...
    Raw elapsed time: 200
    Elapsed time: 0h 0m 2s 0ms

    Started...
    Raw elapsed time: 201
    Elapsed time: 0h 0m 2s 1ms

    Started...
    Raw elapsed time: 201
    Elapsed time: 0h 0m 2s 1ms

    Started...
    Raw elapsed time: 200
    Elapsed time: 0h 0m 2s 0ms
    سوم اینه من میخوا این برامه رو روی lcd پیاده کنم
    برنامه زیر رو بهش اضافه کرم تا شاید جواب بده وی نمیدونم چرا جواب نمیده!
    #include <SPI.h>

    unsigned long start, finished, elapsed;
    #include <LiquidCrystal.h>

    LiquidCrystal lcd(10,9, 5, 4, 3, 2);



    void setup()
    {
    float h,m,s,ms;
    unsigned long over;
    elapsed=finished-start;
    h=int(elapsed/3600000);
    over=elapsed%3600000;
    m=int(over/60000);
    over=over%60000;
    s=int(over/1000);
    ms=over%1000;

    Serial.begin(9600);

    lcd.begin(16,2);
    lcd.clear();
    lcd.setCursor(0,0);
    lcd.println("hello");
    lcd.setCursor(0,1);
    lcd.print(s);


    }
    void loop()
    {
    float h,m,s,ms;
    unsigned long over;
    elapsed=finished-start;
    h=int(elapsed/3600000);
    over=elapsed%3600000;
    m=int(over/60000);
    over=over%60000;
    s=int(over/1000);
    ms=over%1000;
    if (digitalRead(13)==HIGH)
    {
    start=millis();
    delay(200);
    lcd.clear();
    lcd.setCursor(0,0);
    lcd.println("Started...");
    }
    if (digitalRead(14)==HIGH)
    {
    finished=millis();
    lcd.println(s);

    delay(200);
    }
    }



    الان خط اول مینویسه start
    اما در خط بعد عددی که مینویسه معلوم نیست که چیه
    وقتی پایه 13 رو یک میکنم و بلافاصله 14 رو
    یک بار مینویسه
    47.00
    یک بار مینویسه
    19.00
    با توجه به اینکه نوشتم ثانیه رو نشون بده معلوم نیست چی داره نشون میده
    ممنون میشم اگه راهنماییم کنید

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  

SEO by vBSEO