Daftar Isi:
2025 Pengarang: John Day | [email protected]. Terakhir diubah: 2025-01-13 06:57
Orang cenderung bernostalgia dengan hobi yang penting bagi mereka, seperti hiking.
Tapi bagaimana Anda menyimpan memori pendakian?
Gambar adalah pilihan, ya. Perangkat ini akan memungkinkan opsi lain untuk menjadi arsip data dari perjalanan. Orang tersebut akan memiliki grafik yang memplot waktu yang dibutuhkan untuk mendaki dibandingkan dengan ketinggian yang mereka daki. Selain itu, ini akan memberi tahu mereka tekanan maksimum, minimum, dan rata-rata yang mereka hadapi selama pendakian.
Ini menggunakan sensor Ketinggian dan Tekanan Internet of Things untuk memantau dan merekam data tentang kenaikan. MATLAB kemudian digunakan untuk menganalisis data untuk menghasilkan pembacaan tekanan utama dan grafik waktu vs. ketinggian.
Langkah 1: Bagian dan Bahan
Sparkfun ESP8266
Sensor ketinggian/tekanan yang kompatibel
kabel
Kabel USB ke micro-USB
Akun HalSpeak
Perangkat lunak Arduino
Perangkat lunak MATLAB dan kotak alat ThingSpeak
Langkah 2: Menyiapkan Perangkat Lunak
Buat sebuah akun
Buat "Saluran Baru"
Labeli Bidang 1 sebagai Ketinggian dan Bidang 2 sebagai Tekanan
Simpan saluran
Buka "Berbagi" dan pilih "Bagikan tampilan saluran dengan semua orang"
Tempel kode dari [https://ef.engr.utk.edu/ef230-2017-08/projects/ard…] ke Arduino
Ubah "ssid" dan kata sandi jaringan WiFi
Ubah "streamID" dan "privateKey" agar sesuai dengan Kunci API di ThingSpeak
Langkah 3: Menyiapkan Perangkat Keras
Kawat perangkat keras sesuai dengan gambar di atas
Colokkan USB ke laptop dan ESP8266
Langkah 4: Menghubungkan ke Perangkat Anda
Cari dan balik tombol kecil berwarna hitam pada ESP8266 untuk menyalakannya
Klik panah yang menghadap ke kanan di sudut kiri atas program Arduino untuk mengunggah kode (ini mungkin memakan waktu beberapa menit)
Sekarang pembacaan sensor harus mengeluarkan data ke situs web ThingSpeak, yang diwakili secara grafis
Langkah 5: Pengkodean MATLAB
Salin kode berikut untuk fungsi "microcontroller_project" ke dalam MATLAB
Ubah teks tebal agar sesuai dengan saluran ThingSpeak tertentu
("90" yang dicetak tebal mengacu pada data menit yang diperhitungkan dari saluran. Ubah ini secara manual sesuai dengan berapa lama saluran telah berjalan.)
Panggil fungsi dengan mengetik "microcontroller_project" ke dalam Jendela Perintah
Kode:
function [grafik Pressures_Pa] = mikrokontroler_project ()data = thingSpeakRead(364102, 'Fields', [1, 2], 'NumMinutes', 90, 'OutputFormat', 'table');
readChannelID=364102;
readAPIKey='U9AJ9S68KVNYQKQV';
ketinggianbidangID=1;
tekananfieldID=2;
writeChannelID=364102;
writeAPIKey='6H8W3UNH6HMT1TCZ';
untuk i=1:max(ukuran(data))
stempel waktu=data(i, 1);
time_cell_array=table2cell(stempel waktu);
time_string_array=datestr(time_cell_array{1, 1});
jam=str2num(time_string_array(13:14));
menit=str2num(time_string_array(16:17));
detik=str2num(time_string_array(19:20));
waktu(i)=3600.*jam+60.*menit+detik;
akhir
alt=data(:, 2);
alt2=tabel2sel(alt);
ketinggian=transpose(cell2mat(alt2));
p=data(:, 3);
tekanan=cell2mat(table2cell(p));
plot (waktu, ketinggian)
title('Data Jalur Pendakian: Waktu vs. Ketinggian')
xlabel('Waktu (detik)')
ylabel('Ketinggian (kaki)')
str=tanggal; legenda(str)
Tekanan_Pa.max=max(tekanan)
Tekanan_Pa.min=min(tekanan)
Tekanan_Pa.avg=mean(tekanan)
akhir