analogRead() fonksiyonumuzu nasıl kullanacağımızı öğrenmiştik, şimdi ise Analog-Dijital çevirme işlemi sonrası elde ettiğimiz değeri hesaplayacağız.
Bu dersimizde LM35 sıcaklık sensörü ile sıcaklık ölçümü yapacağız. Burada önemli olan, kullanacağımız her elemanın datasheet dosyasına bir göz gezdirmektir. Çünkü çalışma mantığını bilmediğimiz bir elemanı verimli kullanamayız. Öncelikle datasheet dosyamızdan elemanın kılıf şekline bakıyoruz. Çünkü bağlantımızı kılıf şekline göre yapacağız.
Resimde gördüğümüz üzere; 1 nolu uç besleme gerilimini uygulayacağımız uçtur. 4 ila 20V arasında bbesleme gerilimi uygulanabilir. biz beslemeyi 5V yapacağız.
2 nolu uç ise ölçüm bilgisini alacağımız, yani arduino analog pinine bağlayacağımız uçtur.
3 numaralı uç ise GND yani güç kaynağımızın ya da arduinomuzun GND pinine bağlayacağımız uçtur.
Yine datasheet dosyamızı araştırınca elemanın diğer bilgilerine baktığımızda sıcaklık sıfırdan itibaren her bir derece yükseldiğinde LM35’in 2 numaralı ucungaki gerilim +10mV yükseleceğini söylüyor. Bu da demek oluyor ki, çıkıştan 100mV gerilim alıyorsak sıcaklık değerimiz 100/10=10 derece olacaktır. O halde analog girişten okuduğumuz değeri öncelikle voltaja dönüştereceğiz demektir.
Öncelikle analog giriş pininden analogRead() fonksiyonu kullanarak aldığımız değeri Analog-Dijital dönüştürücü çözünürlüğüne bölüyoruz. Ardından elde değeri 5000 ile çarparak milivolt cinsine dönüştürüyoruz.
Buradan gerisini kodlarla anlatalım;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
float olculenDeger; // Analog girişten ölçeceğimiz analog değeri tutacağımız değişken float hesapla; // ölçülen değeri milivolt cinsine dönüştürüp bu değişkene atayacağız float sicaklik; // hesaplama sonrası sicaklık değerini atayacağımız değişken void setup() { Serial.begin(9600); // Seri haberleşme hızını 9600 olarak ayarlıyoruz } void loop() { olculenDeger = analogRead(A0); // A0 pinindeki değeri ölç ve olculen değer değişkenine ata delay(10); // 10 milisaniye bekle (Analog ölçümü yapıldıktan sonra küçük bir miktar bekleme önerilir) hesapla = (olculenDeger/1023)*5000; // Ölçülen değeri milivolt cinsine dönüştür ve hesapla değişkenine ata sicaklik = hesapla/10; // hesaplana değeri 10 milivolt'a bölüyoruz ve sıcaklık değişkenine atıyoruz Serial.print("Olculen Deger : "); // Ekrana "Ölçülen Deger : " yaz ve aynı satırdan devam et Serial.println(olculenDeger); // Analog girişten ölçülen değeri ekrana yaz ve alt satıra geç Serial.print("Hesaplanan Deger : "); // Ekrana "Hesaplanan Deger : " yaz ve aynı satırdan devam et Serial.println(hesapla); // ekrana hesaplanan milivolt cinsinden değeri yaz ve alt satıra geç Serial.print("Sicaklik : "); // Ekrana "Sicaklik : " yaz ve aynı satırdan devam et Serial.println(sicaklik); // Ekrana sıcaklık değerini yaz ve alt satıra geç delay(1000); // 1000 milisaniye bekle } |
Kodlarımızı yazıp Arduino UNO muza yükledikten sonra bağlantımızı aşağıdaki görseldeki gibi yapacağız ve USB bağlantısını bilgisayarımızdan ayırmadan Araçlar menüsünden Seri Port Ekranı’nı açacağız.
Seri Port Ekranı’nda değerler görünüyorsa sorun yok demektir.