Sıcaklık kontrol ve uyarı uygulamamız ile bir önceki uygulamamızda kullanmış olduğumuz LM35 sıcaklık sensörü ile ortamın ısını ölçerek kullanmış olduğumuz RGB led ve Buzzer ile görsel ve sesli kontrol sağlayacağız.

Malzeme Listesi:

Daha önce Lm35, RGB led ve Buzzer ‘ın ne olduğu hakkında bilgi vermiştik. RGB led iki farklı yapıda olabilir. Bunlar ortak anot veya ortak katot’tur. Ortak anot içinde bulunan ledlerin(kırmızı, yeşil ve mavi) artı bacaklarının birleşik olamasını, ortak katot ise eksi bacaklarının birleşik olamasını belirttiğini söyleyebiliriz. Bu uygulamada elinizde mevcut RGB led çeşidine göre 2 farklı devre şeması bulunmaktadır. Sizin RGB led’e uygun olan devre şemasını kullanarak devrenizi oluşturunuz.

Devre Şeması Ortak Katot:

 

Devre Şeması Ortak Anot:

Arduino Kodu:

#define Lm35Pin A0
#define yesilPin 3
#define kirmiziPin 5
#define maviPin 6
#define buzzerPin 7
float OkunanDeger = 0;
float Sicaklik = 0;
float GerilimDegeri = 0;
void setup() {
Serial.begin(9600); //Seri ekranın 9600 baud rate hızında ayarlıyoruz.
pinMode(kirmiziPin, OUTPUT);
pinMode(yesilPin, OUTPUT);
pinMode(maviPin, OUTPUT);
pinMode(buzzerPin, OUTPUT);
}
void loop()
{
OkunanDeger = analogRead(Lm35Pin);
Serial.print("Okunan Analog Sensör Değeri: ");
Serial.println(OkunanDeger);
// A0 pinin üzerinden okunan değeri mV cinsinden gerilim değerine dönüştürüyoruz.
GerilimDegeri = (OkunanDeger / 1023) * 5000;
// 10mV – 1°C'ye karşılık geldiği dolayı elde etmiş olduğumuz gerilim değerini 10'a bölerek sıcaklık değerine dönüştürüyoruz.
Sicaklik = GerilimDegeri / 10.0;
Serial.print("Sıcaklık Değeri: ");
Serial.print(Sicaklik);
Serial.println("°C ");
Serial.println("**********************************");
if (Sicaklik < 15) //Mavi
{
analogWrite(kirmiziPin, 0);
analogWrite(yesilPin, 0);
analogWrite(maviPin, 255);
}
else if (Sicaklik > 15 && Sicaklik < 25) //Turkuaz
{
analogWrite(kirmiziPin, 0);
analogWrite(yesilPin, 255);
analogWrite(maviPin, 255);
}
else if (Sicaklik > 25 && Sicaklik < 35) //Sarı
{
analogWrite(kirmiziPin, 255);
analogWrite(yesilPin, 255);
analogWrite(maviPin, 0);
}
else //Kırmızı 35°C 'den yüksek ise
{
analogWrite(kirmiziPin, 255);
analogWrite(yesilPin, 0);
analogWrite(maviPin, 0);
}
if (Sicaklik > 45) //Buzzer Alarm Seviyesi
{
digitalWrite(buzzerPin, HIGH);
}
else // Alarm seviyesi değilse buzzer sustur.
{
digitalWrite(buzzerPin, LOW);
}
delay(1000); // Okuma parazitlerinden arınmak için kısa bir geçikme veriyoruz.
}

Daha önceden yapmış olduğumuz uygulamalarda Lm35, RGB led ve Buzzer ayrı ayrı olarak veya uygulama içerinde kullanmıştık. Bu uygulamamızda LM35 sıcaklık sensörü üzerinden alınan sıcaklık bilgisine göre if,else if ve else yapıları kullanılarak RGB led ve buzzer ile kullanıcıya geri bildirimler sağlanacaktır. Ölçülen sıcaklık değeri, 15°C ‘den az ise mavi, 15°C ile 25°C aralığında ise turkuaz, 25°C ile 35°C aralığında ise sarı, 35°C’den yüksek ise kırmızı ve 45°C yüksek ise hem buzzer ile sesli uyarı hemde kırmızı ışık ile kullanıcıya geri bildirim verilecektir. Bu uygulamada yazılan program Ortak katot RGB led için geliştirilmiştir. Eğer kullanmış olduğunuz RGB led Ortak anot ise yukarıda bulunan ortak anot devre şemasına göre kurulumu yapmalısınız. Kod kısmında yapmanız gereken tek analogWrite(ledPin, değer);  değer olarak yazmış olduğumuz PWM değerinin tersini almak olacaktır. Örneğin ortak katot da kırmızı ledi yakmak için analogWrite(kirmiziPin, 255); olarak yazılmakta ortak anotta ise 255 değeri yerine 0, analogWrite(kirmiziPin, 0); yazmamız yeterli olacaktır. Ara değerler için Ortak anot PWM değerini: 255Ortak katot PWM değeri şeklinde yazabiliriz. Sıcaklık kontrol ve uyarı uygulamamızla ilgili takıldığınız noktada yorum yazarak sorunuzu bize sorabilirsiniz.

2 YORUMLAR

CEVAP VER

Lütfen yorumunuzu giriniz!
Lütfen isminizi buraya giriniz