Lcd'ye yazdırılan deger sorunu.[Sorun Çözüldü]

Merhabalar.lcdye 0-460arasında bir değer yazdırıyorum.460tan 0a doğru azalırken 100e kadar bi sorun yok 99yazacağına 990 yazıyor. bunu nasıl halledebilirim. şimdiden teşekkürler.

#include <LiquidCrystal.h>LiquidCrystallcd(12, 11, 5, 4, 3, 2);constintpot=A0;intdeger=0;intoran=0;void **setup** ()
{
  lcd.begin(16, 2);
  pinMode(pot,INPUT);
  lcd.setCursor(0,0);
  lcd.print("Deger=");
}void **loop** ()
{
  deger=analogRead(pot);
  oran=map(deger,0,1024,0,460);
  lcd.setCursor(6,0);
  lcd.print(oran);
}

eski bilgiyi sil önce. altta kalan 100 değeri 3 karakter uzunluğunda senin yolladığın 99 2 karakter uzunluğunda ve hepsini sola yanaşık yazdığı için 99 tan son 990 yazıyor sanıyorsun :slight_smile:

teşekkür ederim.aslında 990 olmadığını 99olduğunu biliyorum çünkü Serial.print yaparak 99 85 vs değerleri gördüm ama lcd de 990 850 değerleri vardı. sorunu çözdüğüm kodlarıda paylaşıyorum. sorunu kodun son 3 satırında çözdüm.

#include <LiquidCrystal.h>LiquidCrystallcd(12, 11, 5, 4, 3, 2);constintpot=A0;intdeger=0;intoran=0;void **setup** ()
{
  lcd.begin(16, 2);
  pinMode(pot,INPUT);
  
}void **loop** ()
{
  lcd.setCursor(0,0);
  lcd.print("Deger=");
  deger=analogRead(pot);
  oran=map(deger,0,1024,0,460);
  lcd.setCursor(6,0);
  lcd.print(oran);
  delay(100);
  lcd.clear();
  delayMicroseconds(1);
}

lcd.clear komutunu lcd.setcursor dan önce ekrandaki herşeyi yazmadan önce kullanırsan daha iyi olablir ekranda kırpışma daha az olur. senin son yaptığında delay dan once ekranı sildiğin için delay suresince ekran beyaz kalacağından gözde kırpışma hissi verir, ama lcd.clear loopta ilk komut olursa kırpışma o kadar hissedilmez.

lcd.clear dan sonraki beklemeyi 1milisaniye yapmistim. kirpisma vardi ama cok zor farkediliyordu ondan dolayi beklemeyi 1microsaniye yaptim kirpisma fark edilmiyor