Lis302dl I2C İletişimi

Başlatan Mucit23, 05 Mart 2013, 15:39:50

Mucit23

Anladım. Normal ozaman aldığım değerler.

Alıntı yapılan: haydarpasamikro - 11 Mart 2013, 20:49:11
int roundedUp = (int)Math.Ceiling(precise);

Ceil fonksiyonu ile tavana yuvarla.

Hocam böyle birşeyler ekledim

Xangle = Math.Ceiling(Xangle);
Fakat bu virgül felan hiçbirey bırakmadı. Ben virgülden sonra 1 hane olsun istiyorum.

fatih6761

Alıntı yapılan: Mucit23 - 11 Mart 2013, 21:20:21
Anladım. Normal ozaman aldığım değerler.

Hocam böyle birşeyler ekledim

Xangle = Math.Ceiling(Xangle);
Fakat bu virgül felan hiçbirey bırakmadı. Ben virgülden sonra 1 hane olsun istiyorum.

Hocam Math.Round kullancaksınız.
Xangle = Math.Round(Xangle, 1); // ikinci parametre basamak sayısı

Mucit23

Tamam Hocam sağolun. Aslında birşey daha soracağım ama sanırsam günlük kotamı doldurdum.  :-[ Biraz araştırayım

fatih6761

Sorun hocam sorun. Elden geldiğince cevaplamaya çalışırım. Bu arada kendi discovery kitime bir program yazmıştım. Onu açıya modifiye ettim. 16x2 LCD ile değerlere baktım Zonguldakta en fazla 89 derece görüyorum...

Mucit23

Hocam eyv. Valla soru çok ama gerçekten internette direk bulamıyorum. Çünkü konular genelde yüzeysel anlatılıyor. Şu C# da da en basit bir nesnenin bile zilyon çeşit ayarı var. Ben bu ayarlarda takılıyorum. Kurcala kurcala ömrüm tükeniyor.

C++ da yapabildiklerimi buradada yapayım diyorum. Mesela 32.5 sayısını bir labele yazarken sayı kaç hane olursa olsun başına 0 koyarak yazma gibi (032.5, 005,1....) gibi.. :-\


fatih6761

Hocam C# da bu işleme String Formatting deniyor. Şuradan tüm örnekleri incelerseniz daha kolay kavrarsınız.
http://msdn.microsoft.com/en-us/library/system.string.format.aspx
Sayı biçimlendirme için:
http://msdn.microsoft.com/en-us/library/0c899ak8.aspx
Bahsettiğiniz işleme Fill With Zero deniyor.
http://msdn.microsoft.com/en-us/library/dd260048.aspx
Basitçe iki yöntem var.
string sonuc = string.Format("{0:F6}", sayi);

Burada "{0:F6}" Format String oluyor.
{} köşeli parantezler parametre belirtiyor.
Baştaki 0 sayısı, 0. yani ilk gelen parametre/argüman olduğunu belirtiyor. Yani format string den donra girdiğiniz ilk rakamı buna yönlendirecek.
: işareti argümanın özellik ile niteleneceğini belirtiyor.
F sayısı float veri tipini belirtiyor.
6 sayısı altı basamak doldurulacağını belirtiyor.
double number = 32.5;
string outputValue = String.Format("{0:F6}", number);
Console.WriteLine(outputValue);

// veya

outputValue = number.ToString("F6");
Console.WriteLine(outputValue);

Console.ReadLine();

İyi çalışmalar hocam...

Mucit23


muhittin_kaplan

Güzel Olmuş Ellerine Sağlık..

Mucit23

Hocam teşekkür ederim. Aldığım verileri grafiğe çizdirmem çok iyi oldu. Kartı bir masa üzerine koyduktan sonra masa üzerindeki en ufak bir tıkırtıyı bile grafikte görebiliyorum.