Isi kandungan:

Automasi Rumah: Bunyikan Penggera dan Paparan di LCD Apabila Suhu Melebihi Nilai Ambang: 5 Langkah
Automasi Rumah: Bunyikan Penggera dan Paparan di LCD Apabila Suhu Melebihi Nilai Ambang: 5 Langkah

Video: Automasi Rumah: Bunyikan Penggera dan Paparan di LCD Apabila Suhu Melebihi Nilai Ambang: 5 Langkah

Video: Automasi Rumah: Bunyikan Penggera dan Paparan di LCD Apabila Suhu Melebihi Nilai Ambang: 5 Langkah
Video: Bengkel Persediaan Micro:bit bersama-sama Cikgu Khor Yi Thing (Arus) 2024, November
Anonim
Automasi Rumah: Bunyikan Penggera dan Paparan pada LCD Apabila Suhu Melebihi Nilai Ambang
Automasi Rumah: Bunyikan Penggera dan Paparan pada LCD Apabila Suhu Melebihi Nilai Ambang

Blog ini akan menunjukkan cara membuat Sistem Automasi Rumah yang akan mula membunyikan penggera setiap kali suhu mencapai lebih dari nilai ambang yang diprogramkan. Ia akan terus memperlihatkan suhu kamar saat ini pada LCD dan tindakan yang diperlukan (Cth: Turunkan Temp) ketika suhu mencapai lebih dari nilai ambang. Dalam tutorial ini, saya menggunakan sensor suhu AD22100 yang dihasilkan oleh Analog Devices dan AG-1005G Buzzer. AD22100 adalah Sensor Suhu Output Voltan dengan Penyamanan Isyarat

Langkah 1: Bahagian

Anda memerlukan bahagian-bahagian ini dengan anda sebelum memulakan ini tidak dapat dihancurkan untuk berfungsi

1. Lembaga Arduino UNO

2. Paparan LCD (16x2)

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

4. Sensor Temp - 3 Pin (AD22100)

Langkah 2: Sambungan Bahagian Berbeza Dengan Arduino UNO

Sambungan LCD dengan papan Arduino UNO

Pin RS LCD (Pin 4) dengan Pin 7 dari Arduino Board

LCD Dayakan Pin (Pin 6) dengan Pin 8 dari Arduino Board

Pin D4 LCD (Pin 11) dengan Pin 9 dari Arduino Board

Pin D5 LCD (Pin 12) dengan Pin 10 dari Arduino Board

Pin D6 LCD (Pin 13) dengan Pin 11 dari Arduino Board

Pin D7 LCD (Pin 14) dengan Pin 12 dari Arduino Board

Tambahkan Pot 10 KΩ ke + 5v (Pot Pin 1) dan GND (Pot Pin 3), Sambungkan Pin Tengah Pot (Pot Pin 2) ke Pin V0 LCD (Pin 3).

Pin VDD LCD (Pin 2) dan Pin A LCD (Pin 15) dengan + 5v pada Arduino Board.

Pin VSS LCD (Pin 1) dan Pin K LCD (Pin 16) dengan GND pada Arduino Board.

Sambungan Sensor Temp AD22100 dengan Arduino UNO Board

Pin 1 (V +) AD22100 harus disambungkan ke +5 v di Arduino Board.

Pin 2 (Vo) AD22100 harus disambungkan ke Pin A1 di Arduino Board.

Pin 3 (GND) AD22100 harus disambungkan ke GND di Arduino Board

Sambungan Buzzer (AC-1005G) dengan Arduino UNO Board

Pin 6 output PWM dari papan Arduino harus disambungkan ke input + ve Buzzer.

GND Arduino Board harus dihubungkan dengan -ve input Buzzer

Langkah 3: Kod Arduino

Susun dan muat naik di Arduino Board dan perhatikan demo Sistem Automasi Rumah

// Program bermula di sini

int val;

int tempPin = A1;

int buzzer = 6;

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

batal persediaan () {

// masukkan kod persediaan anda di sini, untuk dijalankan sekali:

lcd.begin (16, 2);

lcd.clear ();

Serial.begin (9600);

pinMode (buzzer, OUTPUT);

}

gelung kosong () {// letakkan kod utama anda di sini, untuk dijalankan berulang kali:

val = analogRead (tempPin); // AD22100 disambungkan pada Pin A1

/*

* Untuk 25C, val hadir sebagai 900 yang bermaksud

* 900 sepadan dengan 1.9375 v

* Fungsi Pemindahan adalah (V + / 5) * (1,375 + 22,5 mv / degC * 25 degC), * Baca Lembaran Data AD22100

*/

apungan cel = ((((1.9375 / 900) * val) - 1.375) /22.5) * 1000;

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

Serial.print (val);

Bersiri.println ();

Serial.print (“TEMPRATURE =“);

Serial.print (cel); Serial.print ("* C");

Bersiri.println ();

jika (cel> 26) {

nada (buzzer, 1000);

lcd.clear ();

lcd.print ("Temp di atas ambang batas");

lcd.setCursor (0, 1);

lcd.print ("Turunkan Temp");

}

yang lain

{noTone (bel);

lcd.clear ();

lcd.print ("Temp terkawal");

lcd.setCursor (0, 1);

lcd.print (“Temp =“);

lcd.print (cel);

lcd.print ("degC");

}

kelewatan (500);

}

// Program berakhir di sini

Langkah 4: Memahami Program secara terperinci

Saya akan cuba menerangkan beberapa bahagian kod tersebut.

Fungsi yang berkaitan dengan pernyataan If / else

Sekiranya suhu lebih besar daripada nilai ambang, saya akan menghantar isyarat ke bel untuk membunyikan penggera dan memaparkan pada LCD untuk menurunkan suhu dengan bahagian bawah kod

jika (cel> 26)

{nada (bel, 1000);

lcd.clear ();

lcd.print ("Temp di atas ambang batas");

lcd.setCursor (0, 1);

lcd.print ("Turunkan Temp");

}

Sekiranya tidak, maka hantarkan nilai temp ke LCD dan memaparkan temp yang terkawal.

yang lain

{noTone (bel);

lcd.clear ();

lcd.print ("Temp terkawal");

lcd.setCursor (0, 1);

lcd.print (“Temp =“);

lcd.print (cel);

lcd.print ("degC");

}

Fungsi yang berkaitan dengan Buzzer

nada (buzzer, 1000) - fungsi ini akan menghantar isyarat 1 khz ke pin bernama buzzer yang ditakrifkan sebagai Pin 6 dan Magnetic buzzer disambungkan pada Pin 6.noTone (buzzer) - akan berhenti menghantar isyarat 1 khz. Oleh itu, deringan akan berhenti

Fungsi yang berkaitan dengan Sensor Temp

Penukaran nilai Analog bacaan temp ke nilai deg C dilakukan dengan menggunakan fungsi pemindahan yang boleh didapati di Lembaran Data AD22100 seperti yang ditulis di bawah.

Vout = (V + / 5 V) × (1,375 V + 22,5 mV / ° C × TA) dan nilai yang sama dicetak pada paparan LCD.

Langkah 5: Demo Instructables

Setelah program disusun dan dimuat naik di papan Arduino UNO

mari kita cuba meningkatkan suhu yang dirasakan oleh sensor temp AD22100 dan menikmati sistem Automasi Rumah.

Untuk meningkatkan suhu sensor, saya menyentuhnya dengan besi pematerian yang terdapat di Makmal.

Anda boleh melihat demo di sini..

Demo Sistem Automasi Rumah

Disyorkan: