İçindekiler:

Ev Otomasyonu: Sıcaklık Eşik Değerinin Üstünde Olduğunda Alarm Verme ve LCD Ekranda Görüntüleme Değeri: 5 Adım
Ev Otomasyonu: Sıcaklık Eşik Değerinin Üstünde Olduğunda Alarm Verme ve LCD Ekranda Görüntüleme Değeri: 5 Adım

Video: Ev Otomasyonu: Sıcaklık Eşik Değerinin Üstünde Olduğunda Alarm Verme ve LCD Ekranda Görüntüleme Değeri: 5 Adım

Video: Ev Otomasyonu: Sıcaklık Eşik Değerinin Üstünde Olduğunda Alarm Verme ve LCD Ekranda Görüntüleme Değeri: 5 Adım
Video: Patron görmesin :) 2024, Temmuz
Anonim
Ev Otomasyonu: Sıcaklık Eşik Değerinin Üzerinde Olduğunda Alarm Sesi ve LCD Ekranı
Ev Otomasyonu: Sıcaklık Eşik Değerinin Üzerinde Olduğunda Alarm Sesi ve LCD Ekranı

Bu blog, sıcaklık programlanan eşik değerinden daha yüksek bir değere ulaştığında alarm vermeye başlayacak bir Ev Otomasyon Sisteminin nasıl yapıldığını gösterecektir. Sıcaklık eşik değerinden fazlaya ulaştığında, LCD'de odanın mevcut sıcaklığını ve gereken eylemi (Örn: Sıcaklığı Azalt) görüntülemeye devam edecektir. Bu derste Analog Devices ve AG-1005G Buzzer tarafından üretilen AD22100 sıcaklık sensörünü kullanıyorum. AD22100, Sinyal Şartlandırmalı bir Voltaj Çıkış Sıcaklık Sensörüdür

Adım 1: Parçalar

Bu yıkılmaz çalışmaya başlamadan önce bu parçalara ihtiyacınız var.

1. Arduino UNO Kartı

2. LCD Ekran (16x2)

3. Buzzer - 2 Pinli (AC-1005G)

4. Sıcaklık Sensörü - 3 Pinli (AD22100)

Adım 2: Arduino UNO ile Farklı Parçaların Bağlantısı

Arduino UNO kartı ile LCD Bağlantısı

Arduino Board Pin 7 ile LCD RS Pin (Pin 4)

Arduino Board Pin 8 ile LCD Etkinleştirme Pimi (Pim 6)

Arduino Kartının Pin 9'u ile LCD D4 Pin (Pin 11)

Arduino Kartının Pin 10'u ile LCD D5 Pin (Pin 12)

Arduino Kartının Pin 11'i ile LCD D6 Pin (Pin 13)

Arduino Kartının Pin 12'si ile LCD D7 Pin (Pin 14)

+5v (Pot Pin 1) ve GND'ye (Pot Pin 3) 10 KΩ Pot ekleyin, Tencerenin Orta Pinini (Pot Pin 2) LCD V0 Pinine (Pin 3) bağlayın.

Arduino Kartında +5v ile LCD VDD Pin (Pin 2) ve LCD A Pin (Pin 15).

Arduino Kartında GND'li LCD VSS Pin (Pin 1) ve LCD K Pin (Pin 16).

Arduino UNO Kartı ile AD22100 Sıcaklık Sensörü bağlantısı

AD22100'ün Pin 1 (V+) Arduino Board üzerindeki +5 v'ye bağlanmalıdır.

AD22100'ün Pin 2 (Vo), Arduino Board üzerindeki Pin A1'e bağlanmalıdır.

AD22100'ün Pin 3'ü (GND), Arduino Board üzerindeki GND'ye bağlanmalıdır.

Arduino UNO Kartı ile Buzzer (AC-1005G) Bağlantısı

Arduino kartının Pin 6 PWM çıkışı Buzzer'ın +ve girişine bağlanmalıdır.

Arduino Board'un GND'si Buzzer'ın -ve girişi ile bağlanmalıdır.

Adım 3: Arduino Kodları

Derleyin ve Arduino Board'a yükleyin ve Ev Otomasyon Sistemi demosunu izleyin

