Kita semua biasa dengan kata 'Automasi', di mana interaksi manusia minimum dan perkara dapat dikendalikan secara automatik atau dari jauh. Automasi rumah adalah konsep yang sangat popular dan menuntut dalam bidang Elektronik, dan kami juga berusaha sedaya upaya untuk menjadikan konsep ini mudah difahami dan dikendalikan sebagai Projek Elektronik. Kami sebelum ini telah mengembangkan beberapa jenis Projek Automasi Rumah dengan Video dan Kod yang berfungsi, sila periksa:
- Automasi Rumah Berasaskan DTMF
- Automasi Rumah Berasaskan GSM menggunakan Arduino
- Automasi Rumah yang Dikendalikan PC menggunakan Arduino
- Automasi Rumah Terkawal Bluetooth menggunakan 8051
- Automasi Rumah Terkawal IR menggunakan Arduino
Dan dalam projek ini, kami akan membina projek automasi rumah kami yang seterusnya menggunakan MATLAB dan Arduino, yang merupakan Sistem Automasi Rumah Berasaskan GUI Menggunakan Arduino dan MATLAB
Komponen:
- Arduino UNO
- Wayar USB
- ULN2003
- Relay 5 volt
- Mentol dengan pemegang
- Menyambung wayar
- Komputer riba
- Bekalan kuasa
- PVT
Penjelasan Kerja:
Dalam projek ini, kami menggunakan MATLAB dengan Arduino untuk mengendalikan perkakas rumah, melalui antara muka pengguna grafik dalam komputer. Di sini kami telah menggunakan komunikasi berwayar untuk mengirim data dari komputer (MATLAB) ke Arduino. Di sisi komputer, kami telah menggunakan GUI dalam MATLAB untuk membuat beberapa butang untuk mengendalikan perkakas rumah. Untuk komunikasi antara Arduino dan MATLAB, pertama-tama kita perlu memasang " MATLAB dan Simulink Support untuk Arduino " atau " Arduino IO Package ". Untuk melakukannya, ikuti langkah-langkah berikut atau periksa video di bawah:
- Muat turun Pakej Arduino IO dari sini. Anda perlu Mendaftar sebelum memuat turun.
- Kemudian Bakar / muat naik fail adioe.pde ke Arduino menggunakan Arduino IDE. Fail adioe.pde ini boleh didapati di Pakej Arduino IO - ArduinoIO \ pde \ adioe \ adioe.pde
- Kemudian buka perisian MATLAB, buka folder Arduino IO, buka fail install_arduino.m dan Jalankan di Matlab. Anda akan melihat mesej "folder Arduino ditambahkan ke jalan" di tetingkap arahan MATLAB, bermaksud jalur MATLAB dikemas kini ke folder Arduino.
Begitulah cara kami membuat Arduino, berkomunikasi dengan MATLAB. Kaedah di atas sesuai untuk "MATLAB R2013b atau versi terdahulu", jika anda menggunakan versi MATLAB yang lebih tinggi (seperti R2015b atau R2016a), anda boleh langsung klik pada Tab Tambah pada MATLAB dan kemudian klik "Dapatkan Pakej Sokongan Perkakasan", dari mana anda boleh memasang pakej Arduino untuk MATLAB.
Setelah memasang fail, kini anda dapat membuat GUI untuk Projek Automasi Rumah. Pada asasnya dalam GUI, kami membuat Tombol Tekan untuk mengawal perkakas rumah dari komputer. Butang dapat dibuat dengan masuk ke "Antaramuka Pengguna Grafik" di menu "Baru" di MATLAB. Selanjutnya kita dapat menetapkan nama dan warna butang ini, kita telah membuat 8 butang, di mana enam hingga AKTIF dan NONAKTIFKAN tiga peralatan rumah dan dua butang untuk AKTIF dan MATI semua peralatan secara serentak.
Sekarang setelah membuat butang, ketika anda mengklik tombol Run di tetingkap GUI itu, ia akan meminta anda untuk menyimpan fail GUI ini (dengan ekstensi.fig), juga dikenal sebagai ' file fig'. Sebaik sahaja anda menyimpan fail, file kod secara automatik (dengan ekstensi.m), juga dikenal sebagai ' file M' (lihat tangkapan layar di bawah), di mana anda boleh meletakkan Kod (diberikan di bahagian Kod di bawah). Anda boleh memuat turun fail GUI dan fail Kod untuk projek ini dari sini: Home_Automation_system.fig dan Home_Automation_system.m (klik kanan dan pilih Simpan pautan sebagaiā¦), atau anda boleh membuatnya sendiri seperti yang telah kami jelaskan.
Setelah pengekodan anda akhirnya dapat Menjalankan fail.m dari tetingkap kod, anda akan melihat "Mencuba sambungan.." di tetingkap perintah. Kemudian mesej "Arduino berjaya disambungkan" muncul, jika semuanya berjalan lancar. Dan akhirnya anda akan melihat GUI (butang) yang dibuat sebelumnya di tetingkap GUI, dari mana anda dapat mengawal peralatan rumah dengan hanya mengklik butang di Komputer anda. Pastikan Arduino disambungkan ke Arduino melalui kabel USB. Di sini, dalam projek ini kami telah menggunakan 3 mentol untuk demonstrasi, yang menunjukkan Kipas, Cahaya dan TV.
Mengendalikan keseluruhan projek, dari memasang pakej sokongan Arduino MATLAB hingga Menghidupkan atau mematikan perkakas, dapat difahami di Video pada akhir.
Penjelasan Litar:
Litar projek ini sangat mudah. Di sini kami telah menggunakan papan Arduino UNO dan Relay Driver ULN2003 untuk memandu relay. Tiga Relay SPDT 5 volt disambungkan ke pin Arduino nombor 3, 4 dan 5, melalui pemacu relay ULN2003, masing-masing untuk mengendalikan LIGHT, FAN dan TV.
Penjelasan Pengaturcaraan:
Apabila kita menekan sebarang butang dari tetingkap GUI maka ia akan mengirimkan beberapa perintah ke Arduino dan kemudian Arduino melakukan operasi tersebut. Setelah memasang pakej sokongan Arduino MATLAB IO, kami dapat mengakses Arduino dari MATLAB dengan menggunakan fungsi Arduino yang sama, dengan sedikit variasi, seperti:
Untuk membuat pin HIGH di Arduino kami menulis kod sebagai digitalWrite (pin, HIGH)
Dalam MATLAB kita akan menggunakan fungsi ini dengan bantuan objek atau pemboleh ubah seperti, dan begitu juga seterusnya.
Sebelum melakukan ini kita harus memulakan pemboleh ubah seperti ini:
Dalam projek ini, tidak ada kod Arduino kecuali kod atau fail pakej sokongan Arduino MATLAB. Seperti yang dijelaskan sebelumnya bahawa fail kod (.m file) dihasilkan secara automatik sambil menyimpan fail GUI (.fig file). Sudah ada beberapa kod yang ditulis sebelumnya dalam fail.m. Pada dasarnya ini adalah fungsi Panggil Balik untuk butang Push, bermaksud kita dapat menentukan apa yang harus terjadi ketika mengklik pada Tombol Tekan ini.
Dalam kod MATLAB, pertama kita menginisialisasi port bersiri dan menjadikannya objek dengan menggunakan pemboleh ubah. Dan kemudian kita boleh memulakan pengaturcaraan seperti Arduino menggunakan pemboleh ubah.
ar jelas; ar global; ar = arduino ('COM13'); ar.pinMode (3, 'OUTPUT'); ar.pinMode (4, 'OUTPUT'); ar.pinMode (5, 'OUTPUT'); ar.pinMode (13, 'OUTPUT');
Dalam fungsi panggilan balik setiap butang, kami telah menulis kod yang berkaitan untuk Hidup atau NONAKTIFKAN Peralatan Rumah Tangga masing-masing, disambungkan ke Arduino melalui Relay. Seperti contohnya, fungsi Callback untuk Light ON diberikan di bawah:
fungsi light_on_Callback (hObject, eventdata, handle)% hObject handle to light_on (lihat GCBO)% eventdata dicadangkan - untuk ditentukan dalam versi masa depan MATLAB% menangani struktur dengan pemegang dan data pengguna (lihat GUIDATA) ar global; ar.digitalWrite (3, 1); ar.digitalWrite (13, 1);
Begitu juga kita dapat menulis kod dalam fungsi Panggilan Balik semua butang, untuk mengawal Peralatan Rumah yang bersambung yang lain, periksa Kod MATLAB lengkap di bawah (fail.m).