INHOUDSOPGAWE:
2025 Outeur: John Day | [email protected]. Laas verander: 2025-01-13 06:56
Mense is geneig om nostalgies te wees oor stokperdjies wat vir hulle belangrik is, soos stap.
Maar hoe onthou u 'n staptog?
Foto's is 'n opsie, ja. Met hierdie toestel kan 'n ander opsie data -argiewe van die reis wees. Die persoon sou 'n grafiek hê wat die tyd van die staptog in vergelyking met die hoogte wat hy gestap het, beskryf. Boonop sou dit hulle die maksimum, min en gemiddelde druk vertel waaraan hulle gedurende die hele staptog blootgestel is.
Dit maak gebruik van Internet of Things Hoogte- en druksensor om data oor die staptog te monitor en op te neem. MATLAB word dan gebruik om die data te ontleed om sleuteldrukmetings en 'n grafiek van tyd versus hoogte uit te voer.
Stap 1: Onderdele en materiaal
Sparkfun ESP8266
Versoenbare hoogte-/druksensor
Drade
USB na mikro-USB kabel
ThingSpeak rekening
Arduino sagteware
MATLAB sagteware en ThingSpeak gereedskapskas
Stap 2: Opstel van sagteware
Maak 'n rekening oop
Skep 'n 'nuwe kanaal'
Benoem veld 1 as hoogte en veld 2 as druk
Stoor kanaal
Gaan na "Deel" en kies "Deel kanaalaansig met almal"
Plak kode van [https://ef.engr.utk.edu/ef230-2017-08/projects/ard…] in Arduino
Verander die WiFi -netwerk "ssid" en wagwoord
Verander "streamID" en "privateKey" om by API -sleutels op ThingSpeak te pas
Stap 3: Die opstel van hardeware
Draai hardeware volgens die bostaande prentjie
Koppel USB aan skootrekenaar en ESP8266
Stap 4: Koppel aan u toestel
Soek en draai die klein, swart skakelaar op die ESP8266 om dit aan te skakel
Klik op die pyltjie na regs in die linker boonste hoek van die Arduino-program om kode op te laai (dit kan 'n paar minute neem)
Nou moet die sensorlesings data na die ThingSpeak -webwerf stuur, wat grafies voorgestel word
Stap 5: MATLAB -kodering
Kopieer die volgende kode vir die funksie "microcontroller_project" in MATLAB
Verander die vetgedrukte teks om by die spesifieke ThingSpeak -kanaal te pas
(Die vetdruk "90" verwys na die minute se data wat van die kanaal in ag geneem is. Verander dit met die hand na gelang van hoe lank die kanaal loop.)
Bel die funksie deur "microcontroller_project" in die opdragvenster in te tik
Kode:
funksie [grafiek Pressures_Pa] = microcontroller_project () data = thingSpeakRead (364102, 'Fields', [1, 2], 'NumMinutes', 90, 'OutputFormat', 'table');
readChannelID = 364102;
readAPIKey = 'U9AJ9S68KVNYQKQV';
altitudefieldID = 1;
drukveld ID = 2;
writeChannelID = 364102;
writeAPIKey = '6H8W3UNH6HMT1TCZ';
vir i = 1: maks (grootte (data))
tydstempel = data (i, 1);
time_cell_array = table2cell (tydstempel);
time_string_array = datestr (time_cell_array {1, 1});
uur = str2num (time_string_array (13:14));
minuut = str2num (time_string_array (16:17));
tweede = str2num (time_string_array (19:20));
tyd (i) = 3600.*uur+60.*minuut+sekonde;
einde
alt = data (:, 2);
alt2 = tafel2sel (alt);
hoogte = transponeer (cell2mat (alt2));
p = data (:, 3);
druk = cell2mat (tafel2sel (p));
plot (tyd, hoogte)
title ('Wandelroete -data: tyd vs. hoogte')
xlabel ('Tyd (sek.)')
ylabel ('Hoogte (ft)')
str = datum; legende (str)
Druk_Pa.max = maksimum (druk)
Druk_Pa.min = min (druk)
Pressures_Pa.avg = gemiddelde (druk)
einde