Arduino ile Sıcaklık kontrol ile uyarı uygulaması

 RGB Ledin tanımı

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.


şema


Kodları

#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.

}

 


Yorumlar