WRITING THE SOFTWARE OF LM35 USING WITH ARDUINO [TUTORIAL LESSON 11]
Hi everyone,
We continue from where we left our Arduino lessons. I hope my lessons are helping you. If you have any questions or concerns, please contact me. Today we will learn how to install the LM35 temperature sensor on Arduino. Let's start our lesson.
Arduino derslerimize kaldığımız yerden devam ediyoruz. Umarım derslerim size yardımcı oluyordur. Sorularınız veya merak ettiğiniz konular olursa bana ulaşabilirsiniz. Bugün sizlerle LM35 sıcaklık sensörü Arduino üzerinde nasıl kurulur bunu öğreneceğiz. Dersimize başlayalım.
Dersimize başlamadan önce RGB LED kullanımı dersime göz atmanızı tavsiye ederim.
RGB LED DERSİ
Öncelikle LM35 nedir kısaca bahsedelim.
ALINTI GORSEL
LM35 sıcaklık sensörü bulunduğu ortamın sıcaklığına göre devreye sıcaklıkla doğru orantılı voltaj verirler. LM35 sensörüyle ilgili üretici firmanın datasheet'ini inceleyebilirsiniz. DATASHEET
Devremizin bağlantılarını ilerleyen günlerde nasıl oluşturulduğunu Fritzing programıyla videolu bir ders ile anlatacağım. Şimdi yazılımımızı yazmaya başlayabiliriz.
1.AŞAMA
Bildiğiniz gibi ilk olarak pinlerimizi tanıtarak başlıyoruz.
KOD:
const int sensor_pin = A3;
const int k_led = 5;
const int y_led = 4;
const int m_led = 3;
2.AŞAMA
Buaşamada void setup kısmına başlamadan kaydedilen verileri okuyabilmemiz için değişkenlerimizi oluşturuyoruz.
KOD:
int sensor_deger = 0;
float voltaj_deger = 0;
float sıcaklık_deger = 0;
3.AŞAMA
Void setup kısmından devam edelim. Burada pinMode atamalarımızı yani çıkış pinlerimizi ayarlıyoruz.Kaydedilen verileri ekrana yazdırmak için ise seri başlangıç komutunu giriyoruz.
KOD:
pinMode(k_led , OUTPUT);
pinMode(y_led , OUTPUT);
pinMode(m_led , OUTPUT);
Serial.begin(9600);
4.AŞAMA
Loop döngüsü için kodlarımızı yazabiliriz. Sensör pininden gelen veriler sensör değer değişkenine kaydedilecektir.Verileri görebilmemiz için serial komutlarımızıda yazıyoruz.
KOD:
sensor_deger = analogRead(sensor_pin)
Serial.print("okunan deger = ");
Serial.println(sensor_deger);
5.AŞAMA
Loop döngüsüne yazdığımız kodlarla birlikte devremizi çalıştırdğımız zaman ekrandan değer okumaya başlayacağız ama okuduğumuz değerler sıcaklık birimi olmayacaktır. Çünkü herhangi bir dönüşüm yapmadık hemen bu dönüşümü yaparak okudğumuz değerleri sıcaklığa dönüştürelim.
KOD:
voltaj_deger = (sensor_deger / 1023.0) * 5000 ;
Serial.print(voltaj_deger);
sicaklik_deger = voltaj_deger / 10.0 ;
Serial.print("sicaklik =");
Serial.print(sicaklik_deger);
Serial.println(" derece ");
delay(250)
6.AŞAMA
Loop döngüsüne devam ediyoruz. RGB LEDimizin hangi durumda hangi rengin yanacağı şartlarını belirlememiz gerekiyor bu kodların nasıl yazıldığını öğrenmiştik şartlarımızı belirleyerek hemen kodlarımızı ekleyelim.
KOD:
if(sicaklik_deger >= 35)
{
digitalWrite(k_led , LOW);
digitalWrite(y_led , HIGH);
digitalWrite(m_led , HIGH);
}
else if(sicaklik_deger < 30 && sicaklik_deger >= 30)
{
digitalWrite(k_led , LOW);
digitalWrite(y_led , HIGH);
digitalWrite(m_led , HIGH);
}
else if (sicaklik_deger < 30)
{
digitalWrite(k_led , HIGH);
digitalWrite(y_led , HIGH);
digitalWrite(m_led , LOW);
}
Yazılımımız burada son buldu. Ortamın sıcaklığını ölçen bir sistemimiz var artık. Peki ortamın sıcaklığını sayısal olarak Arduino IDE ekranı haricinde nasıl öğrenebilirdik? Herhangi bir LCD veya başka tipte bir ekranı Arduino kartımıza ekleyerek. Yani LED yerine bir ekran yardımıyla sıcaklığın tam sayısal değerini öğrenebilirdik. Kodların Arduino IDE üzerinde ki görüntüsünü ekliyorum Herkese iyi çalışmalar.
Posted on Utopian.io - Rewarding Open Source Contributors
Thank you for the contribution. It has been approved.
You can contact us on Discord.
[utopian-moderator]
Hey @sametceylan I am @utopian-io. I have just upvoted you!
Achievements
Suggestions
Get Noticed!
Community-Driven Witness!
I am the first and only Steem Community-Driven Witness. Participate on Discord. Lets GROW TOGETHER!
Up-vote this comment to grow my power and help Open Source contributions like this one. Want to chat? Join me on Discord https://discord.gg/Pc8HG9x