Lập trình GUI MATLAB vẽ đồ thị nhiệt độ từ LM35 với công cụ Axes

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.

Sơ đồ kết nối LM35 với 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.

Lập trình GUI MATLAB vẽ đồ thị nhiệt độ từ LM35 với công cụ Axes
Lập trình GUI MATLAB vẽ đồ thị nhiệt độ từ LM35 với công cụ Axes

Chúc các bạn thành công!

Download file

GUI_Plotting_Graph.fig & .m

Bài viết các bạn có thể tham khảo:

Viết một bình luận

This site uses Akismet to reduce spam. Learn how your comment data is processed.