İçindekiler:

Arduino LCD Yangın Güvenlik Uyarı Sistemi: 9 Adım
Arduino LCD Yangın Güvenlik Uyarı Sistemi: 9 Adım

Video: Arduino LCD Yangın Güvenlik Uyarı Sistemi: 9 Adım

Video: Arduino LCD Yangın Güvenlik Uyarı Sistemi: 9 Adım
Video: Arduino ile YANGIN ve DUMAN alarmı. 2024, Temmuz
Anonim
Arduino LCD Yangın Güvenlik Uyarı Sistemi
Arduino LCD Yangın Güvenlik Uyarı Sistemi
Arduino LCD Yangın Güvenlik Uyarı Sistemi
Arduino LCD Yangın Güvenlik Uyarı Sistemi
Arduino LCD Yangın Güvenlik Uyarı Sistemi
Arduino LCD Yangın Güvenlik Uyarı Sistemi

Bu, bir LCD Ekran, bir zil, bir RGB ve bir DHT sıcaklık sensörünün işlevlerini birleştiren, öğrenci yapımı bir projedir.

Mevcut çevre sıcaklığı LCD ekranda görüntülenir ve güncellenir.

LCD ekrana yazdırılan mesaj, kullanıcıyı "yangın tehlikesi" seviyesi konusunda bilgilendirir.

Kullanıcıyı tehlikeye karşı uyarmak için ekran kararır ve yanıp söner.

Mevcut risk düzeyine bağlı olarak, kullanıcıyı tehlike konusunda uyarmak için sesli uyarı daha yüksek ve daha hızlı hale gelir.

RGB, mevcut risk seviyesine bağlı olarak yeşil, sarı, turuncu ve kırmızı olarak değişir.

Daha profesyonel bir görünüm için 3D baskılı muhafazaya yerleştirilebilir.

Bu, insanların çok geç olana kadar yangın riskinin ne zaman olduğunu bilmedikleri gerçek bir dünya sorununu çözüyor.

Adım 1: Materyalleri Toplayın

Malzemeleri Toplayın
Malzemeleri Toplayın
Malzemeleri Toplayın
Malzemeleri Toplayın
Malzemeleri Toplayın
Malzemeleri Toplayın

Bu Projede Kullanılan Malzemeler:

1x LCD Ekran

1x DHT_11 Sıcaklık Sensörü

1x RGB

1x Piezo Pasif Buzzer 1.0v

2x Küçük Breadboard

3x Standart dirençler

1x Normal Boyutlu Breadboard

1x Arduino UNO

Kabloları yerinde kilitlemek için Bluetack.

Hem açık uçlu hem de tek uçlu farklı uçlu kablo çeşitleri.

Kodu çalıştıracak bir cihaz

Dış kabuk ve daha parlak bir görünüm istiyorsanız, bir 3D yazıcıya erişin

Adım 2: Breadboard'ları Ayarlama

Breadboard'ları Ayarlama
Breadboard'ları Ayarlama
Breadboard'ları Ayarlama
Breadboard'ları Ayarlama

1. Arduino kartı üzerindeki "GND" etiketli pinden turuncu kabloyu bağlayın ve devre tahtasının negatif (mavi) tarafına bağlayın. Bu noktadan sonra, herhangi bir harici cihaz için GND kullanmamız gerekirse, bunları devre tahtasında bununla aynı sütuna koyacağız.

2. Arduino kartı üzerindeki "5V" etiketli pinden gelen kırmızı kabloyu ve breadboard'un artı (kırmızı) tarafına bağlayın. Bu noktadan sonra, herhangi bir harici cihaz için 5V kullanmamız gerekirse, bunları devre tahtasında olduğu gibi aynı sütunlara koyacağız.

Adım 3: LCD Ekranı Ayarlama

LCD Ekranı Ayarlama
LCD Ekranı Ayarlama
LCD Ekranı Ayarlama
LCD Ekranı Ayarlama
LCD Ekranı Ayarlama
LCD Ekranı Ayarlama

1. Tüm pimler sol tarafta olacak şekilde kartı ters çevirin.

2. Üst pin sırasına sol üstten bir tel 5 bağlayın ve Arduino UNO'daki 4 numaralı pine bağlayın.

3. Üst pin sırasına sol üstten bir kablo 6 bağlayın ve Arduino UNO'daki 5 numaralı pine bağlayın.

