Menü
Kapat
Giriş Yap Kayıt Ol
Şifremi Unuttum
Kapat
Sepetim
11.08.2023

Sıcaklık Kontrollü Fan Yapımı | Arduino ve TMP36 Kullanarak Fan Kontrolü

Sıcaklık kontrollü fan yapımı, Arduino ile yapabileceğiniz en güzel projelerden birisidir. Özellikle sıcak yaz günlerinde ne demek istediğimiz çok daha iyi anlaşılacaktır. :) Blog yazımızda gerekli malzemeleri, bağlantı şemasını ve Arduino kodlarını paylaşacağız.

Sıcaklık Kontrollü Fan Yapımı Malzemeleri

Yukarıdaki yer alan malzemelere isimlerinin üzerlerine tıklayarak satın alma sayfalarına ulaşabilirsiniz.

Projemizde sıcaklık ölçümü için TMP36 tercih ediyoruz. Bu sensör TO-92 kılıfa sahip düşük enerjilidir ve santigrat cinsinden hassas ölçümler yapmaktadır. Projeyi güzelleştirmek ve farklı şeyler katabilmek adına led ve buzzer kullandık. Ancak bunlar olmasa da projeyi yapabilmeniz mümkün. Tamamen isteğinize bağlı olan bu ürünleri eklemek istemezseniz de projeyi başarıyla yapabilirsiniz.

Bağlantı Şeması

Arduino Pin (A0) -------> TMP36 Sıcaklık Sensörü (Vout)
Arduino Pin (2) --------> Yeşil Led (Pozitif Pin)
Arduino Pin (4) --------> Kırmızı Led (Pozitif Pin)
Arduino Pin (7) --------> Fan Artı Ucu
Arduino Pin (8) --------> Buzzer Artı Pin

Buradaki şemaya uygun olarak bağlantımızı gerçekleştiriyoruz. Şemadaki doğru pinlere bağlantı yapmaya dikkat etmemiz gerekiyor, yoksa kodlarımız sağlıklı bir şekilde çalışmayacaktır. Sıcaklık Kontrollü Fan projemiz neredeyse hazır. Geriye sadece kodları Arduino'muza yüklemek kaldı.

// Declare all the pins
int temp = A0;
int greenLed = 2;
int redLed = 4;
int fan = 7;
int buzzer = 8;

int thresholdValue = 0;
int celsius = 0;
int fahrenheit = 0;

// Functions for various work
void greenLightOn(){
digitalWrite(greenLed, HIGH);
}
void greenLightOff(){
digitalWrite(greenLed, LOW);
}
void redLightOn(){
digitalWrite(redLed, HIGH);
}
void redLightOff(){
digitalWrite(redLed, LOW);
}
void fanOn(){
digitalWrite(fan, HIGH);
}
void fanOff(){
digitalWrite(fan, LOW);
}
void buzzerOn(){
digitalWrite(buzzer, HIGH);
}
void buzzerOff(){
digitalWrite(buzzer, LOW);
}

void setup()
{
pinMode(redLed, OUTPUT);
pinMode(greenLed, OUTPUT);
pinMode(fan, OUTPUT);
pinMode(buzzer, OUTPUT);
pinMode(temp, INPUT);
Serial.begin(9600);
}

void loop(){

// Temperature calculation
celsius = map(((analogRead(A0) - 20) * 3.04), 0, 1023, -40, 125);
fahrenheit = ((celsius * 9) / 5 + 32);

Serial.print(celsius);
Serial.print(" C : ");
Serial.print(fahrenheit);
Serial.println(" F");

if( celsius<= 30){
greenLightOn();
redLightOff();
fanOff();
buzzerOff();
//Serial.println("green light on");
}
else if(celsius >= 31 && celsius <= 40){
greenLightOff();
fanOff();
buzzerOff();
redLightOn();
//Serial.println("red light on");
}
else if(celsius > 40){
redLightOn();
fanOn();
buzzerOn();
greenLightOff();

//Serial.println("Red Light On | Fan on");
}
else{
Serial.println("Temperature is Normal");
}
delay(1000);
}

Sıcaklık Kontrollü Fan projemiz hazır! Benzer içerikleri kaçırmamak için blog sayfamızı takipte kalın.