Duman ve Sıcaklık Alarmı
Arduino kartı ve bir kaç basit seviye sensör ile duman ve sıcaklık algılandığında alarm veren bir elektronik devre. Ev otomasyonu için ideal bir cihazı kendiniz yapabilirsiniz.
Arduino uno kartı ile yapılan bu duman ve sıcaklık alarmı ev ve iş yerleri için tasarlamış bir projedir. Şimdilik sadece alarm veriyor fakat daha da geliştirip itfaiyeye, polise, ambulansa haber verme gibi özelliklerde eklenebilir.
Bu proje yüksek yoğunlukta, yüksek sıcaklıklarda alarm verecektir.
Bu proje üzerinde DHT11 sıcaklık sensörü ile beraber MQ4 duman sensörü kullanıldı. Ayrıca RGB led ve buzzer de kullanılmıştır.
- Arduino Uno R3
- Duman Sensörü (MQ4)
- RGB Led
- DHT11 Sıcaklık ve Nem Sensörü
- Buzzer
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
// Duman ve Sıcaklık Alarmı -ahmetcagri #include <dht11.h> //DHT11 Sıcaklık Sensörü Kütüphanesi dht11 DHT; // DHT11 Kütüphane Fonksiyonu #define DHT11_PIN 6 // DHT11 Sinyal pini ( Dijital 6 ) const int buzzer = 5 ; // Buzzer Sinyal Pini const int AOUTpin = A1; // Duman Sensörü Analog Pini const int DOUTpin = 7 ; // Duman Sensörü Dijital Pini // RGB Led const int kirmizi = 3 ; // RGB Led Kırmızı Işık Pini const int yesil = 4 ; // RGB Led Yeşil Işık Pini int sicaklik; // Sıcaklık Değişkeni int limit; // Duman Sensörü Dijital Değişkeni int value; // Duman Sensörü Alanlog Değişkeni void setup () { Serial.begin ( 9600 ); // Seri Bağlantı Hızı pinMode (DOUTpin, INPUT ); // Duman Sensörü Dijital Pin Girişi pinMode (kirmizi, OUTPUT ); // RGB Led Kırmızı Işık Çıkışı pinMode (yesil, OUTPUT ); // RGB Led Yeşil Işık Çıkışı pinMode (buzzer, OUTPUT ); // Buzzer Çıkışı beep( 50 ); beep( 50 ); beep( 50 ); delay ( 1000 ); } void loop () { sicaklik = DHT.read(DHT11_PIN); // Sıcaklık Değeri Okunuyor value = analogRead (AOUTpin); // Duman Sensörü Analog Değeri Okunuyor limit = digitalRead (DOUTpin); // Duman Sensörü Dijital Değeri Okunuyor Serial.print ( "Duman Seviyesi: \t" ); // Serial Monitör Yazısı Serial.println (value, 1 ); // Serial Monitör Çıktısı Serial.print ( "Sicaklik: \t" ); // Serial Monitör Yazısı Serial.print (DHT.temperature, 1 ); // Serial Monitör Çıktısı Serial.print ( ",\t" ); // Boşluk Karakteri delay ( 300 ); if (value > 240 ){ beep( 200 ); //Kullanılan RGB Led Anot (Pozitif) Uçlu Olduğudan LOW Değeri Ledi Yakar digitalWrite (kirmizi, LOW ); // Kırmızı Işık Açık digitalWrite (yesil, HIGH ); // Yeşil Işık Kapalı } else if (DHT.temperature > 24 ){ beep( 200 ); digitalWrite (kirmizi, LOW ); // Kırmızı Işık Açık digitalWrite (yesil, HIGH ); // Yeşil Işık Kapalı } else { digitalWrite (kirmizi, HIGH ); // Kırmızı Işık Kapalı digitalWrite (yesil, LOW ); // Yeşil Işık Açık } } // Buzzer Alarm Fonksiyonu void beep( unsigned char delayms){ digitalWrite (buzzer, HIGH ); // Buzzer Ses Verir delay (delayms); // Belirlilen MS cinsinden bekletme digitalWrite (buzzer, LOW ); // Buzzer Sesi Kapatır delay (delayms); // Belirlilen MS cinsinden bekletme } |