4. Üst pin sırasına sol üstten bir tel 7 bağlayın ve Arduino UNO'daki 6 numaralı pine bağlayın.

5. Üst pin sırasına sol üstten bir kablo 8 bağlayın ve Arduino UNO'daki 7 numaralı pine bağlayın.

6. Üst pin sırasına sol üstten bir tel 9 bağlayın ve Arduino UNO'daki 8 numaralı pine bağlayın.

7. Üst pin sırasına sol üstten 10 numaralı kabloyu bağlayın ve Arduino UNO üzerindeki 9 numaralı pine bağlayın.

8. Sağ alttan bir kablo 3 bağlayın ve bunu devre tahtasındaki 5V Sırasına bağlayın

9. Sağ alttan bir kablo 4 bağlayın ve bunu devre tahtasındaki GND Sırasına bağlayın

GÖRÜNTÜLERİ DEVRE ŞEMASI FARKLI LCD'Yİ GÖSTERDİĞİNDE GÖRÜN

Adım 4: Piezo Buzzer'ı Ayarlama

Piezo Buzzer'ı Ayarlama
Piezo Buzzer'ı Ayarlama
Piezo Buzzer'ı Ayarlama
Piezo Buzzer'ı Ayarlama
Piezo Buzzer'ı Ayarlama
Piezo Buzzer'ı Ayarlama
Piezo Buzzer'ı Ayarlama
Piezo Buzzer'ı Ayarlama

1. Buzzer üzerindeki GND pininden devre tahtasındaki GND sütununa (Mavi) bir kablo bağlayın

2. Buzzer üzerindeki VCC pininden devre tahtasındaki 5V sütununa (Kırmızı) bir kablo bağlayın

3. Buzzer üzerindeki SIG pininden arduino UNO kartı üzerindeki "10" numaralı pine bir kablo bağlayın.

DEVRE ŞEMASI FARKLI ZİL GÖSTERDİĞİNDEN YUKARIDAKİ GÖRÜNTÜLERİ GÖRÜN

Adım 5: DHT Sıcaklık Sensörünü Ayarlama

DHT Sıcaklık Sensörünü Ayarlama
DHT Sıcaklık Sensörünü Ayarlama
DHT Sıcaklık Sensörünü Ayarlama
DHT Sıcaklık Sensörünü Ayarlama
DHT Sıcaklık Sensörünü Ayarlama
DHT Sıcaklık Sensörünü Ayarlama
DHT Sıcaklık Sensörünü Ayarlama
DHT Sıcaklık Sensörünü Ayarlama

1. DHT sensörünü devre tahtasında yukarıda gösterildiği gibi kurun

2. DHT sensörünün solundaki ilk pimi (parça şemasında VCC etiketli) devre tahtasındaki 5V sütununa (Kırmızı) bağlayın

3. DHT sensörünün solundaki ikinci pimi (parça şemasında Etiketli DATA) Arduino UNO üzerindeki A0 bağlantı noktasına bağlayın.

4. DHT sensörünün sağındaki ilk pimi (parça şemasında GND olarak etiketlenmiştir) devre tahtasındaki GND sütununa (Mavi) bağlayın

5. Bir öğreticiyi izleyin ve talimatın sonunda bulunan dht.h Kitaplığını Arduino'ya ekleyin. (Bu zorunludur)

Adım 6: RGB'yi Ayarlama

RGB'yi Ayarlama
RGB'yi Ayarlama
RGB'yi Ayarlama
RGB'yi Ayarlama
RGB'yi Ayarlama
RGB'yi Ayarlama
RGB'yi Ayarlama
RGB'yi Ayarlama

1. RGB'yi yukarıda gösterildiği gibi küçük bir devre tahtasına yerleştirin, RGB'nin solundan ikinci ayağın diğer üç yuvadan bir yuvaya daha yakın olmasına vurgu yapın

2. Standart dirençleri birinci, üçüncü ve dördüncü pinlere yerleştirin. En az bir tel için boşluk bırakarak (yukarıda gösterildiği gibi).

3. RGB'nin sol pimindeki direncin arkasından Arduino UNO'daki Etiketli 2 pime bir kablo bağlayın

4. RGB'nin sol piminden uzaktaki saniyenin arkasından devre tahtasının GND (mavi) sütununa bir kablo bağlayın.

5. RGB'nin sağ pininden ikincideki rezistörün arkasından Arduino UNO üzerindeki 1 Etiketli pin'e bir kablo bağlayın.

