Sisukord:
2025 Autor: John Day | [email protected]. Viimati modifitseeritud: 2025-01-13 06:57
Inimesed kipuvad olema nostalgilised nende jaoks oluliste hobide, näiteks matkamise suhtes.
Kuidas aga matka mälestust hoida?
Pildid on võimalus, jah. See seade võimaldaks teisel võimalusel olla reisi arhiivid. Inimesel oleks graafik, mis kirjeldaks matka aega võrreldes tema kõrgusega. Lisaks ütleks see neile maksimaalse, minimaalse ja keskmise rõhu, millega nad kogu matka jooksul kokku puutusid.
See kasutab matkade andmete jälgimiseks ja salvestamiseks asjade Interneti kõrguse ja rõhuandurit. Seejärel kasutatakse MATLABi andmete analüüsimiseks, et väljastada peamised rõhunäidud ja aja ja kõrguse graafik.
Samm: osad ja materjalid
Sparkfun ESP8266
Ühilduv kõrguse/rõhuandur
Juhtmed
USB-mikro-USB-kaabel
ThingSpeaki konto
Arduino tarkvara
MATLAB tarkvara ja ThingSpeak tööriistakast
2. samm: tarkvara seadistamine
Kontot looma
Looge "uus kanal"
Märkige väli 1 kõrguseks ja väli 2 rõhuks
Salvesta kanal
Avage jagamine ja valige „Jaga kanalivaadet kõigiga”
Kleepige kood aadressilt [https://ef.engr.utk.edu/ef230-2017-08/projects/ard…] Arduinosse
Muutke WiFi -võrku "ssid" ja parooli
Muutke "streamID" ja "privateKey", et need sobiksid ThingSpeaki API võtmetega
3. samm: riistvara seadistamine
Traadi riistvara vastavalt ülaltoodud pildile
Ühendage USB sülearvutiga ja ESP8266
Samm: seadmega ühendamine
Sisselülitamiseks otsige ja pöörake ESP8266 väikest musta lülitit
Koodi üleslaadimiseks klõpsake Arduino programmi vasakus ülanurgas paremale suunatud noolt (see võib võtta paar minutit)
Nüüd peaksid anduri näidud väljastama andmeid ThingSpeaki veebisaidile, mis on graafiliselt esitatud
Samm: MATLABi kodeerimine
Kopeerige funktsiooni "mikrokontroller_projekt" järgmine kood MATLAB -i
Muutke rasvast teksti, et see sobiks konkreetse ThingSpeaki kanaliga
(Rasvases kirjas olev "90" viitab minutite väärtusele, mida kanalilt arvesse võetakse. Muutke seda käsitsi vastavalt sellele, kui kaua kanal on töötanud.)
Funktsiooni kutsumiseks tippige käsuaknasse "microcontroller_project"
Kood:
function [graph Pressures_Pa] = microcontroller_project () data = thingSpeakRead (364102, 'Fields', [1, 2], 'NumMinutes', 90, 'OutputFormat', 'table');
readChannelID = 364102;
readAPIKey = 'U9AJ9S68KVNYQKQV';
kõrguseväli ID = 1;
surveväli ID = 2;
writeChannelID = 364102;
writeAPIKey = '6H8W3UNH6HMT1TCZ';
i = 1: max (suurus (andmed))
ajatempel = andmed (i, 1);
time_cell_array = table2cell (timestamp);
time_string_array = datestr (time_cell_array {1, 1});
tund = str2num (aja_stringi_massiiv (13:14));
minut = str2num (time_string_array (16:17));
teine = str2num (aja_stringi_massiiv (19:20));
aeg (i) = 3600.*tund+60.*minut+sekund;
lõpp
alt = andmed (:, 2);
alt2 = tabel2rakk (alt);
kõrgus = ülevõtmine (cell2mat (alt2));
p = andmed (:, 3);
rõhk = cell2mat (tabel2 rakk (p));
maatükk (aeg, kõrgus)
title ('Matkaraja andmed: aeg vs kõrgus')
xlabel ('Aeg (sek)')
ylabel ('Kõrgus (ft)')
str = kuupäev; legend (str)
Rõhud_Pa.max = max (rõhk)
Rõhud_Pa.min = min (rõhk)
Rõhud_Pa.avg = keskmine (rõhk)
lõpp