- Komponen Diperlukan
- Diagram Sirkuit
- Komunikasi Serial menggunakan MATLAB Command Window
- Komunikasi Serial menggunakan MATLAB GUI
MATLAB adalah perangkat lunak serbaguna yang dapat digunakan untuk berbagai macam aplikasi. Dalam tutorial MATLAB sebelumnya, kami telah menjelaskan cara menggunakan MATLAB untuk mengontrol motor DC, motor Servo dan peralatan Rumah. Di sini, di tutorial ini, kita akan belajar bagaimana menggunakan MATLAB untuk Komunikasi Serial. Untuk penerima komunikasi serial, kami di sini menggunakan Arduino.
Ada dua cara untuk mengatur komunikasi serial antara MATLAB dan Arduino, satu menggunakan jendela perintah dan yang lainnya menggunakan MATLAB GUI. Kode Arduino untuk kedua metode tersebut akan tetap sama. Jika Anda baru mengenal MATLAB, disarankan untuk memulai dengan program kedip LED sederhana dengan MATLAB dan mempelajari terminologi dasar yang digunakan dalam MATLAB.
Komponen Diperlukan
- Laptop yang diinstal MATLAB (Preferensi: R2016a atau versi di atasnya)
- Arduino UNO
- LED (warna apa saja)
- Resistor (330 ohm)
Diagram Sirkuit
Diagram rangkaian di atas akan tetap sama untuk kedua cara menjalin komunikasi serial antara MATLAB dan Arduino.
Komunikasi Serial menggunakan MATLAB Command Window
Ini adalah metode sederhana untuk mengatur komunikasi serial antara Arduino dan MATLAB. Disini kita cukup mengirimkan data dari MATLAB ke Arduino secara serial menggunakan command window kemudian Arduino membaca data serial yang masuk. Kemudian data yang dikirimkan secara serial ini dapat digunakan untuk mengontrol apa pun yang terhubung ke Arduino. Di sini kami telah menghubungkan LED ke Arduino, yang akan dihidupkan dan dimatikan sesuai dengan data yang diterima secara serial oleh Arduino.
Pertama, unggah kode Arduino yang diberikan di Arduino UNO dan kemudian mulai pengkodean di MATLAB Editor Window. Untuk membuka skrip editor baru, klik ' New Script' seperti yang ditunjukkan pada gambar di bawah ini:
Kemudian, salin dan tempel kode MATLAB lengkap di bawah ini di jendela editor untuk komunikasi serial antara MATLAB dan Arduino.
% MATLAB Kode untuk Komunikasi Serial antara Arduino dan MATLAB x = serial ('COM18', 'BAUD', 9600); fopen (x); go = true; sementara pergi a = input ('Tekan 1 untuk menyalakan LED & 0 untuk mematikan:'); fprintf (x, a); jika (a == 2) go = false; akhir akhir
Dalam kode yang diberikan, perintah di bawah ini digunakan untuk mendefinisikan komunikasi serial di MATLAB. Pastikan nomor port com adalah nomor port tempat Arduino terhubung dan baud rate harus disetel sama di kedua kode Arduino dan MATLAB.
x = serial ('COM18', 'BAUD', 9600);
Untuk membuka port serial gunakan perintah di bawah ini, fopen (x);
Perintah di bawah ini digunakan untuk mengirim data dari MATLAB ke Arduino secara serial, dimana x untuk memanggil serial dan a adalah nilai yang dimasukkan oleh pengguna.
fprintf (x, a);
Kami telah menggunakan fungsi while untuk membuat pengulangan tak terbatas dan setiap kali pengguna memasukkan angka '2', pengulangan akan putus.
sementara pergi a = input ('Tekan 1 untuk menyalakan LED & 0 untuk mematikan:'); fprintf (x, a); jika (a == 2) go = false; akhir akhir
Setelah menyelesaikan pengkodean script editor MATLAB klik ' RUN ' untuk menjalankan program Anda seperti yang ditunjukkan pada gambar di bawah ini,
MATLAB membutuhkan beberapa detik untuk memproses kode dan memulai komunikasi serial, tunggu hingga MATLAB menampilkan pesan 'BUSY' di sudut kiri bawah layar perangkat lunak, seperti yang ditunjukkan pada gambar di bawah ini.
Sekarang, Anda akan melihat jendela perintah untuk mengirim input pengguna, kami telah mengatur pesan default, 'Tekan 1 untuk menghidupkan LED & 0 untuk mematikan:'
Kirim '1' untuk menyalakan LED, '0' untuk mematikan LED dan '2' untuk menghentikan operasi. Anda dapat mengatur nomor apa pun untuk tugas apa pun, yang harus Anda lakukan hanyalah mengubah kode Arduino yang sesuai. Kode Arduino lengkap diberikan di bagian akhir.
Anda dapat melihat video di bawah ini untuk memahami proses lengkap Mengirim Data Serial dari MATLAB ke Arduino menggunakan Command Window.
Komunikasi Serial menggunakan MATLAB GUI
Untuk mendemonstrasikan Komunikasi Serial menggunakan MATLAB GUI, kami akan membuat dua tombol grafis menggunakan MATLAB untuk menghidupkan dan mematikan LED yang terhubung ke Arduino. Data akan dikirim secara serial dari MATLAB ke Arduino dengan mengklik tombol-tombol ini untuk menyalakan dan mematikan LED. Arduino akan berisi kode untuk menerima data serial dari MATLAB dan mengontrol LED sesuai dengan data serial yang diterima. Kode arduino akan tetap sama seperti sebelumnya, hanya bedanya, sebelumnya kami mengirimkan data serial '1' dan '0' melalui jendela perintah MATLAB, dan sekarang data yang sama akan dikirim melalui dentingan pada dua tombol grafis.
Untuk meluncurkan GUI, ketik perintah di bawah ini di jendela perintah
panduan
Jendela popup akan terbuka, lalu pilih GUI kosong baru seperti yang ditunjukkan pada gambar di bawah ini,
Sekarang pilih dua tombol untuk menyalakan dan mematikan LED, seperti yang ditunjukkan di bawah ini,
Untuk mengubah ukuran atau mengubah bentuk tombol, cukup klik tombol tersebut dan Anda akan dapat menyeret sudut tombol. Dengan mengklik dua kali pada tombol tekan Anda dapat mengubah warna, string dan tag dari tombol tersebut. Kami telah menyesuaikan dua tombol seperti yang ditunjukkan pada gambar di bawah ini.
Anda dapat menyesuaikan tombol sesuai pilihan Anda. Sekarang ketika Anda menyimpan ini, kode akan dihasilkan di jendela Editor MATLAB. Edit kode ini sesuai dengan tugas yang ingin Anda lakukan oleh Arduino Anda menggunakan MATLAB GUI. Jadi di bawah ini kami telah mengedit kode MATLAB. Anda dapat mempelajari lebih lanjut tentang jendela Command, jendela editor dll di Memulai tutorial MATLAB.
Kode MATLAB lengkap, untuk membangun Komunikasi Serial antara MATLAB dan Arduino diberikan di akhir proyek ini. Selanjutnya kami menyertakan file GUI (.fig) dan file kode (.m) di sini untuk diunduh (klik kanan pada tautan lalu pilih 'Simpan tautan sebagaiā¦'), yang dengannya Anda dapat menyesuaikan tombol sesuai kebutuhan Anda. Di bawah ini adalah beberapa penyesuaian yang kami lakukan untuk mengontrol LED yang terhubung dengan Arduino.
Salin dan tempel kode di bawah ini pada baris no. 74 untuk mengatur port serial dan baud rate.
Bersihkan semua; global x; x = serial ('COM18', 'BAUD', 9600); % Pastikan baud rate dan COM port % sama seperti di Arduino IDE fopen (x);
dimana, fopen (x) digunakan untuk membuka port serial untuk komunikasi serial.
Saat Anda menggulir ke bawah, Anda akan melihat bahwa ada dua fungsi yang dibuat untuk kedua Tombol di GUI. Sekarang tulis kode di kedua fungsi sesuai dengan tugas yang ingin Anda lakukan saat diklik.
Dalam fungsi tombol LED-ON , salin dan tempel kode di bawah ini tepat sebelum akhir fungsi untuk menyalakan LED. Seperti yang Anda lihat pada kode di bawah ini, fprintf (x, 1) digunakan untuk mengirim data serial dari MATLAB ke serial Arduino. Di sini kami mengirim '1' ke serial Arduino dan jika Anda memeriksa kode Arduino, Anda akan menemukan bahwa Arduino akan menyalakan LED dengan membuat pin ke -13 TINGGI, ketika menerima '1' pada port serialnya.
global x; fprintf (x, 1);
Dalam fungsi tombol LED-OFF , salin dan tempel kode di bawah ini tepat sebelum akhir fungsi untuk mematikan LED. Seperti yang Anda lihat pada kode di bawah ini, fprintf (x, 0) digunakan untuk mengirim data serial dari MATLAB ke serial Arduino. Pada bagian ini, kami mengirimkan '0' ke serial Arduino dan jika Anda memeriksa kode Arduino, Anda akan menemukan bahwa Arduino akan mematikan LED dengan membuat pin ke -13 RENDAH, ketika menerima '0' pada port serialnya.
global x; fprintf (x, 0);
Setelah selesai dengan MATLAB GUI coding dan setup hardware sesuai diagram rangkaian, cukup klik tombol run untuk menjalankan kode yang diedit dalam file.m.
MATLAB mungkin memerlukan beberapa detik untuk merespons, jangan klik tombol GUI apa pun hingga MATLAB menunjukkan indikasi SIBUK, yang dapat Anda lihat di sudut kiri bawah layar seperti yang ditunjukkan di bawah ini,
Ketika semuanya sudah siap, klik tombol LED-ON dan LED-OFF untuk menyalakan dan mematikan LED. Ketika Anda menekan tombol LED-ON , pin ke- 13 Arduino menjadi HIGH dan LED yang terhubung ke PIN ini mulai menyala, dan ketika Anda menekan tombol LED-OFF , pin ke- 13 Arduino menjadi RENDAH yang membuat LED mati.
Anda dapat melihat video di bawah ini untuk memahami proses lengkap Pengiriman Data Serial dari MATLAB ke Arduino menggunakan MATLAB GUI.