6. RGB'nin sağ pimindeki direncin arkasından Arduino UNO'daki Etiketli 3 pime bir kablo bağlayın

7. Adım: İsteğe Bağlı 3D Baskı Muhafazası

Opsiyonel 3D Baskı Muhafazası
Opsiyonel 3D Baskı Muhafazası
Opsiyonel 3D Baskı Muhafazası
Opsiyonel 3D Baskı Muhafazası
Opsiyonel 3D Baskı Muhafazası
Opsiyonel 3D Baskı Muhafazası

1. Nasıl 3D baskı yapılacağına dair bir eğitim bulun.

2. Autodesk Fusion 360'ta (.stl dosyası) yapılan aşağıdaki ekteki tasarımı yazdırın

3. Fazla 3D malzemeyi kazıyın ve yüzeyi düzeltin

4. Arduino parçalarının nereye yerleştirileceği konusunda rehberlik için yukarıdaki resme bakın.

Adım 8: Kod ve Dosyalar

Kod ve Dosyalar
Kod ve Dosyalar

-DHT.h kütüphanesi ektedir. (UNZIP)

-Tam ayrıntılı yorumların bulunduğu Kod ekte yer almaktadır, ancak aynı zamanda bir sonraki adımdadır.

-3D muhafaza için.stl dosyası ektedir

- Devre şeması tekrar eklenmiştir. Farklı bileşenler kullanıldığı için LCD ekran ve piezo buzzer için gerçek adımlara başvurduğunuzdan emin olun.

Adım 9: Arduino Kodu

Arduino Kodu
Arduino Kodu
Arduino Kodu
Arduino Kodu

//LCD YANGIN İKAZ SİSTEMİ//DHT Sıcaklık Pininden gelen girişi okur ve sıcak olup olmadığına bağlı olarak rgb ve hoparlörü kullanıcıya yangın tehlikesi olup olmadığını gösterecek şekilde değiştirir. //Ayrıca sıcaklığı LCD ekranda gösterir.

// DHT KURULUMU

#include // DHT kitaplığını dahil et

#define dht_dpin A0 // Panoya DHT pininin analog giriş 0'da olduğunu söyler

dht DHT; // dht = DHT

// SIVI KRİSTAL KURULUMU

#include // Liquid Crystal kitaplığını dahil et

LiquidCrystal lcd (8, 9, 4, 5, 6, 7); //LCD'ye kısalt / arduino'ya lcd'nin hangi portları kapladığını söyler

// RGB + BUZZER TANIMLAMA

#define redpin 1 // Port 1'deki RGB'nin redpin'ini tanımlar

#define greenpin 2 // Port 2'deki RGB'nin greenpin'ini tanımlar

#define bluepin 3 // Port 3'te RGB'nin bluepin'ini tanımlar

#define buzzerpin 10 // 10 numaralı bağlantı noktasında buzzerpin'i tanımlar

// DEĞİŞKENLER

int temp = analogRead(DHT.temperature); // DHT.temperature komutundan gelen değer olan Tamsayı "temp"i kurar

