สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
ผู้คนมักจะหวนคิดถึงงานอดิเรกที่มีความสำคัญต่อพวกเขา เช่น การเดินป่า
แต่คุณจะเก็บความทรงจำของการปีนเขาได้อย่างไร?
รูปภาพเป็นตัวเลือกใช่ อุปกรณ์นี้จะให้ตัวเลือกอื่นในการเก็บข้อมูลจากการเดินทาง บุคคลนั้นจะมีกราฟแสดงเวลาที่ใช้ในการไต่เขาเมื่อเทียบกับระดับความสูงที่พวกเขาขึ้น นอกจากนี้ มันจะบอกพวกเขาถึงแรงกดดันสูงสุด ต่ำสุด และเฉลี่ยที่พวกเขาได้รับตลอดระยะเวลาของการเดินป่า
สิ่งนี้ใช้เซ็นเซอร์ระดับความสูงและความดันของ Internet of Things เพื่อติดตามและบันทึกข้อมูลเกี่ยวกับการปีนเขา จากนั้น MATLAB จะใช้ในการวิเคราะห์ข้อมูลเพื่อแสดงผลการอ่านค่าแรงดันคีย์และกราฟของเวลาเทียบกับระดับความสูง
ขั้นตอนที่ 1: ชิ้นส่วนและวัสดุ
Sparkfun ESP8266
เซ็นเซอร์ความสูง/ความดันที่ใช้ร่วมกันได้
สายไฟ
สาย USB เป็น micro-USB
บัญชี ThingSpeak
ซอฟต์แวร์ Arduino
ซอฟต์แวร์ MATLAB และกล่องเครื่องมือ ThingSpeak
ขั้นตอนที่ 2: การตั้งค่าซอฟต์แวร์
สร้างบัญชี
สร้าง "ช่องใหม่"
ป้ายฟิลด์ 1 เป็นระดับความสูง และฟิลด์ 2 เป็นความดัน
บันทึกช่อง
ไปที่ "การแชร์" และเลือก "แชร์มุมมองช่องกับทุกคน"
วางโค้ดจาก [https://ef.engr.utk.edu/ef230-2017-08/projects/ard…] ลงใน Arduino
เปลี่ยนเครือข่าย WiFi "ssid" และรหัสผ่าน
เปลี่ยน "streamID" และ "privateKey" เพื่อให้ตรงกับคีย์ API บน ThingSpeak
ขั้นตอนที่ 3: การตั้งค่าฮาร์ดแวร์
ฮาร์ดแวร์สายไฟตามภาพด้านบน
เสียบ USB เข้ากับแล็ปท็อปและ ESP8266
ขั้นตอนที่ 4: การเชื่อมต่อกับอุปกรณ์ของคุณ
มองหาและพลิกสวิตช์ขนาดเล็กสีดำบน ESP8266 เพื่อเปิด
คลิกลูกศรชี้ขวาที่มุมซ้ายบนของโปรแกรม Arduino เพื่ออัปโหลดโค้ด (อาจใช้เวลาสักครู่)
ตอนนี้การอ่านเซ็นเซอร์ควรส่งข้อมูลไปยังเว็บไซต์ ThingSpeak ซึ่งแสดงเป็นกราฟิก
ขั้นตอนที่ 5: การเข้ารหัส MATLAB
คัดลอกโค้ดต่อไปนี้สำหรับฟังก์ชัน "microcontroller_project" ลงใน MATLAB
เปลี่ยนตัวหนาให้พอดีกับช่อง ThingSpeak เฉพาะ
(ตัวหนา "90" หมายถึงจำนวนนาทีของข้อมูลที่นำมาพิจารณาจากช่อง เปลี่ยนแปลงด้วยตนเองตามระยะเวลาที่ช่องทำงานอยู่)
เรียกใช้ฟังก์ชันโดยพิมพ์ "microcontroller_project" ลงใน Command Window
รหัส:
ฟังก์ชั่น [กราฟ Pressures_Pa] = microcontroller_project ()data = thingSpeakRead (364102, 'Fields', [1, 2], 'NumMinutes', 90, 'OutputFormat', 'table');
readChannelID=364102;
readAPIKey='U9AJ9S68KVNYQKQV';
ความสูงฟิลด์ID=1;
ความดันฟิลด์ID=2;
writeChannelID = 364102;
writeAPIKey='6H8W3UNH6HMT1TCZ';
สำหรับ i=1:max(ขนาด(ข้อมูล))
เวลาประทับ=ข้อมูล(i, 1);
time_cell_array=table2cell(ประทับเวลา);
time_string_array=datestr(time_cell_array{1, 1});
ชั่วโมง=str2num(time_string_array(13:14));
นาที=str2num(time_string_array(16:17));
วินาที=str2num(time_string_array(19:20));
เวลา(i)=3600.*ชั่วโมง+60.*นาที+วินาที;
จบ
alt=data(:, 2);
alt2=table2cell(alt);
ความสูง=ย้าย(cell2mat(alt2));
p=data(:, 3);
ความดัน=cell2mat(table2cell(p));
พล็อต (เวลา ความสูง)
title('ข้อมูลเส้นทางเดินป่า: เวลาเทียบกับระดับความสูง')
xlabel('เวลา (วินาที)')
ylabel('ระดับความสูง (ฟุต)')
str=วันที่; ตำนาน(str)
Pressures_Pa.max=max(ความดัน)
Pressures_Pa.min=min(ความดัน)
Pressures_Pa.avg=mean(ความดัน)
จบ