Kazalo:
2025 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2025-01-13 06:58
Ljudje so ponavadi nostalgični glede hobijev, ki so jim pomembni, na primer pohodništva.
Kako pa ohranite spomin na pohod?
Slike so možnost, ja. Ta naprava bi omogočila drugo možnost arhiviranja podatkov s potovanja. Oseba bi imela graf, ki prikazuje čas potovanja v primerjavi z nadmorsko višino, ki jo je prehodila. Poleg tega bi jim povedal največji, najmanjši in povprečni pritisk, ki so mu bili izpostavljeni ves čas pohoda.
Ta uporablja senzor nadmorske višine in tlaka interneta stvari za spremljanje in beleženje podatkov o pohodu. MATLAB se nato uporabi za analizo podatkov za prikaz ključnih odčitkov tlaka in grafa časa v primerjavi z nadmorsko višino.
1. korak: Deli in materiali
Sparkfun ESP8266
Združljiv senzor nadmorske višine/tlaka
Žice
Kabel USB v mikro-USB
Račun ThingSpeak
Arduino programska oprema
Programska oprema MATLAB in škatla z orodji ThingSpeak
2. korak: Nastavitev programske opreme
Ustvari račun
Ustvarite "nov kanal"
Označite polje 1 kot nadmorsko višino in polje 2 kot tlak
Shrani kanal
Pojdite na "Skupna raba" in izberite "Skupna raba pogleda kanala" z vsemi
Prilepite kodo iz [https://ef.engr.utk.edu/ef230-2017-08/projects/ard…] v Arduino
Spremenite "ssid" omrežja WiFi in geslo
Spremenite "streamID" in "privateKey", da se ujemata s ključi API v ThingSpeak
3. korak: Nastavitev strojne opreme
Ožičenje strojne opreme po zgornji sliki
Priključite USB v prenosni računalnik in ESP8266
4. korak: Povezovanje z napravo
Poiščite in obrnite majhno črno stikalo na ESP8266, da ga vklopite
Kliknite puščico v desno v zgornjem levem kotu programa Arduino, da naložite kodo (to lahko traja nekaj minut)
Zdaj bi morali odčitki senzorjev oddajati podatke na spletno mesto ThingSpeak, ki je grafično predstavljeno
5. korak: Kodiranje MATLAB
Kopirajte naslednjo kodo za funkcijo "microcontroller_project" v MATLAB
Krepko besedilo spremenite tako, da ustreza posebnemu kanalu ThingSpeak
(Krepko "90" se nanaša na minute podatkov, ki se upoštevajo v kanalu. To ročno spremenite glede na to, kako dolgo kanal deluje.)
Pokličite funkcijo tako, da v ukazno okno vnesete "microcontroller_project"
Koda:
funkcija [graf Pressures_Pa] = mikrokontroler_projekt () podatki = thingSpeakRead (364102, 'Polja', [1, 2], 'NumMinutes', 90, 'OutputFormat', 'tabela');
readChannelID = 364102;
readAPIKey = 'U9AJ9S68KVNYQKQV';
višinsko poljeID = 1;
tlačno poljeID = 2;
writeChannelID = 364102;
writeAPIKey = '6H8W3UNH6HMT1TCZ';
za i = 1: max (velikost (podatki))
časovni žig = podatki (i, 1);
time_cell_array = table2cell (časovni žig);
time_string_array = datestr (time_cell_array {1, 1});
ura = število2
minuta = število2
druga = število2
čas (i) = 3600.*ura+60.*minuta+sekunda;
konec
alt = podatki (:, 2);
alt2 = celica table2 (alt);
nadmorska višina = prenos (cell2mat (alt2));
p = podatki (:, 3);
tlak = celica2mat (tabela2celica (p));
ploskev (čas, nadmorska višina)
title ('Podatki o pohodniških poteh: čas proti višini')
xlabel ('Čas (sek)')
ylabel ('Nadmorska višina (ft)')
str = datum; legenda (str)
Tlaki_Pa.max = max (tlak)
Tlaki_Pa.min = min (tlak)
Pritiski_Pa.avg = povprečje (tlak)
konec