Turinys:
2025 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2025-01-13 06:57
Žmonės linkę į nostalgiją dėl jiems svarbių pomėgių, tokių kaip žygiai pėsčiomis.
Bet kaip išsaugoti žygio atmintį?
Nuotraukos yra pasirinkimas, taip. Šis įrenginys leistų kitą galimybę būti kelionės duomenų archyvais. Asmuo turėtų grafiką, kuriame būtų pavaizduotas žygio laikas, palyginti su jo pakilimu aukščiu. Be to, tai jiems pasakytų maksimalų, min. Ir vidutinį slėgį, kurį jie patyrė per visą žygio trukmę.
Tam naudojamas daiktų interneto aukščio ir slėgio jutiklis, skirtas stebėti ir įrašyti žygio duomenis. Tada MATLAB naudojamas duomenims analizuoti, kad būtų galima išvesti pagrindinius slėgio rodmenis ir laiko bei aukščio grafiką.
1 žingsnis: dalys ir medžiagos
„Sparkfun ESP8266“
Suderinamas aukščio/slėgio jutiklis
Laidai
USB-micro-USB kabelis
„ThingSpeak“paskyra
„Arduino“programinė įranga
MATLAB programinė įranga ir „ThingSpeak“įrankių dėžė
2 veiksmas: nustatykite programinę įrangą
Sukurti paskyrą
Sukurkite „naują kanalą“
Pažymėkite 1 lauką kaip aukštį ir 2 lauką kaip slėgį
Išsaugoti kanalą
Eikite į „Bendrinimas“ir pasirinkite „Bendrinti kanalo rodinį su visais“
Įklijuokite kodą iš [https://ef.engr.utk.edu/ef230-2017-08/projects/ard…] į „Arduino“
Pakeiskite „WiFi“tinklo „ssid“ir slaptažodį
Pakeiskite „streamID“ir „privateKey“, kad jie atitiktų „ThingSpeak“API raktus
3 žingsnis: Aparatūros nustatymas
Laidų aparatūra pagal aukščiau pateiktą paveikslėlį
Prijunkite USB prie nešiojamojo kompiuterio ir ESP8266
4 veiksmas: prisijungimas prie įrenginio
Norėdami įjungti, ieškokite ir apverskite mažą, juodą ESP8266 jungiklį
Norėdami įkelti kodą, spustelėkite rodyklę į dešinę, esančią viršutiniame kairiajame „Arduino“programos kampe (tai gali užtrukti kelias minutes)
Dabar jutiklių rodmenys turėtų perduoti duomenis į „ThingSpeak“svetainę, kuri pavaizduota grafiškai
5 žingsnis: MATLAB kodavimas
Nukopijuokite šį funkcijos „mikrovaldiklis_projektas“kodą į MATLAB
Pakeiskite paryškintą tekstą, kad jis atitiktų konkretų „ThingSpeak“kanalą
(Pusjuodis šriftas „90“reiškia minučių vertę duomenų, į kuriuos buvo atsižvelgta iš kanalo. Pakeiskite tai rankiniu būdu, atsižvelgdami į tai, kiek laiko kanalas veikia.)
Norėdami iškviesti šią funkciją, komandų lange įveskite „microcontroller_project“
Kodas:
function [graph Pressures_Pa] = microcontroller_project () data = thingSpeakRead (364102, 'Fields', [1, 2], 'NumMinutes', 90, 'OutputFormat', 'table');
readChannelID = 364102;
readAPIKey = 'U9AJ9S68KVNYQKQV';
altitudefieldID = 1;
slėgio lauko ID = 2;
writeChannelID = 364102;
writeAPIKey = '6H8W3UNH6HMT1TCZ';
i = 1: maks. (dydis (duomenys))
laiko žyma = duomenys (i, 1);
time_cell_array = table2cell (laiko žyma);
time_string_array = datestr (time_cell_array {1, 1});
valanda = str2num (time_string_array (13:14));
minute = str2num (time_string_array (16:17));
antras = str2num (laiko_stringa_masyvas (19:20));
laikas (i) = 3600.*valanda+60.*minutė+sekundė;
galas
alt = duomenys (:, 2);
alt2 = table2cell (alt);
aukštis = perkelti (ląstelė2mat (alt2));
p = duomenys (:, 3);
slėgis = ląstelė2mat (lentelė2 ląstelė (p));
sklypas (laikas, aukštis)
pavadinimas („Žygio tako duomenys: laikas ir aukštis“)
xlabel ('Laikas (sek.)')
ylabel ('Aukštis (pėdomis)')
str = data; legenda (str.)
Slėgiai_Pa.max = max (slėgis)
Slėgiai_Pa.min = min (slėgis)
Slėgiai_Pa.avg = vidurkis (slėgis)
galas