//Program burada başlar

int değeri;

int tempPin = A1;

int zil = 6;

#LiquidCrystal lcd (7, 8, 9, 10, 11, 12);

geçersiz kurulum() {

// bir kez çalıştırmak için kurulum kodunuzu buraya koyun:

lcd.begin(16, 2);

lcd.clear();

Seri.başla(9600);

pinMode(buzzer, OUTPUT);

}

void loop() {// tekrar tekrar çalıştırmak için ana kodunuzu buraya yazın:

val = analogRead(tempPin);//AD22100 Pin A1'e bağlı

/*

*25C için val değeri 900 olarak gelir yani

* 900, 1.9375 v'ye karşılık gelir

* Transfer Fonksiyonu (V+/5)*(1.375 + 22.5 mv/degC * 25 degC), * AD22100 Veri Sayfasını Okuyun

*/

float cel = ((((1.9375/900) * değer) – 1.375)/22.5)*1000;

float farh = (cel*9)/5 + 32;

Seri.baskı(val);

Seri.println();

Serial.print(“SICAKLIK = “);

Seri.baskı(cel);Seri.baskı(“*C”);

Seri.println();

if (cel > 26){

ton(sesli uyarı, 1000);

lcd.clear();

lcd.print(“Sıcaklık eşiğin üzerinde”);

lcd.setCursor(0, 1);

lcd.print(“Sıcaklığı Azalt”);

}

Başka

{noTone(sesli uyarı);

lcd.clear();

lcd.print(“Sıcaklık kontrol altında”);

lcd.setCursor(0, 1);

lcd.print(“Sıcaklık= “);

lcd.print(cel);

lcd.print(“dereceC”);

}

gecikme(500);

}

//Program burada biter

Adım 4: Programı Ayrıntılı Olarak Anlama

Kodun birkaç bölümünü açıklamaya çalışacağım.

If/else deyimi ile ilgili fonksiyonlar

Sıcaklık eşik değerinden büyükse, kodun aşağıdaki bölümü ile bir alarm çalması için buzzer'a sinyal gönderiyorum ve sıcaklığı düşürmek için LCD'de görüntülüyorum.

eğer (cel > 26)

{ton(sesli uyarı, 1000);

lcd.clear();

lcd.print(“Sıcaklık eşiğin üzerinde”);

lcd.setCursor(0, 1);

lcd.print(“Sıcaklığı Azalt”);

}

Değilse, mevcut sıcaklığın LCD'ye gönderilmesi ve bu sıcaklığın görüntülenmesi kontrol altındadır.

Başka

{noTone(sesli uyarı);

lcd.clear();

lcd.print(“Sıcaklık kontrol altında”);

lcd.setCursor(0, 1);

lcd.print(“Sıcaklık= “);

lcd.print(cel);

lcd.print(“derece”);

}

Buzzer ile ilgili işlevler

tone(buzzer, 1000) - bu fonksiyon Pin 6 olarak tanımlanan buzzer isimli pine 1 khz sinyal gönderir ve Manyetik buzzer Pin 6.noTone(buzzer)'a bağlanır - 1 khz sinyal göndermeyi durdurur. Bu nedenle, zil duracak

Sıcaklık Sensörü ile ilgili fonksiyonlar

Sıcaklık okumasının Analog değerinin derece C değerine dönüştürülmesi, aşağıda yazıldığı gibi AD22100 Veri Sayfasında bulunabilecek bir transfer fonksiyonu kullanılarak yapılır.

Vout = (V+/5 V) × (1.375 V + 22.5 mV/°C × TA) ve aynı değer LCD ekranda yazdırılır.

Adım 5: Talimatların Demosu

Program derlenip Arduino UNO kartına yüklendikten sonra

AD22100 sıcaklık sensörü tarafından algılanan sıcaklığı artırmaya çalışalım ve Ev Otomasyonu sisteminin keyfini çıkaralım.

Sensörün sıcaklığını arttırmak için Lab'de bulunan havya ile dokunuyorum.

Demoya buradan göz atabilirsiniz..

Ev Otomasyon Sistemi Demosu

Önerilen: