- Bahan yang Diperlukan:
- Metodologi Kerja:
- Prasyarat:
- Mengendalikan Jauh AC:
- Rajah dan Penjelasan Litar:
- Menyahkod Isyarat Jauh AC anda:
- Program Arduino Utama:
- Kerja Sistem Kawalan Suhu AC Automatik:
Sebuah AC (Air Conditioner) yang dulunya dianggap sebagai barang mewah dan hanya boleh didapati di hotel besar, dewan filem, restoran dll… Tetapi, sekarang hampir semua orang mempunyai AC di rumah kita untuk mengalahkan musim panas / musim sejuk dan mereka yang memilikinya, bimbangkan satu perkara biasa. Itulah penggunaan dan pengecas elektrik yang tinggi. Dalam proyek ini kita akan membuat Litar Kontrol Suhu Otomatis kecil yang dapat meminimalkan pengecas elektrik dengan mengubah suhu AC secara automatik berdasarkan suhu Kamar. Dengan mengubah suhu yang ditetapkan secara berkala, kita dapat mengelakkan menjadikan AC berfungsi untuk mendapatkan nilai suhu yang lebih rendah dalam jangka masa yang lama dan dengan itu menjadikannya kurang menggunakan tenaga.
Sebilangan besar daripada kita akan mengalami situasi di mana kita harus mengubah suhu yang ditetapkan pada Penyejuk Udara kepada nilai yang berbeza pada waktu yang berlainan dalam sehari, agar kita tetap selesa sepanjang masa. Untuk mengotomatisasi proses ini, projek ini menggunakan sensor Suhu (DHT11) yang membaca suhu bilik sekarang dan berdasarkan nilai itu, ia akan mengirimkan perintah ke AC melalui IR blaster yang serupa dengan Remote AC. AC akan bertindak balas terhadap perintah-perintah ini seolah-olah ia bertindak balas terhadap alat kawalan jauhnya dan dengan demikian menyesuaikan suhu. Apabila suhu bilik anda berubah, Arduino juga akan menyesuaikan suhu AC anda untuk mengekalkan suhu anda seperti yang anda mahukan. Kedengarannya hebat kan?… Mari kita lihat bagaimana membuatnya.
Bahan yang Diperlukan:
- Arduino Mega 2560
- TSOP1738 (HS0038)
- Dipimpin IR
- Sensor Suhu / Kelembapan DHT11
- Mana-mana LED Warna dan Perintang 1K (pilihan)
- Papan roti
- Wayar Penyambung
Metodologi Kerja:
Semua Alat Kawalan Jauh di rumah kami yang kami gunakan untuk mengawal TV, Teater Rumah, AC dan lain-lain berfungsi dengan bantuan IR Blasters. An BLASTER IR hanyalah satu LED IR yang boleh BLASTER isyarat oleh berkumandang berulang-ulang; isyarat ini akan dibaca oleh penerima dalam perkakas elektronik. Untuk setiap butang yang berbeza pada jarak jauh, isyarat unik akan diletupkan yang setelah dibaca oleh penerima digunakan untuk melakukan tugas yang telah ditentukan sebelumnya. Sekiranya kita dapat membaca isyarat ini yang keluar dari Alat Jauh, kita kemudian dapat meniru isyarat yang sama menggunakan LED IR apabila diperlukan untuk melakukan tugas tertentu. Kami sebelum ini membuat litar IR Blaster untuk Universal IR Remote.
A TSOP merupakan Penerima IR yang boleh digunakan untuk memecahkan kod isyarat yang datang dari alat kawalan jauh. Penerima ini akan dihubungkan dengan Arduino untuk memberi isyarat untuk setiap butang dan kemudian IR Led akan digunakan dengan Arduino untuk meniru isyarat apabila diperlukan. Dengan cara ini kita dapat menguasai AC kita menggunakan Arduino.
Sekarang, yang tinggal hanyalah membaca nilai Suhu menggunakan DHT11 dan memerintahkan AC dengan betul menggunakan isyarat IR. Untuk menjadikan projek kelihatan lebih menarik dan mesra pengguna, saya juga telah menambahkan paparan OLED yang memaparkan suhu, Kelembapan dan suhu set AC semasa. Ketahui lebih lanjut mengenai penggunaan OLED dengan Arduino.
Prasyarat:
Ini projek pengawal suhu automatik AC sedikit maju untuk tahap pemula, namun dengan bantuan beberapa tutorial lain sesiapa sahaja boleh membina ini dengan menunggu masa. Oleh itu, jika anda seorang pemula mutlak untuk OLED, DHT11 atau TSOP, sila kembali ke tutorial berikut di mana anda boleh mempelajari asas-asasnya dan bagaimana memulakannya. Senarainya mungkin agak panjang, tetapi percayalah itu mudah dan patut dipelajari, juga akan membuka banyak projek baru.
- Litar asas menggunakan TSOP dan IR LED hingga berfungsi
- Panduan antara muka asas untuk DHT11 dengan Arduino
- Panduan antara muka asas untuk OLED dengan Arduino
- Memadankan TSOP dengan Arduino untuk Membaca nilai jauh IR
Pastikan anda mempunyai Arduino Mega dan versi Arduino lain kerana ukuran kodnya berat. Periksa juga jika anda sudah memasang perpustakaan Arduino berikut jika tidak memasangnya dari pautan di bawah
- Perpustakaan Jauh IR untuk TSOP dan IR Blaster
- Perpustakaan Adafruit untuk OLED
- Perpustakaan Grafik GFX untuk OLED
- Perpustakaan Sensor DHT11 untuk Sensor suhu
Mengendalikan Jauh AC:
Sebelum kita meneruskan projek, luangkan sedikit masa dan perhatikan bagaimana alat kawalan jauh AC anda berfungsi. Alat kawalan jauh AC berfungsi dengan cara yang agak berbeza berbanding dengan alat kawalan jauh TV, DVD IR. Mungkin terdapat hanya 10-12 butang pada Alat Jauh anda, tetapi mereka dapat mengirim banyak jenis isyarat. Bermakna Remote tidak menghantar kod yang sama setiap kali untuk butang yang sama. Sebagai contoh, apabila anda menurunkan suhu menggunakan butang bawah untuk menjadikannya 24 ° C (darjah Celsius), anda akan mendapat isyarat dengan satu set data, tetapi apabila anda menekannya lagi untuk menetapkan 25 ° C, anda tidak akan mendapat yang sama data kerana suhu sekarang 25 dan bukan 24. Begitu juga kod untuk 25 juga akan berbeza untuk kelajuan kipas yang berbeza, tetapan tidur dan lain-lain. Oleh itu, janganlah kita bermain-main dengan semua pilihan dan hanya memusatkan nilai suhu dengan nilai tetap untuk tetapan lain.
Masalah lain ialah jumlah data yang dihantar untuk setiap penekanan butang, alat kawalan jauh normal dengan mengirim 24 bit atau 48 bit tetapi alat kawalan jauh AC mungkin mengirim hingga 228 bit kerana setiap isyarat mengandungi banyak maklumat seperti Temp, Fan Speed, Waktu tidur, gaya Swing dll. Inilah sebab mengapa kita memerlukan Arduino Mega untuk pilihan penyimpanan yang lebih baik.
Rajah dan Penjelasan Litar:
Nasib baik penyediaan perkakasan Projek Kawalan Suhu AC Automatik ini sangat mudah. Anda hanya boleh menggunakan papan roti dan membuat sambungan seperti yang ditunjukkan di bawah.
Jadual berikut juga boleh digunakan untuk mengesahkan hubungan anda.
S.No: |
Pin Komponen |
Pin Arduino |
1 |
OLED - Vcc |
5V |
2 |
OLED - Gnd |
Gnd |
3 |
OLED- SCK, D0, SCL, CLK |
4 |
4 |
OLED- SDA, D1, MOSI, Data |
3 |
5 |
OLED- RES, RST, RESET |
7 |
6 |
OLED- DC, A0 |
5 |
7 |
OLED- CS, Pilih Cip |
6 |
8 |
DHT11 - Vcc |
5V |
9 |
DHT11 - Gnd |
Gnd |
10 |
DHT11 - Isyarat |
13 |
11 |
TSOP - Vcc |
5V |
12 |
TSOP - Gnd |
Gnd |
13 |
LED Led - Anod |
9 |
14 |
LED Led - Katod |
Gnd |
Setelah sambungan selesai, ia akan kelihatan seperti ini di bawah. Saya telah menggunakan Breadboard untuk merapikan barang-barang, tetapi anda juga boleh menggunakan kabel lelaki hingga wanita secara langsung untuk menghubungkan semua komponen
Menyahkod Isyarat Jauh AC anda:
Langkah pertama untuk mengawal AC anda adalah menggunakan TSOP1738 untuk menyahkod Kod IR Alat Kawalan Jauh AC. Buat semua sambungan seperti yang ditunjukkan dalam rajah litar dan pastikan anda telah memasang semua perpustakaan yang disebutkan. Sekarang buka program contoh " IRrecvDumpV2 " yang boleh didapati di Fail -> Contoh -> IRremote -> IRrecvDumpV2 . Muat naik program ke Arduino Mega anda dan buka Monitor Serial.
Arahkan Remote anda ke arah TSOP dan tekan sebarang butang, kerana setiap butang anda menekan Signal masing-masing akan dibaca oleh TSOP1738, disahkod oleh Arduino dan dipaparkan di Monitor Serial. Untuk setiap perubahan suhu pada Jauh anda akan mendapat Data yang berbeza. Simpan Data ini kerana kami akan menggunakannya dalam program utama kami. Monitor bersiri anda akan kelihatan seperti ini, saya juga telah menunjukkan fail Word di mana saya telah menyimpan data yang disalin.
Tangkapan Skrin menunjukkan kod untuk menetapkan suhu pada 26 ° C untuk alat kawalan jauh AC saya. Berdasarkan Jauh anda akan mendapat set kod yang berbeza. Sama juga salin kod untuk semua tahap suhu yang berbeza. Anda boleh menyemak semua kod IR kawalan jauh Penyaman Udara dalam Kod Arduino yang diberikan pada akhir tutorial ini.
Program Arduino Utama:
Yang lengkap program Arduino utama boleh didapati di bahagian bawah halaman ini, tetapi anda tidak boleh menggunakan program yang sama. Anda harus menukar nilai kod Isyarat yang baru sahaja kita perolehi dari Contoh lakaran di atas. Buka program utama pada anda Arduino IDE dan tatal ke bawah ke kawasan yang ditunjukkan di bawah ini di mana anda harus mengganti nilai array dengan nilai yang anda peroleh untuk Remote anda.
Perhatikan bahawa saya telah menggunakan 10 Array di mana dua digunakan untuk menghidupkan dan mematikan AC sementara selebihnya 8 digunakan untuk menetapkan suhu yang berbeza. Contohnya Temp23 digunakan untuk mengatur 23 ° C pada AC anda, jadi gunakan kod yang sesuai dalam Array tersebut. Setelah selesai, anda hanya perlu memuat naik kod ke Arduino anda dan letakkan di seberang AC anda dan nikmati Angin Sejuk.
Penjelasan kodnya adalah seperti berikut, pertama kita harus menggunakan sensor suhu DHT1 untuk membaca Suhu dan Kelembapan dan memaparkannya di OLED. Ini dilakukan dengan kod berikut.
DHT.read11 (DHT11_PIN); // Baca Suhu dan Kelembapan Diukur_temp = DHT. Suhu + temp_error; Diukur_Humi = DHT.kelembapan; // ujian paparan teks display.setTextSize (1); display.setTextColor (PUTIH); display.setCursor (0,0); display.print ("Suhu:"); display.print (Measured_temp); display.println ("C"); display.setCursor (0,10); display.print ("Kelembapan:"); display.print (Diukur_Humi); display.println ("%");
Setelah kita mengetahui Suhu bilik, kita hanya perlu membandingkannya dengan nilai yang diinginkan. Nilai yang diinginkan ini adalah nilai tetap yang ditetapkan sebagai 27 ° C (Darjah Celsius) dalam program saya. Oleh itu berdasarkan perbandingan ini, kami akan menetapkan suhu AC yang sepadan seperti yang ditunjukkan di bawah
if (Measured_temp == Desired_temperature + 3) // Jika AC ON dan suhu yang diukur sangat tinggi daripada yang diinginkan {irsend.sendRaw (Temp24, sizeof (Temp24) / sizeof (Temp24), khz); kelewatan (2000); // Hantar isyarat untuk menetapkan 24 * C AC_Temp = 24; }
Di sini AC akan diatur ke 24 ° C ketika suhu Diukur adalah 30 ° C (kerana suhu yang diinginkan adalah 27). Begitu juga kita dapat membuat banyak gelung If untuk menetapkan tahap suhu yang berbeza berdasarkan suhu yang diukur seperti yang ditunjukkan di bawah.
if (Measured_temp == Desired_temperature-1) // Sekiranya AC AKTIF dan suhu yang diukur rendah daripada nilai yang diinginkan {irsend.sendRaw (Temp28, sizeof (Temp28) / sizeof (Temp28), khz); kelewatan (2000); // Hantar isyarat untuk menetapkan 28 * C AC_Temp = 28; } if (Measured_temp == Desired_temperature-2) // Sekiranya AC ON dan suhu yang diukur sangat rendah daripada nilai yang diinginkan {irsend.sendRaw (Temp29, sizeof (Temp29) / sizeof (Temp29), khz); kelewatan (2000); // Hantar isyarat untuk menetapkan 29 * C AC_Temp = 29; } if (Measured_temp == Desired_temperature-3) // Jika AC AKTIF dan suhu yang diukur sangat rendah nilai yang diinginkan {irsend.sendRaw (Temp30, sizeof (Temp30) / sizeof (Temp30), khz); kelewatan (2000); // Hantar isyarat untuk menetapkan 30 * C AC_Temp = 30; }
Kerja Sistem Kawalan Suhu AC Automatik:
Apabila Kod dan perkakasan anda sudah siap, Muat Naik Kod ke Papan anda dan anda pasti melihat OLED memaparkan sesuatu yang serupa dengan ini.
Sekarang letakkan litar bertentangan dengan Penyaman Udara anda dan anda melihat suhu AC terkawal berdasarkan suhu bilik. Anda boleh mencuba menaikkan suhu di dekat sensor DHT11 untuk memeriksa sama ada suhu AC dikawal seperti yang ditunjukkan dalam Video di bawah.
Anda boleh mengubah program untuk melakukan tindakan yang diinginkan; semua yang anda perlukan adalah kod yang anda perolehi dari lakaran contoh. Semoga anda memahami projek Pengawal Suhu Automatik ini dan menikmati pembinaan sesuatu yang serupa. Saya tahu ada banyak tempat di sini untuk terjebak, tetapi jangan risau. Cukup gunakan bahagian forum atau komen untuk menjelaskan masalah anda dan orang di sini pasti akan membantu anda untuk menyelesaikannya.