Mục lục:
2025 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2025-01-13 06:58
Mọi người có xu hướng hoài niệm về những sở thích quan trọng đối với họ, chẳng hạn như đi bộ đường dài.
Nhưng làm thế nào để bạn lưu giữ ký ức về một chuyến đi bộ đường dài?
Hình ảnh là một lựa chọn, có. Thiết bị này sẽ cho phép một tùy chọn khác là lưu trữ dữ liệu từ chuyến đi. Người đó sẽ có một biểu đồ cho thấy thời gian đi bộ đường dài so với độ cao mà họ đã đi bộ. Ngoài ra, nó sẽ cho họ biết áp suất tối đa, tối thiểu và trung bình mà họ phải chịu trong suốt chiều dài của chuyến đi bộ.
Điều này sử dụng cảm biến Độ cao và Áp suất của Internet of Things để theo dõi và ghi lại dữ liệu về sự tăng vọt. Sau đó, MATLAB được sử dụng để phân tích dữ liệu để đưa ra các chỉ số áp suất chính và biểu đồ thời gian so với độ cao.
Bước 1: Các bộ phận và vật liệu
Sparkfun ESP8266
Cảm biến độ cao / áp suất tương thích
Dây điện
Cáp USB sang micro-USB
Tài khoản ThingSpeak
Phần mềm Arduino
Phần mềm MATLAB và hộp công cụ ThingSpeak
Bước 2: Thiết lập phần mềm
Tạo một tài khoản
Tạo một "Kênh mới"
Ghi nhãn Trường 1 là Cao độ và Trường 2 là Áp suất
Lưu kênh
Vào "Chia sẻ" và chọn "Chia sẻ chế độ xem kênh với mọi người"
Dán mã từ [https://ef.engr.utk.edu/ef230-2017-08/projects/ard…] vào Arduino
Thay đổi mạng WiFi "ssid" và mật khẩu
Thay đổi "streamID" và "privateKey" để khớp với Khóa API trên ThingSpeak
Bước 3: Thiết lập phần cứng
Phần cứng dây theo hình trên
Cắm USB vào máy tính xách tay và ESP8266
Bước 4: Kết nối với thiết bị của bạn
Tìm và lật công tắc nhỏ, màu đen trên ESP8266 để bật
Nhấp vào mũi tên hướng phải ở góc trên bên trái của chương trình Arduino để tải mã lên (quá trình này có thể mất vài phút)
Bây giờ, các bài đọc cảm biến sẽ được xuất dữ liệu tới trang web ThingSpeak, được biểu diễn bằng đồ thị
Bước 5: Mã hóa MATLAB
Sao chép mã sau cho hàm "microcontroller_project" vào MATLAB
Thay đổi văn bản in đậm để phù hợp với kênh ThingSpeak cụ thể
("90" in đậm đề cập đến giá trị phút dữ liệu được tính đến từ kênh. Thay đổi điều này theo cách thủ công tùy theo thời gian kênh đã hoạt động.)
Gọi hàm bằng cách nhập "microcontroller_project" vào Cửa sổ lệnh
Mã số:
function [graph Pressures_Pa] = microcontroller_project () data = thingSpeakRead (364102, 'Fields', [1, 2], 'NumMinutes', 90, 'OutputFormat', 'table');
readChannelID = 364102;
readAPIKey = 'U9AJ9S68KVNYQKQV';
trường độ caoID = 1;
trường áp suấtID = 2;
writeChannelID = 364102;
writeAPIKey = '6H8W3UNH6HMT1TCZ';
cho i = 1: max (kích thước (dữ liệu))
dấu thời gian = data (i, 1);
time_cell_array = table2cell (dấu thời gian);
time_string_array = datestr (time_cell_array {1, 1});
giờ = str2num (time_string_array (13:14));
phút = str2num (time_string_array (16:17));
giây = str2num (time_string_array (19:20));
time (i) = 3600. * giờ + 60. * phút + giây;
kết thúc
alt = data (:, 2);
alt2 = table2cell (alt);
độ cao = chuyển vị (cell2mat (alt2));
p = data (:, 3);
áp suất = cell2mat (table2cell (p));
âm mưu (thời gian, độ cao)
title ('Dữ liệu Đường đi bộ: Thời gian so với Độ cao')
xlabel ('Thời gian (giây)')
ylabel ('Cao độ (ft)')
str = ngày tháng; huyền thoại (str)
Pressures_Pa.max = max (áp suất)
Pressures_Pa.min = min (áp suất)
Pressures_Pa.avg = mean (áp suất)
kết thúc