Nội Dung Bài Viết
Những bài viết trước, tôi đã hướng dẫn các bạn tạo GUI với các công cụ push button, slider, edit text. Bài viết này, tôi giới thiệu cho các bạn thêm một công cụ nữa. Đó là công cụ axes.
Bài này chúng ta sẽ tiến hành tạo một giao diện GUI MATLAB vẽ đồ thị nhiệt độ từ LM35 sử dụng công cụ axes trong MATLAB.
Trước tiên, chúng ta cần biết kết nối cảm biến nhiệt độ LM35 với Arduino như thế nào. Đơn giản thôi mà.
Kết nối phần cứng
Để kết nối phần cứng, các bạn cần chuẩn bị các phần cứng sau:
- Bo Arduino Uno hoặc loại bo Arduino khác
- Cảm biến nhiệt độ LM35
- Một vài dây dẫn
Như đã biết cảm biến nhiệt độ LM35 là loại cảm biến có 3 chân: VCC, OUT, GND. Chúng ta nối VCC của LM35 đến +5V VCC của Arduino, chân OUT nối đến A0 của Arduino, chân GND nối với chân GND trên Arduino.
Sau khi chuẩn bị xong phần cứng, chúng ta tiến hành tạo giao diện GUI trên MATLAB
Tạo GUI MATLAB
Mở MATLAB, tại cửa sổ Command Window gõ lệnh: >>guide –> chọn Black GUI.
Tại khu vực thiết kế GUI trong cửa sổ GUI, chúng ta tạo ra một push button, một axes, một edit text và kéo thả tùy chỉnh.
Sau đó, tiến hành thay đổi thuộc tính của từng đối tượng: chọn đối tượng –> right click –> Property Inspector. Đối với GUI MATLAB đơn giản ít đối tượng này tôi không cần thay đổi thuộc tính nhiều. Trong GUI này tôi chỉ thây đổi name trường string của đối tượng push button thành Start, kết quả như GUI như hình dưới:
Thiết kế GUI hoàn thành được như hình rồi, chúng ta bắt đầu tiến hành add code vào file .m thôi. Trước khi làm điều đó, cần nhấn Ctrl+S để Save GUI lại. Lúc này file .m đã được tạo ra và mở sẵn trong cửa sổ MATLAB. Tiến hành add code thôi nào
Add code trong file .m
Tìm đến dòng function varargout trong file .m và thêm dòng clear all; và khai báo thêm một biến phần cứng cho Arduino.
Trong chương trình này, sau khi push button được nhấn chúng ta sẽ lấy 100 mẫu dữ liệu để xử lý và vẽ đồ nhiệt độ và hiển thị giá trị nhiệt độ ra edit text. Chúng ta chỉ cần add code vào function pushbutton1_Callback là xong, đơn giản vậy thôi.
Câu lệnh v=readVoltage(a,’A0′) dùng để đọc giá trị điện áp trên chân analog A0.
Câu lệnh temp=v*100 dùng để đổi giá trị điện áp đọc được thành nhiệt độ. Như đã biết LM35 có độ nhạy 10mV/0C. Tức temp=v/10. Nhưng do điện áp đọc được đơn vị là von nên temp=v*1000/10=v*100.
Như vậy là chúng ta vừa add code vẽ đồ thị nhiệt độ từ LM35 xong. Save code vừa add lại nhé.
Chạy và kiểm tra chương trình
Kết nối Arduino với máy tính và nhấn RUN chạy chương trình GUI MATLAB. Đợi vài giây (Bạn để ý chữ busy ở dưới gốc trái cửa sổ MATLAB không xuất hiện là được). Sau đó, nhấn Start chương trình bắt đầu thu thập dữ liệu nhiệt độ và vẽ ra đồ thị nhiệt độ. Sau một thời gian, đồ thị sẽ như thế này.
Chúc các bạn thành công!
Download file
Bài viết các bạn có thể tham khảo:
- Điều khiển tốc độ động cơ DC sử dụng MATLAB
- Tài liệu giao tiếp Arduino và Matlab (Matlab-Arduino Communication)
- Đoạn code matlab thiết lập giao tiếp Arduino qua cổng serial