Spisu treści:
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-13 06:58
Ludzie mają tendencję do nostalgii za hobby, które są dla nich ważne, takie jak wędrówki.
Ale jak zachować pamięć o wędrówce?
Zdjęcia są opcją, tak. To urządzenie pozwoliłoby na inną opcję, aby były archiwami danych z podróży. Osoba miałaby wykres przedstawiający czas wędrówki w porównaniu z wysokością, na którą wspięła się. Ponadto poinformuje ich o maksymalnym, minimalnym i średnim ciśnieniu, na które byli narażeni podczas całej wędrówki.
Wykorzystuje czujnik wysokości i ciśnienia Internetu Rzeczy do monitorowania i rejestrowania danych o wędrówce. MATLAB jest następnie używany do analizy danych w celu uzyskania kluczowych odczytów ciśnienia i wykresu czasu w funkcji wysokości.
Krok 1: Części i materiały
Sparkfun ESP8266
Kompatybilny czujnik wysokości/ciśnienia
Przewody
Kabel USB do micro-USB
Konto ThingSpeak
Oprogramowanie Arduino
Oprogramowanie MATLAB i zestaw narzędzi ThingSpeak
Krok 2: Konfiguracja oprogramowania
Utwórz konto
Utwórz „nowy kanał”
Oznacz pole 1 jako wysokość, a pole 2 jako ciśnienie
Zapisz kanał
Przejdź do „Udostępnianie” i wybierz „Udostępnij widok kanału wszystkim”
Wklej kod z [https://ef.engr.utk.edu/ef230-2017-08/projects/ard…] do Arduino
Zmień „ssid” sieci Wi-Fi i hasło
Zmień „streamID” i „privateKey”, aby pasowały do kluczy API w ThingSpeak
Krok 3: Konfiguracja sprzętu
Sprzęt drutowy zgodnie z powyższym obrazkiem!
Podłącz USB do laptopa i ESP8266
Krok 4: Łączenie z urządzeniem
Poszukaj i przestaw mały, czarny przełącznik na ESP8266, aby go włączyć
Kliknij strzałkę skierowaną w prawo w lewym górnym rogu programu Arduino, aby przesłać kod (może to potrwać kilka minut)
Teraz odczyty czujnika powinny przesyłać dane do witryny ThingSpeak, która jest przedstawiona graficznie
Krok 5: Kodowanie MATLAB
Skopiuj następujący kod funkcji „microcontroller_project” do MATLAB
Zmień pogrubiony tekst, aby pasował do konkretnego kanału ThingSpeak
("90" pogrubione odnosi się do wartości minut danych wziętych pod uwagę z kanału. Zmień to ręcznie w zależności od tego, jak długo kanał działał.)
Wywołaj funkcję, wpisując „microcontroller_project” w oknie poleceń
Kod:
function [wykres Pressures_Pa] = microcontroller_project ()data = thingSpeakRead(364102, 'Fields', [1, 2], 'NumMinutes', 90, 'OutputFormat', 'table');
IDKanału odczytu=364102;
readAPIKey='U9AJ9S68KVNYQKQV';
Id pola wysokości=1;
ID pola ciśnienia=2;
writeChannelID=364102;
writeAPIKey='6H8W3UNH6HMT1TCZ';
dla i=1:max(rozmiar(dane))
znacznik czasu=dane(i, 1);
tablica_komórek_czasu=komórka_tabeli(sygnatura czasowa);
time_string_array=datestr(time_cell_array{1, 1});
godzina=str2num(time_string_array(13:14));
minuta=str2num(time_string_array(16:17));
drugi=str2num(time_string_array(19:20));
czas(i)=3600.*godzina+60.*minuta+sekunda;
kończyć się
alt=dane(:, 2);
alt2=tabela2komórka(alt);
height=transpose(cell2mat(alt2));
p=dane(:, 3);
ciśnienie=komórka2mat(tabela2komórka(p));
działka (czas, wysokość)
title('Dane szlaku turystycznego: czas a wysokość')
xlabel('Czas (sek)')
ylabel('Wysokość (w stopach)')
str=data; legenda(str)
Ciśnienia_Pa.max=max(ciśnienie)
Ciśnienie_Pa.min=min(ciśnienie)
Ciśnienia_Pa.avg=średnia(ciśnienie)
kończyć się