Sisällysluettelo:
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-13 06:57
Ihmiset ovat yleensä nostalgisia heille tärkeille harrastuksille, kuten vaellukselle.
Mutta miten säilytät muiston vaelluksesta?
Kuvat ovat vaihtoehto, kyllä. Tämä laite sallii toisen vaihtoehdon olla matkan arkistot. Henkilöllä olisi kaavio, joka kuvaa vaelluksen ajan verrattuna vaelluskorkeuteen. Lisäksi se kertoisi heille maksimin, min ja keskimääräisen paineen, joille he olivat altistuneet koko vaelluksen ajan.
Tämä käyttää esineiden internetin korkeus- ja paineanturia valvoakseen ja tallentaakseen tietoja vaelluksesta. Tämän jälkeen MATLABia käytetään tietojen analysointiin painonäppäimen lukemien ja kaavion aika vs. korkeus.
Vaihe 1: Osat ja materiaalit
Sparkfun ESP8266
Yhteensopiva korkeus-/paineanturi
Johdot
USB-mikro-USB-kaapeli
ThingSpeak -tili
Arduino -ohjelmisto
MATLAB -ohjelmisto ja ThingSpeak -työkalupakki
Vaihe 2: Ohjelmiston asentaminen
Luo tili
Luo uusi kanava
Merkitse kenttä 1 korkeudeksi ja kenttä 2 paineeksi
Tallenna kanava
Siirry Jakaminen -kohtaan ja valitse Jaa kanavanäkymä kaikkien kanssa
Liitä koodi osoitteesta [https://ef.engr.utk.edu/ef230-2017-08/projects/ard…] Arduinoon
Vaihda WiFi -verkon "ssid" ja salasana
Muuta "streamID" ja "privateKey" vastaamaan ThingSpeakin API -avaimia
Vaihe 3: Laitteiston asentaminen
Johtolaitteisto yllä olevan kuvan mukaisesti
Liitä USB kannettavaan tietokoneeseen ja ESP8266
Vaihe 4: Yhdistäminen laitteeseen
Etsi ja käännä ESP8266: n pieni musta kytkin päälle
Napsauta oikeaa nuolta Arduino-ohjelman vasemmassa yläkulmassa ladataksesi koodin (tämä voi kestää muutaman minuutin)
Nyt anturilukemien pitäisi lähettää tietoja ThingSpeak -verkkosivustolle, joka esitetään graafisesti
Vaihe 5: MATLAB -koodaus
Kopioi seuraava funktion "mikrokontrolleri_projekti" koodi MATLABiin
Muuta lihavoitua tekstiä sopimaan tiettyyn ThingSpeak -kanavaan
(Lihavoitu "90" viittaa minuuttitietoihin, jotka on otettu huomioon kanavalta. Muuta tätä manuaalisesti sen mukaan, kuinka kauan kanava on ollut käynnissä.)
Soita toiminto kirjoittamalla komentoikkunaan "microcontroller_project"
Koodi:
function [graph Pressures_Pa] = microcontroller_project () data = thingSpeakRead (364102, 'Fields', [1, 2], 'NumMinutes', 90, 'OutputFormat', 'table');
readChannelID = 364102;
readAPIKey = 'U9AJ9S68KVNYQKQV';
korkeuskenttäID = 1;
painekenttäID = 2;
writeChannelID = 364102;
writeAPIKey = '6H8W3UNH6HMT1TCZ';
i = 1: max (koko (tiedot))
aikaleima = data (i, 1);
time_cell_array = table2cell (aikaleima);
time_string_array = datestr (time_cell_array {1, 1});
tunti = str2num (time_string_array (13:14));
minuutti = str2num (time_string_array (16:17));
toinen = str2num (aika_merkkijono (19:20));
aika (i) = 3600.*tunti+60.*minuutti+sekunti;
loppuun
alt = data (: 2);
alt2 = taulukko2 -solu (alt);
korkeus = transponoi (solu2mat (alt2));
p = data (:, 3);
paine = solu2mat (taulukko2 solu (p));
juoni (aika, korkeus)
otsikko ('Vaellusreittitiedot: aika vs. korkeus')
xlabel ('Aika (sek)')
ylabel ('Korkeus (ft)')
str = päivämäärä; selite (str)
Paineet_Pa.max = max (paine)
Paineet_Pa.min = min (paine)
Paineet_Pa.avg = keskiarvo (paine)
loppuun