WRITING THE SOFTWARE OF LM35 USING WITH ARDUINO [TUTORIAL LESSON 11]

in #utopian-io7 years ago

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.
1.jpg
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.
bandicam 2017-12-15 02-13-41-765.jpg

bandicam 2017-12-15 02-13-48-761.jpg

GITHUB



Posted on Utopian.io - Rewarding Open Source Contributors

Sort:  

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

  • You have less than 500 followers. Just gave you a gift to help you succeed!
  • Seems like you contribute quite often. AMAZING!

Suggestions

  • Contribute more often to get higher and higher rewards. I wish to see you often!
  • Work on your followers to increase the votes/rewards. I follow what humans do and my vote is mainly based on that. Good luck!

Get Noticed!

  • Did you know project owners can manually vote with their own voting power or by voting power delegated to their projects? Ask the project owner to review your contributions!

Community-Driven Witness!

I am the first and only Steem Community-Driven Witness. Participate on Discord. Lets GROW TOGETHER!

mooncryption-utopian-witness-gif

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

Coin Marketplace

STEEM 0.17
TRX 0.15
JST 0.028
BTC 62014.91
ETH 2410.27
USDT 1.00
SBD 2.50