RTC modülümü ve LCD'yi Arduino'ma bağlıyorum. Zaman doğru olarak yazdırılır, ancak, örn. 10:13:09 gerçek zamanlı olarak, LCD ekranda 10:13:19 olarak basıldı. 10:13:10'a geldiğinde, iyi bir şekilde basılıyor. Örnek: 10:13:58LCD ve RTC_DS1307- 1-9 basamaklı saniyeleri doğru şekilde LCD'ye basamamak
10:13:59
10:14:10
10:14:11 ... İşte sorun
10:14 olduğunu : 19 Burada sorun
10:14:10
10:14:11 ... vb olduğunu
Bunun içinKodum (Ben yanlış gidiyorum emin olduğu):
//time displayed on lcd
lcd.setCursor(4, 0);
lcd.print(now.hour(), DEC);
lcd.print(':');
lcd.print(now.minute(), DEC);
lcd.print(':');
if(Serial.print(now.second(), DEC) >= 10){
lcd.setCursor(10,0);
lcd.print(now.second(), DEC);
}
else if(Serial.print(now.second(), DEC) < 10){
lcd.setCursor(11,0);
lcd.print(now.second(), DEC);
lcd.setCursor(10,0);
lcd.print(" ");
}
birisi bu kodla bana yardım eder misiniz? tarafından
[Serial.::print, yazdırılan bayt sayısını döndürür] (https://www.arduino.cc/en/Serial/Print) Daha sonra 10'a yazılan bayt sayısını karşılaştırırsınız. istemek. – user4581301
Saniye <10 olduğunda, hem Serial.print hem de lcd.print tek bir rakam basacaktır. Bu rakamı doğru yere yazdırarak telafi ettiniz, ancak "onlar" konumunda kalan rakamı değiştirmediniz. Öndeki 0'ı yazdırmanız gerekiyor. –