geçersiz kurulum() {

// ÇIKIŞ GİRİŞ

analogWrite(redpin, OUTPUT); // Redpin'i Çıktı olarak bildir/tanımla

analogWrite(greenpin, OUTPUT); // greenpin'i Çıktı olarak bildir/tanımla

analogWrite(bluepin, OUTPUT); // Bluepin'i Çıktı olarak bildir/tanımla

pinMode(buzzerpin, OUTPUT); // Buzzerpin'i Çıktı olarak bildir/tanımla

// LCD EKRAN

lcd.başla (16, 2); // LCD ekranı 16 sütun ve 2 satır olarak tanımlayın }

boşluk döngüsü () {

// DEĞİŞKENLİK OLMAYAN LCD KODU

DHT.read11(dht_dpin); // dht_dpin'den gelen girişi de oku (A0)

lcd.setCursor(0, 0); // İmleci Sütun 0, Satır 0'a ayarlar

lcd.print("Bu"); //LCD ekrana "It's" yazar

lcd.print(DHT.sıcaklık); // Sütun 0, Satır 0'daki DHT pininden DHT.temperature değerini yazdırır

lcd.print(" "); // Sıcaklıktan sonra bir boşluk yazdırır

lcd.print((char)223); // sıcaklıktan sonra Derece işareti yazdırır

lcd.print("C"); // Santigratı simgelemek için derece işaretinden sonra bir "c" yazdırır

// LCD YANIP SÖNÜYOR

lcd.setCursor(0, 1); // İmleci Sütun 0, Satır 1'e ayarlar

lcd.noDisplay();

lcd.print("Yangın Tehlikesi Yok"); // "Yangın Şansı Yok" yazdırır

lcd.noDisplay(); // LCD ekranı kapatır (flaşın bir parçası)

gecikme(1000);// 1 saniye kapalı kalır

LCD ekran(); // LCD ekranı tekrar açar

gecikme(1000);// 1 saniye açık kalır

// RGB + ZİL KODU

analogWrite(redpin, 0); // kırmızı pinden çıkış yok

analogWrite(greenpin, 255); // greenpin'den 255 çıktı (RGB'yi yeşil yapar)

analogWrite(bluepin, 0); // mavi pinden çıkış yok

ton(buzzerpin, 20, 20); // // Buzzer'dan 0,02 Saniye boyunca 20 hertz Frekans yayar

// SICAKLIK 25-30 İSE

if ((int(DHT.temperature) >= 25.00) && (int(DHT.temperature) <= 30.00)) {

lcd.clear(); //LCD Ekranı Temizler

lcd.setCursor(0, 1); // İmleci Sütun 0, Satır 1'e ayarlar

lcd.print("Küçük Uyarı"); // Sütun 0, Satır 1'e "Küçük Uyarı" yazdırır

lcd.noDisplay(); // LCD ekranı kapatır (flaşın bir parçası)

gecikme(1000);// 1 saniye kapalı kalır

LCD ekran(); // LCD ekranı tekrar açar

gecikme(1000);// 1 saniye açık kalır

analogWrite(redpin, 255); // Redpin'den 255 çıktı (RGB'yi sarı yapar)

analogWrite(greenpin, 255); // greenpin'den 255 çıktı (RGB sarı yapar)

analogWrite(bluepin, 0); // mavi pinden çıkış yok

ton(buzzerpin, 200, 100); // Buzzer'dan 0,1 Saniye boyunca 200 hertz Frekans yayar

gecikme(300); //.3 İkinci gecikme

} // IF TEMP IS 31-37 else if ((int(DHT.temperature) = 37.00)) {

lcd.clear(); //LCD Ekranı Temizler

lcd.setCursor(0, 1); // İmleci Sütun 0, Satır 1'e ayarlar

lcd.print("Orta Uyarı"); // Sütun 0, Satır 1'e "Orta Uyarı" yazdırır

lcd.noDisplay(); // LCD ekranı kapatır (flaşın bir parçası)

gecikme(500);// 0,5 saniye kapalı kalır

LCD ekran(); // LCD ekranı tekrar açar

gecikme(500);// 0,5 saniye açık kalır

analogWrite(redpin, 255); // Redpin'den 255 çıktı (RGB'yi turuncu yapar)

analogWrite(greenpin, 165); // greenpin'den 165 çıktı (RGB'yi turuncu yapar)

analogWrite(bluepin, 0); // bluepin'den çıkış yok

ton(buzzerpin, 500, 900); // Buzzer'dan 0,9 Saniye boyunca 500 hertz Frekans yayar

gecikme(300); //.3 İkinci gecikme

} // SICAKLIK 38-100 ise

else if ((int(DHT.temperature) = 100.00)) {

lcd.clear(); //LCD Ekranı Temizler

lcd.setCursor(0, 1); // İmleci Sütun 0, Satır 1'e ayarlar

lcd.print("000'i Arayın"); // Sütun 0, Satır 1'e "Call 000" yazdırır

lcd.noDisplay(); // LCD ekranı kapatır (flaşın bir parçası)

gecikme(250);// 0,25 saniye kapalı kalır

LCD ekran(); // LCD ekranı tekrar açar

gecikme(250);// 0.25 saniye açık kalır

analogWrite(redpin, 255); // Redpin'den 255 çıktı (RGB kırmızı yapar)

analogWrite(greenpin, 0); // greenpin'den çıktı yok

analogWrite(bluepin, 0); // bluepin'den çıktı yok

ton(buzzerpin, 1000, 900); // Buzzer'dan 0,9 Saniye boyunca 1000 hertz Frekans yayar

gecikme(300); //.3 İkinci gecikme

}}

Önerilen: