- Membuat Graphical User Interface MATLAB untuk Plotting Graph
- Kode MATLAB untuk Merencanakan Grafik
- Material Diperlukan
- Diagram Sirkuit
- Plot Grafik dengan MATLAB
Grafik selalu membantu untuk memvisualisasikan data dan menjadi sangat mudah untuk menemukan tren dan pola dengan melihatnya. Ada banyak software yang tersedia untuk memplot grafik berdasarkan nilai input, hari ini kita akan menggunakan MATLAB untuk memplot grafik berdasarkan data suhu dari sensor LM35. Tutorial ini akan memberi Anda ide dasar tentang cara memplot grafik waktu nyata menggunakan MATLAB. Arduino Uno digunakan disini untuk mendapatkan data temperatur dari sensor temperatur LM35.
Sebelum melangkah lebih jauh, jika Anda baru mengenal MATLAB, Anda dapat memeriksa tutorial MATLAB kami sebelumnya untuk pemahaman yang lebih baik:
- Memulai dengan MATLAB: Pengantar Singkat
- Menghubungkan Arduino dengan MATLAB - LED Berkedip
- Komunikasi Serial antara MATLAB dan Arduino
- Kontrol Motor DC Menggunakan MATLAB dan Arduino
- Kontrol Motor Stepper menggunakan MATLAB dan Arduino
Membuat Graphical User Interface MATLAB untuk Plotting Graph
Pertama kita harus membangun GUI (Graphical User Interface) untuk Plot Grafik dengan data suhu. 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 kita harus memilih satu tombol tekan, dua sumbu dan satu kotak teks untuk antarmuka grafis MATLAB . Tombol tekan akan digunakan untuk memulai penginderaan suhu, dua sumbu untuk merencanakan grafik dan kotak teks untuk menunjukkan nilai suhu saat ini.
Untuk mengubah ukuran atau mengubah bentuk tombol, Sumbu atau tombol edit teks, cukup klik di atasnya dan Anda akan dapat menyeret sudut tombol. Dengan mengklik dua kali pada salah satu tombol ini, Anda akan dapat mengubah warna, string, dan tag dari tombol tersebut. Setelah kustomisasi akan terlihat seperti ini
Anda dapat menyesuaikan tombol sesuai pilihan Anda. Sekarang ketika Anda menyimpan ini, sebuah kode dibuat di jendela Editor MATLAB. Untuk membuat Arduino Anda melakukan tugas tertentu yang terkait dengan proyek Anda, Anda harus selalu mengedit kode yang dihasilkan ini. 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 untuk Merencanakan Grafik
Kode MATLAB lengkap untuk Merancang Termometer menggunakan LM35 dan Arduino, diberikan di akhir proyek ini. Selanjutnya kami menyertakan file GUI (.fig) dan file kode (.m) di sini untuk diunduh, yang dengannya Anda dapat menyesuaikan tombol atau ukuran Sumbu sesuai kebutuhan Anda. Kami telah mengedit kode yang dihasilkan seperti yang dijelaskan di bawah ini.
Salin dan tempel kode di bawah ini pada baris no. 74 untuk memastikan bahwa Arduino berbicara dengan MATLAB setiap kali Anda menjalankan m-file .
Bersihkan semua; global a; a = arduino ();
Saat Anda menggulir ke bawah, Anda akan melihat bahwa ada dua fungsi yang dibuat untuk Tombol Tekan dan Edit Teks di GUI, tidak ada fungsi yang akan dibuat untuk Sumbu. Sekarang tulis kode di fungsi Pushbutton (tombol start) sesuai dengan tugas yang ingin Anda lakukan.
Dalam fungsi tombol Start , salin dan tempel kode di bawah ini tepat sebelum fungsi berakhir untuk memulai penginderaan suhu. Untuk terus merasakan, menampilkan, dan menggambar grafik dari suhu, kami menggunakan while loop . Kami telah menyediakan jeda 1 detik setelah setiap iterasi sehingga nilai suhu akan diperbarui setiap detik.
x = 0; go = true; global a; sementara go value = readVoltage (a, 'A1'); temp = (nilai * 100); disp (temp); x =; plot (handle.axes1, x); jaringan aktif; xlabel ('Time (detik)') ylabel ('Temperature (° C)'); judul ('Grafik Suhu Real-Time'); set digambar (handle.edit1, 'String', num2str (temp)); jeda (1); akhir
Sekarang, mari kita lihat bagaimana kode tersebut bekerja. Di bawah garis tiga baris kami telah menetapkan nilai awal ' x ' menjadi nol, mendefinisikan ' go ' sebagai true untuk memulai loop sementara dan menyatakan ' global a' untuk memanggil Arduino dalam fungsinya.
x = 0; go = true; global a;
Baris kode di bawah ini digunakan untuk merasakan nilai tegangan dari pin analog A1 Arduino yang terhubung ke pin 'OUT' dari Sensor Suhu LM35. Outputnya akan menjadi nilai tegangan bukan nilai analog.
value = readVoltage (a, 'A1');
Di sini kita bisa langsung mengubah nilai tegangan menjadi nilai suhu (derajat Celcius), dengan mengalikannya dengan 10
temp = (nilai * 100);
Sekarang, untuk memplot grafik digunakan fungsi 'plot (handle.axes1, x)' , dimana axes1 adalah referensi atau nama dari area grafik. Jadi jika Anda memplot lebih dari satu grafik maka Anda hanya perlu mengubah nama sumbu, seperti jika Anda memplot grafik lain, Anda dapat menulis plot (handle.axes2, x) '
'Grid on' digunakan untuk On the Grid view of the graph , 'xlabel', 'ylabel' and ' title ' digunakan untuk menamai sumbu x, sumbu y dan judul.
plot (handle.axes1, x); jaringan aktif; xlabel ('Time (detik)') ylabel ('Temperature (° C)'); judul ('Grafik Suhu Real-Time');
' Drawnow' digunakan untuk memperbarui representasi grafis secara real-time.
digambar
Untuk menampilkan nilai temperatur di edit text box setiap detik dibawah digunakan perintah, set (handle.edit1, 'String', num2str (temp));
Material Diperlukan
- Laptop yang diinstal MATLAB (Preferensi: R2016a atau versi di atasnya)
- Arduino UNO
- LM35 - Sensor Suhu
- Menghubungkan Kabel
- Papan tempat memotong roti
Diagram Sirkuit
Plot Grafik dengan MATLAB
Setelah mengatur perangkat keras sesuai dengan diagram sirkuit, 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 menampilkan pesan sibuk di sudut kiri bawah seperti yang ditunjukkan di bawah ini,
Ketika semuanya sudah siap, klik tombol start dan Anda akan mulai mendapatkan data suhu di Area Grafis dan di kotak Edit Teks . Nilainya akan diperbarui secara otomatis setiap satu detik. Interval satu detik ini Anda dapat mengubah kode MATLAB yang sesuai.
Outputnya akan terlihat seperti gambar dibawah ini,
Ini adalah bagaimana Anda dapat memplot grafik untuk setiap nilai yang masuk dari Arduino menggunakan MATLAB.
Lihat video demonstrasi di bawah ini untuk pemahaman yang benar.