İçindekiler:
2025 Yazar: John Day | [email protected]. Son düzenleme: 2025-01-13 06:58
İnsanlar, yürüyüş gibi kendileri için önemli olan hobiler konusunda nostaljik olma eğilimindedir.
Ama bir yürüyüşün hatırasını nasıl saklarsın?
Resimler bir seçenektir, evet. Bu cihaz, yolculuktan veri arşivleri olmak için başka bir seçeneğe izin verir. Kişi, tırmandığı irtifaya kıyasla yürüyüşün süresini gösteren bir grafiğe sahip olacaktır. Ek olarak, onlara yürüyüş boyunca maruz kaldıkları maksimum, minimum ve ortalama basıncı söylerdi.
Bu, yürüyüşle ilgili verileri izlemek ve kaydetmek için Nesnelerin İnterneti Yükseklik ve Basınç sensörünü kullanır. MATLAB daha sonra temel basınç okumalarını ve zaman-yükseklik grafiğini çıkarmak için verileri analiz etmek için kullanılır.
Adım 1: Parçalar ve Malzemeler
Sparkfun ESP8266
Uyumlu yükseklik/basınç sensörü
teller
USB'den mikro USB'ye kablo
ThingSpeak hesabı
Arduino yazılımı
MATLAB yazılımı ve ThingSpeak araç kutusu
2. Adım: Yazılımı Kurma
Bir hesap oluşturun
"Yeni Kanal" oluşturun
Alan 1'i Yükseklik ve Alan 2'yi Basınç Olarak Etiketleyin
Kanalı kaydet
"Paylaşım"a gidin ve "Kanal görünümünü herkesle paylaş"ı seçin
[https://ef.engr.utk.edu/ef230-2017-08/projects/ard…] adresindeki kodu Arduino'ya yapıştırın
WiFi ağı "ssid" ve şifresini değiştirin
ThingSpeak'teki API Anahtarlarını eşleştirmek için "streamID" ve "privateKey" öğelerini değiştirin
3. Adım: Donanımı Kurma
Yukarıdaki resme göre tel donanımı
USB'yi dizüstü bilgisayara ve ESP8266'ya takın
4. Adım: Cihazınıza Bağlanma
Açmak için ESP8266'daki küçük, siyah anahtarı arayın ve çevirin
Kodu yüklemek için Arduino programının sol üst köşesindeki sağa bakan oka tıklayın (bu birkaç dakika sürebilir)
Şimdi sensör okumaları, grafik olarak temsil edilen ThingSpeak web sitesine veri gönderiyor olmalıdır.
Adım 5: MATLAB Kodlama
"microcontroller_project" işlevi için aşağıdaki kodu MATLAB'a kopyalayın
Kalın metni belirli ThingSpeak kanalına uyacak şekilde değiştirin
(Kalın harflerle yazılan "90", kanaldan alınan verilerin dakika cinsinden değerini ifade eder. Bunu, kanalın ne kadar süredir çalıştığına göre manuel olarak değiştirin.)
Komut Penceresine "microcontroller_project" yazarak işlevi çağırın
Kod:
function [grafik Basınçlar_Pa] = mikrodenetleyici_proje ()data =thingSpeakRead(364102, 'Fields', [1, 2], 'NumMinutes', 90, 'OutputFormat', 'table');
readChannelID=364102;
readAPIKey='U9AJ9S68KVNYQKQV';
yükseklikalanıID=1;
basınç alanıID=2;
writeChannelID=364102;
writeAPIKey='6H8W3UNH6HMT1TCZ';
i=1:max(boyut(veri)) için
zaman damgası=veri(i, 1);
time_cell_array=table2cell(zaman damgası);
time_string_array=datestr(time_cell_array{1, 1});
saat=str2num(time_string_array(13:14));
dakika=str2num(time_string_array(16:17));
ikinci=str2num(time_string_array(19:20));
zaman(i)=3600.*saat+60.*dakika+saniye;
son
alt=veri(:, 2);
alt2=table2cell(alt);
yükseklik=devir(cell2mat(alt2));
p=veri(:, 3);
basınç=hücre2mat(tablo2hücre(p));
arsa (zaman, yükseklik)
title('Yürüyüş Yolu Verileri: Zamana Karşı Rakım')
xlabel('Zaman (sn)')
ylabel('Yükseklik (ft)')
str=tarih; efsane(str)
Basınçlar_Pa.max=maks(basınç)
Basınçlar_Pa.min=min(basınç)
Basınçlar_Pa.avg=ortalama(basınç)
son