Spisu treści:
- Krok 1: Konfiguracja i kalibracja MPU6050
- Krok 3: Integracja czujników z Arduino
- Krok 4: Wysyłanie danych do chmury
- Krok 5: Używanie 2 urządzeń w tym samym czasie
- Krok 6: Ulepszenia, uwagi i plany na przyszłość
Wideo: IDC2018IOT Tracker do biegania nóg: 6 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:31
Na ten pomysł wyszliśmy w ramach kursu „Internet Rzeczy” w IDC Herzliya.
Celem projektu jest usprawnienie aktywności fizycznej, która obejmuje bieganie lub chodzenie przy użyciu NodeMCU, kilku czujników i serwera puszki. Efektem tego projektu jest bardzo przydatne urządzenie IOT, które w przyszłości można przekształcić w prawdziwy produkt produkcyjny, który będzie używany wszędzie! Daj nam znać, co myślisz:)
Zanim zaczniesz, upewnij się, że masz:
* Urządzenie NodeMCU.
* 1 czujnik piezoelektryczny.
* Czujnik MPU6050.
* Jedna duża matryca.
* Elastyczna lina.
* Konto Firebase.
Opcjonalny:
* Wiele czujników piezoelektrycznych
* multiplekser
Krok 1: Konfiguracja i kalibracja MPU6050
"ładowanie="leniwy"
Instrukcje:
- Podłącz piezo z rezystorem 1M (patrz załączony obrazek).
- Prześlij załączony szkic.
- Połącz urządzenie z jedną nogą za pomocą elastycznej liny.
- Otwórz "ploter seryjny".
- Obejrzyj film dołączony do tego kroku.
Krok 3: Integracja czujników z Arduino
Widzieliśmy, jak kalibrować czujniki, teraz zintegrujemy oba czujniki z NodeMCU!
- Podłącz oba czujniki do urządzenia, użyj tych samych pinów jak w krokach 1+2.
- Załaduj załączony szkic.
- Podłącz urządzenie z 2 czujnikami do jednej stopy.
- Otwórz "ploter seryjny".
- Obejrzyj załączony film.
Krok 4: Wysyłanie danych do chmury
W tym kroku połączymy nasze urządzenie z chmurą i wyślemy dane, aby zobaczyć niesamowite wykresy!
Wykorzystamy protokół MQTT i wyślemy dane na darmowy serwer o nazwie „Adafruit”.
UWAGA: Adafruit nie obsługuje wysyłania danych kilka razy na sekundę, działa wolniej, dlatego wyślemy uśrednienie naszych punktów danych, a nie same punkty danych. Przekształcimy dane z naszych 2 czujników na dane uśrednione za pomocą następujących transformacji:
* Czas wykrywania kroków zostanie przekształcony w kroki na minutę. Czas trwania każdego kroku można znaleźć za pomocą (millis() - step_timestamp), a uśrednianie można wykonać za pomocą filtra, jak widzieliśmy wcześniej: val = val * 0.7 + new_val * 0.3.
* Moc krokowa zostanie przekształcona w średnią moc krokową. Użyjemy tej samej metodologii, używając „max” dla każdego kroku, ale użyjemy filtru do uśredniania przy użyciu filtru średnia = średnia * 0,6 + nowa_wartość * 0,4.
Instrukcje:
- Wejdź na stronę Adafruit pod adresem io.adafruit.com i upewnij się, że masz konto.
- Utwórz nowy pulpit nawigacyjny, możesz go nazwać „Mój detektor kroków”.
- W panelu naciśnij przycisk + i wybierz „wykres liniowy” i utwórz kanał o nazwie „steps_per_min”.
- Wewnątrz pulpitu naciśnij przycisk + i wybierz „wykres liniowy” i utwórz kanał o nazwie „średnia_moc_krokowa”.
- Powinieneś teraz zobaczyć 2 puste wykresy dla każdego pola.
- Użyj załączonego szkicu i ustaw następującą konfigurację:
USERNAME = Twoja nazwa użytkownika Adafruit.
KLUCZ = Twój klucz Adafruit
WLAN_SSID = nazwa WIFI
WLAN_PASS = WIFI pass
mpuStepThreshold = Próg z kroku 2
Następnie możesz podłączyć urządzenie do jednej stopy, a szkic wyśle dane kroków na serwer!
Krok 5: Używanie 2 urządzeń w tym samym czasie
Na tym etapie zasymulujemy 2 osoby, które chodzą z urządzeniem w tym samym czasie!
Użyjemy 2 różnych urządzeń - z tymi samymi punktami danych, jak wyjaśniono w kroku 4.
Więc to jest naprawdę proste, są 3 proste zadania:
1) utwórz dodatkowe kanały dla danych z drugiego urządzenia, sugerujemy dodanie postfixu "_2"
2) zmień bloki w dashboardzie, aby prezentowały dane z obu kanałów.
3) zmienić nazwę kanałów w szkicu drugiego urządzenia.
4) Zobacz wyniki!
NOTATKA:
Adafruit opiera się zbyt szybko przesyłanym danym, może być konieczne dostosowanie częstotliwości, z jaką dane są przesyłane na serwer. zrób to, znajdując w szkicu następujące elementy:
// Wysyłaj co 5 sekund nie przekraczaj limitu Adafruit dla darmowych użytkowników. // Jeśli używasz premium lub własnego serwera, możesz to zmienić. // Za każdym razem wyślij naprzemienny punkt danych. if(millis() - lastTimeDataSent > 5000){
Krok 6: Ulepszenia, uwagi i plany na przyszłość
Główne wyzwanie:
Głównym wyzwaniem w projekcie było przetestowanie NodeMCU w aktywności fizycznej. Kabel USB często się rozłącza, a przy próbie szybkiego poruszania się mogą pojawić się problemy z odpięciem pinów. Wiele razy debugowaliśmy fragment kodu, który rzeczywiście działał, a problem tkwił w sferze fizycznej.
Pokonaliśmy to wyzwanie, niosąc laptopa blisko biegacza i pisząc każdy fragment kodu na raz.
Kolejnym wyzwaniem było sprawne współdziałanie różnych komponentów:
- Piezoelektryczny z akcelerometrem: Spełniliśmy to, jak opisano w kroku 3, dzięki kreatywnemu pomysłowi, który mieliśmy.
- Czujniki z serwerem: zgodnie z opisem w kroku 4 przekształciliśmy wartości na inne wartości, które można wysłać na serwer w wolniejszym tempie.
Ograniczenia systemu:
- Wymaga kalibracji przed użyciem.
- Muszą zostać przekształcone w bardziej sztywny produkt, który nie pęka łatwo podczas aktywności fizycznej.
- Czujnik piezoelektryczny nie jest zbyt dokładny.
- Potrzebuje połączenia Wi-Fi. (Łatwo rozwiązany za pomocą hotspotu telefonu komórkowego)
Przyszłe plany
Teraz, gdy mamy w pełni działające urządzenie do monitorowania nóg, można dokonać dalszych ulepszeń!
Wiele pizeo!
- Połącz piezo z różnymi obszarami stopy.
- Użyj multipleksera, ponieważ NodeMCU obsługuje tylko jeden pin analogowy.
- Potrafi pokazać mapę cieplną stopy, aby opisać obszary oddziaływania.
- Potrafi wykorzystać te dane do tworzenia alertów dotyczących niewłaściwej postawy i równowagi ciała.
Wiele urządzeń!
- Pokazaliśmy, jak podłączyć 2 urządzenia jednocześnie, ale możesz podłączyć 22 piezo do 22 piłkarzy!
- Dane mogą być ujawniane podczas gry, aby pokazać interesujące dane dotyczące graczy!
Zaawansowane czujniki
Użyliśmy piezo i akcelerometru, ale można dodać inne urządzenia, które wzbogacą wyjście i dadzą więcej danych:
- Dokładne lazery do wykrywania kroków.
- Zmierz odległość między stopą a podłożem.
- Zmierz odległość między różnymi graczami (w przypadku wielu urządzeń)
Zalecana:
Światło do biegania: 8 kroków
The Running Light: Witaj w moim pierwszym Instructable dla mojego pierwszego projektu Arduino
Kurtka do biegania LED: 12 kroków
Kurtka do biegania LED: Ta kurtka została stworzona, aby pomóc biegaczom być bardziej widocznymi podczas biegania w warunkach słabego oświetlenia. Czerwone diody LED pozostają włączone, dopóki nie zostaną wyłączone, białe diody LED migają podczas pracy (lub po wykryciu innego ruchu)
Asystent biegania Microbit z Magic 8 Ball: 10 kroków
Microbit Running Assistant z Magic 8 Ball: Zaprogramujemy Running Assistant z Magic 8 Ball, asystent biegania Microbit to świetna pomoc dla osób, które dużo biegały, dla osób, które czasami biegają, a nawet dla osób, które dopiero zaczęły biegać . Czasami trzeba podejmować decyzje
Suszarka do butów do biegania: 6 kroków (ze zdjęciami)
Suszarka do butów do biegania: Jest to modyfikacja instrukcji, którą wcześniej zamieściłem. Urządzenie wciąga powietrze do skrzynki rozgrzanej żarówką o mocy 60W i wypuszcza je przez rurki 3/4 cala na górze urządzenia i to wysusza buty. Oto link przedstawiający koncepcję i
Stoper do biegania 30 M (Arduino): 6 kroków (ze zdjęciami)
Stoper do biegania na 30 m (Arduino): Ten projekt został stworzony w konkretnym celu w trenowaniu fińskiego baseballu i testowaniu szybkości juniorów w biegu na 30 m. Ten projekt arduino był również projektem kursu w moich studiach. Projekt miał kilka wzlotów i upadków, ale teraz przynajmniej działa i