Soru Arduino'da salise elde etmek için delaya kaç vermeliyim?

Bu konuyu okuyanlar

Emnn

Jet Sesi, Özgürlüğün Sesidir!
Emektar
Katılım
3 Mayıs 2021
Mesajlar
2,207
Çözümler
8
Reaksiyon puanı
1,848
Puanları
113
Delaya ne kadar vermeliyim?

Bir kronometre üzerinde çalışıyorum.
doğru bir zamanlama olması için ne yapmalıyım?


C++:
#include <LiquidCrystal.h>

const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
int dk0 = 0 ;
int dk1 = 0 ;
int sn0 = 0 ;
int sn1 = 0 ;
int sl0 = 0 ;
int sl1 = 0 ;


void setup()
{
  lcd.begin(16, 2);
  lcd.print("Kronometre !");
  olay_1();
}

void loop()
{
  olay_1();
  delay(1);
  sl1 += 1 ;
 
  if(sl1 == 10)
  {
    sl1 = 0 ;
    sl0 += 1;
  }

  if(sl1 == 9)
  {
    if(sl0 == 5)
    {     
      sn1 += 1 ;
      sl0 = 0 ;
      sl1 = 0 ;
    }
  }

  if(sn1 == 10)
  {
    sn0 += 1 ;
    sn1 = 0 ;
  }

  if(sn0 == 5)
  {
    if(sn1 == 9)
    {
        dk1 += 1 ;
        sn0 = 0 ;
        sn1 = 0 ; 
    }
  }

  if(dk1 == 9)
  {
    dk0 += 1 ;
  }

}

void olay_1()
{ 
  lcd.setCursor(0, 1);
  lcd.print(dk0);

  lcd.setCursor(1, 1);
  lcd.print(dk1);

  lcd.setCursor(2, 1);
  lcd.print(":");

  lcd.setCursor(3, 1);
  lcd.print(sn0);

  lcd.setCursor(4, 1);
  lcd.print(sn1);

  lcd.setCursor(5, 1);
  lcd.print(":");

  lcd.setCursor(6, 1);
  lcd.print(sl0);

  lcd.setCursor(7, 1);
  lcd.print(sl1);
}
 

muratkocakk

Öğrenci
Katılım
6 Aralık 2022
Mesajlar
5
Reaksiyon puanı
0
Puanları
1
Yaş
49
Delay yerine milis() ya da microseconds() kullanabilirsiniz. Ayrıntılı açıklama arduino.cc sayfasında var
 
Üst