Akıllı Sunucu Odası

Bilgisayar sunucularının ve switchlerin bulunduğu odalar bizim için en değerli bölgelerdir. Bu odalarda kullanılan malzemeler için oda sıcaklığının belirli bir derecede olması, yangın anında acil müdahale edilmesi gerekiyor. Biz de bunun için arduino ile sıcaklığa göre çalışan klima, yangın anında alarmı çalıştıracak bir oda tasarımı yapacağız.

Malzemeler :

  • 1 adet arduino UNO
  • 1 adet sıcaklık ile nem algılayıcı
  • 1 adet lcd ekran
  • 1 adet breadboard
  • 2 adet fan
  • Güç sağlayıcı piller

 

Kodlar :

#include <Arduino.h>
#include <Wire.h>
#include <SoftwareSerial.h>

#include <LiquidCrystal_I2C.h>

#include <dht11.h> // dht11 kütüphanesini ekliyoruz.

#define DHT11PIN 2 // DHT11PIN olarak Dijital 2″yi belirliyoruz.
#define fan 9 // fan 10’a bağlanır
LiquidCrystal_I2C lcd(0x3F, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
const int gasPin = A0; //GAS sensor output pin to Arduino analog A0 pin
const int buzzer = 9; //buzzer to arduino pin 9
dht11 DHT11;
const int Led1 = 6;
const int Led2 = 7;

void setup()
{
Serial.begin(9600); // Seri iletişimi başlatıyoruz.
lcd.begin(16, 2); // LCD hazırla
pinMode(buzzer, OUTPUT); // Set buzzer – pin 9 as an output
pinMode(fan, OUTPUT);

pinMode(Led1, OUTPUT);
pinMode(Led2, OUTPUT);

delay(1000);
}

void loop()
{
// Bir satır boşluk bırakıyoruz serial monitörde.
Serial.println();
// Sensörün okunup okunmadığını konrol ediyoruz.
// chk 0 ise sorunsuz okunuyor demektir. Sorun yaşarsanız
// chk değerini serial monitörde yazdırıp kontrol edebilirsiniz.
int chk = DHT11.read(DHT11PIN);

lcd.clear();
// Sensörden gelen verileri serial monitörde yazdırıyoruz.
Serial.print(“Nem (%): “);
Serial.println((float)DHT11.humidity, 2);
lcd.setCursor(0, 0);
lcd.print(“Nem (%): “);
lcd.print((float)DHT11.humidity);

Serial.print(“Sicaklik (Celcius): “);
Serial.println((float)DHT11.temperature, 2);
lcd.setCursor(0, 1);
lcd.print(“Sicaklik:”);
lcd.print((float)DHT11.temperature);

Serial.print(“Sicaklik (Fahrenheit): “);
Serial.println(DHT11.fahrenheit(), 2);

Serial.print(“Sicaklik (Kelvin): “);
Serial.println(DHT11.kelvin(), 2);

// Çiğ Oluşma Noktası, Dew Point
Serial.print(“Cig Olusma Noktasi: “);
Serial.println(DHT11.dewPoint(), 2);

Serial.print(“Gas: “);
Serial.println(analogRead(gasPin));

// 2 saniye bekliyoruz. 2 saniyede bir veriler ekrana yazdırılacak.
delay(1000);
if (analogRead(gasPin) >= 100){
tone(buzzer, 1000); // Send 1KHz sound signal…
delay(1000); // …for 1 sec
noTone(buzzer); // Stop sound..

}
if((float)DHT11.humidity >= 50)
{
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(“YUKSEK NEM”);
digitalWrite(fan, HIGH);
}
if ((float)DHT11.temperature >= 30 || analogRead(gasPin) >= 500)
{
lcd.clear();
digitalWrite(Led1, HIGH);
digitalWrite(Led2, LOW);
digitalWrite(fan, HIGH);
lcd.setCursor(0, 0);
lcd.print(“UYARI”);
delay(1000);
}
else
{
digitalWrite(Led2, HIGH);
}
}

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir