Công cụ vẽ đồ thị trên arduino IDE - Serial Plotter

Sử dụng Serial Plotter chúng ta có thể vẽ đồ thị đầu ra của các dự án Arduino trong thời gian thực.  Việc vẽ đồ thị 1 cách nối tiếp theo thời gian thực là một phần mềm tiện ích có giá trị, và nó được sử dụng thông qua kết nối USB. Đồ thị gồm 2 trục X và Y . Trục dọc Y sẽ tự động điều chỉnh khi giá trị của thông số cần vẽ tăng hoặc giảm. Trục X không phải là trục thời gian, nhưng mỗi khi có thêm 1 lệnh println() nó sẽ được vẽ nối tiếp luôn vào đồ thị.

 Nói cách đơn giản, mỗi lần một lệnh Serial.println được thực hiện một điểm mới được thêm vào trong đồ thị. Tuy nhiên cho đến thời điểm hiện tại chúng ta sẽ có thể có tối đa là 500 điểm trên đồ thị và sẽ hi vọng trong các bản nâng cấp tiếp theo sẽ có nhiều điểm hơn.

Chúng ta hãy cùng đi vào ví dụ đầu tiên nhé

I. ĐỒ THỊ TRÊN SERIAL 

Lưu ý

Việc sử dụng serial plotter chỉ có hiệu lực trên Arduino IDE từ 1.6.6 trở đi nhé

Hãy nạp 1 đoạn code vào arduino của bạn

byte b=0;
void setup()
{
    Serial.begin(9600);
}
void loop()
{
    Serial.println(b++);
}

 

Để mở Plotter Serial, chọn Tools-> Serial Plotter trong menu chính (hoặc bấm Ctrl + Shift + L trong Windows). Giả sử có một Arduino kết nối, cửa sổ vẽ đồ thị sẽ mở ra. Ở phía dưới bên trái, bạn có thể chọn tốc độ truyền - giống như bạn sử dụng serial Monitor. Điều khác duy nhất là bạn không thể làm gì khác với cái đồ thị này ngoài việc nhìn nó thay đổi.

Đây chính là đồ thị hiển thị giá trị của biến b thay đổi từ 0 đến 255. Các bạn thấy thú vị không?

Ta cùng nạp 1 đoạn code khác để có được 1 hình ảnh đồ thị mềm mại hơn nhé

void setup() {
  Serial.begin(9600);
}

void loop() {
  for (int j = 0; j < 360; j++) {
   Serial.println(sin(j * (PI / 180)));
  }
}

Đồ thị hình sin được vẽ từ tín hiệu thông qua serial println.

Trục X của đồ thị là cố định, và nó chỉ đại diện cho giá trị của tín hiệu, từ trái sang phải. Bạn có thể kéo dãn cửa sổ vẽ đồ thị, nhưng đồ thị sẽ luôn hiển thị 500 số. Khi số lượng nhiều hơn đồ thị sẽ cuộn đi và bạn sẽ không có cách nào để kéo nó quay lại để nhìn nó 1 lần nữa.

Vậy thì để làm gì? Tôi cần nó để làm gì?

Khi các bạn sử dụng đến các cảm biến như nhiệt độ, độ ẩm, Plotter hoàn toàn có thể vẽ cho bạn 1 đồ thị mô tả về thông số do cảm biến đo đạc được, nó hoàn toàn trực quan so với cách các bạn xem nó bằng các dãy số chạy ầm ầm trên serial monitor. Từ bản 1.6.7 trở đi các bạn có thể vẽ được nhiều đồ thị từ nhiều dữ liệu hơn so với việc vẽ từ 1 dữ liệu.

II. KẾT LUẬN

Các tính năng đồ họa của Plotter cho phép bạn nhanh chóng xem những thay đổi tương đối trong dữ liệu của bạn mà không cần nhìn vào một dòng của các giá trị số chạy rối lắm hoặc phải sao chép và dán dữ liệu vào Excel hoặc Google Sheets để quan sát sự thay đổi. Để làm được như vậy chúng ta chỉ cần nhập Serial.printlnvà mở Plotter Serial.

Trong trường hợp bạn làm việc với cảm biến nhiệt độ, độ ẩm (DHT11) thì trên màn hình sẽ hiển thị 2 đồ thị của nhiệt độ và độ ẩm, rất tiện để các bạn quan sát và đánh giá.

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

lên
15 thành viên đã đánh giá bài viết này hữu ích.
Các dự án được truyền cảm hứng

Bộ điều khiển PID - ứng dụng phần 2 - xe dò line dùng thuật toán PID

Tiép nối bài viết về xe dò line cảm ơn Đỗ Hữu Toàn đã viết hộ mình phần 4. hôm nay mình sẽ làm cho chiếc xe dò line đi mượt và có hồn hơn 

lên
34 thành viên đã đánh giá bài viết này hữu ích.
Các bài viết cùng tác giả

Thiết bị bật tắt Moderm Wifi tự động - Một dự án về việc hẹn giờ

Dự án này mình đã hoàn thiện vào cuối năm 2015. Tuy nhiên bây giờ mới có thời gian giới thiệu tới các bạn. Gia đình bạn có sử dụng wifi và những lúc không sử dụng bạn muốn tắt nó đi để tránh ảnh hưởng của sóng wifi tới sức khỏe, đặc biệt là với trẻ nhỏ. Dựa trên lí do đó mình đã làm 1 thiết bị có khả năng tự bật tắt wifi theo thời gian định sẵn, có thể điều khiển từ xa và học lệnh các loại điều khiển.enlightened Qua bài viết này, hi vọng nhận được nhiều ý kiến đóng góp từ các bạn đồng thời nâng cấp thêm nhiều tính năng cho thiết bị.wink

lên
26 thành viên đã đánh giá bài viết này hữu ích.

Giao tiếp I2C với nhiều module

Nhiều bạn khi mới tiếp cận với thế giới điện tử và bắt đầu làm quen với arduino không khỏi bỡ ngỡ khi nhận thấy trên Arduino Uno chỉ có 2 chân A4,A5 để giao tiếp I2C. Rồi chợt đặt câu hỏi. Có mỗi 1 cổng I2C thế kia thì làm sao có thể giao tiếp với nhiều thiết bị cũng sử dụng giao tiếp I2C? Bài viết này mình sẽ hướng dẫn các bạn cách giao tiếp I2C với nhiều thiết bị.

lên
34 thành viên đã đánh giá bài viết này hữu ích.