Spisu treści:
- Krok 1: Potrzebny materiał
- Krok 2: Część programowania
- Krok 3: Montaż elektroniczny
- Krok 4: Akwizycja danych
- Krok 5: Baza danych
- Krok 6: Demonstracja
Wideo: Połączona bransoletka orientacyjna: 6 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:27
Ten akademicki projekt, połączona bransoletka orientacyjna, został zrealizowany przez czterech studentów ze szkoły inżynierskiej Polytech Paris-UPMC: Sébastiena Poteta, Pauline Pham, Kevina Antunesa i Borisa Brasa.
Jaki jest nasz projekt?
W ciągu jednego semestru musieliśmy stworzyć połączoną bransoletkę, z której będzie korzystał biegacz. Jego tor wyścigu będzie zorientowany kilkoma punktami, w których będzie tagował, a to pozwoli na zarejestrowanie jego przebiegu. Dane te będą przechowywane w chmurze w czasie rzeczywistym.
Ten produkt może podać temperaturę, wilgotność i orientację. Ponadto mamy trzy przyciski, w tym jeden, który wysyła pozycję GPS w przypadku problemów biegacza (przycisk SOS), dlatego potrzebujemy go w czasie rzeczywistym. Drugi pozwala oznaczyć, a ostatni wyłączyć bransoletkę, ponieważ chcemy produktu o małej mocy.
Mieliśmy budżet w wysokości 120 €. Aby zrealizować połączoną bransoletkę orientacyjną, postępuj zgodnie z naszym samouczkiem!
Krok 1: Potrzebny materiał
Lista komponentów:
- STM32L432KC-Nucleo Ultra Low Power
- Moduł SigFox TD1208
- Czytnik RFID 125 kHz
- Czujnik temperatury/wilgotności HTU21D
- Moduł akcelerometru 3-osiowy ADXL345
- Moduł kompasu 3-osiowy HMC5883L
- Ekran OLED ADA938
- Moduł GPS Grove 31275
- Bateria 1,5 V LR6
- Regulator naciągu Pololu 3,3V U1V11F3
- Niektóre przyciski sterujące
Krok 2: Część programowania
Przede wszystkim zaprogramowaliśmy każdy komponent za pomocą strony deweloperskiej mbed. Do tego wykorzystaliśmy mikrokontroler STM32L476RG-Nucleo o niskim zużyciu energii.
Ekran, czujnik temperatury/wilgotności i kompas działają w komunikacji I²C. Czytnik RFID oraz akcelerometr pracują w komunikacji szeregowej. Dla każdego komponentu trzeba było dodać własną bibliotekę.
W przypadku czujnika temperatury/wilgotności, kompasu i akcelerometru należy wywołać określoną funkcję w ich bibliotece, aby uzyskać dane.
Czytnik RFID działa na komunikacji szeregowej, należy użyć funkcji "getc()", ponieważ tag zwraca dane w postaci znaków.
Wszystkie kody dostępne są w postaci pliku, z wyjątkiem kodu ekranu OLED.
Krok 3: Montaż elektroniczny
Po zaprogramowaniu każdego komponentu wzięliśmy płytkę labdec i podłączyliśmy je do STM32L432KC-Nucleo. Postępuj zgodnie ze schematem okablowania w załączniku, aby zmontować wszystkie komponenty, lub każdy PIN jest wyszczególniony na zespole kodu.
Dodaliśmy trzy przyciski z trzema rezystancjami 10 kiloomów: jeden wysyłający pozycję GPS w przypadku niebezpieczeństwa, jeden do włączania/wyłączania, a ostatni do umożliwienia biegaczowi oznaczenia punktu. Dodaliśmy brzęczyk po naciśnięciu przycisku SOS.
Plik "braceletOrientation" w załączniku to nasz projekt na Fritzing. To jest plik podsumowujący nasze komponenty i nasze okablowanie zarówno na labdecu, jak i na płytce drukowanej. Ponadto dodaliśmy kod montażowy wszystkich komponentów.
Krok 4: Akwizycja danych
Płyta kartonowa
Actoboard to narzędzie oparte na dashboardzie. Wyświetla wszystkie dane wysłane przez moduł Sigfox. Następnie za pośrednictwem adresu URL wyśle te dane do węzła nodered w celu umieszczenia ich w bazie danych.
Wyślij dane:
Aby przesłać dane za pomocą kodu, należy w pierwszej kolejności zadeklarować PIN (Tx, Rx) modułu Sigfox (widać to w naszym kodzie). Następnie dzięki temu poleceniu: "sigfox.printf("AT$SF=%02X%02X%02X%02X%02X%02X \r\n", lat_deg, long_deg, lat_10s, long_10s, lat_100s, long_100s);", ten przykład wysyła dane GPS do Actoboard.
Odbierz dane:
Po skonfigurowaniu źródeł danych w związku z modułem Sigfox, musisz ustawić format danych do otrzymywania danych z kodu. Dla tego samego przykładu niż wcześniej (GPS) musisz ustawić format danych w następujący sposób: "lat_deg::uint:8 long_deg::uint:8 lat_10s::uint:8 long_10s::uint:8 lat_100s::uint:8 long_100s::uint:8".
Uważaj na rodzaj i liczbę bitów, musisz mieć dokładnie taką samą długość. Dlatego polecam rzucić swoje dane w swoim kodzie w ten sposób: "lat_deg = (int8_t)lat_deg;".
Uważaj też na liczbę cyfr, w tym przykładzie przesyłamy tylko dane z maksymalnie 2 cyframi. Ale jeśli chcesz przesłać większe dane, takie jak „%04X”, możesz wiedzieć, że Actoboard odwróci cyfrę. Na przykład, jeśli prześlesz 0x3040, Actoboard zrozumie 0x4030. Musisz więc odwrócić cyfrę przed wysłaniem formatu danych, który przekracza 2 cyfry.
Edytuj panel:
Aby edytować dane w Dashboard na Actoboard, wystarczy dodać widżet. Istnieje lista widżetów, musisz wybrać ten, który najlepiej odpowiada Twojemu systemowi. A potem wystarczy wybrać, które dane będą wypełniać dany widżet.
Prześlij do nodered:
Aby przesłać wszystkie dane, które otrzymujesz na Actoboard do węzła nodered za pośrednictwem adresu URL, wystarczy wypełnić pole „adres URL przekazywania” w ustawieniach adresem URL projektu nodered. Na przykład wypełniliśmy pole "https://noderedprojet.mybluemix.net/projet".
Krok 5: Baza danych
Bluemix
- Węzłowy:
- Odbierz dane z Actoboard
Aby uzyskać dane z Actoboard, musisz dodać wejście „websocket”, które musisz ustawić metodą „POST” i podać swój adres URL (przykład na zdjęciu).
Formatowanie danych
Musisz wyodrębnić dane, które chcesz dodać do swojej bazy danych (cloudant) i sformatować je. w tym celu musisz dodać blok "funkcja". Zobacz zdjęcie w załączniku, aby dowiedzieć się, jak to zrobić.
Możesz dodać geometrię do mapy, na przykład dostaliśmy funkcję, która dodaje punkt ze współrzędnymi GPS na mapie i łączy je. Używamy tej funkcji do tworzenia wyścigu, a następnie przełączamy inną funkcję, która utworzy wielokąt wokół punktu, jeśli sprawdzisz TAG RFID.
Wyślij do cloudanta
Po sformatowaniu danych musisz je przesłać do swojej bazy danych cloudant. W tym celu musisz dodać blok pamięci „chmura” i określić ustawienia, takie jak nazwa bazy danych, operacja „wstaw” patrz nasz przykład w załączniku.
Nie zapomnij "Wdrożyć" swojego węzła, aby system działał.
Chmury:
W Twojej bazie danych Cloudant możesz teraz zobaczyć wszystkie dane, które wysłałeś za pomocą sigfoxa i formatowanie w węźle czerwonym. Możesz wybrać, które informacje chcesz zobaczyć, takie jak „data, urządzenie, TAG RFID, GPS”.
I możesz zwizualizować geometrię, którą stworzyłeś w funkcji węzła w menu "GPS Geospatial Indexes"
Krok 6: Demonstracja
Podsumowując, mieliśmy cztery interfejsy człowiek-maszyna sterowane czterema przyciskami.
Podstawowy interfejs wskazuje temperaturę, wilgotność, numer breloka, chronometr i kierunek magnetyczny.
Na jednym z przycisków akcji znajdziesz prawdziwy kompas interfejsu. Na ekranie zostanie narysowany okrąg z dobrze ustawionym kierunkiem.
Przy innej akcji przycisku wyślesz wiadomość SOS, która wyśle Twoją lokalizację do bazy danych. Ponadto usłyszysz wiadomość SOS w kodzie Morse'a.
Ponadto po ostatnim naciśnięciu przycisku obudzisz tag RFID. Następnie masz pięć sekund na oznaczenie swojego punktu przecięcia. Wtedy usłyszysz sygnał dźwiękowy. Akcja ta zwiększa licznik na wyświetlaczu i wysyła tag z czasem w naszej bazie danych. Na koniec wszystkie tagi narysują jazdę na mapie.
Autonomia naszego zegarka to około 4h30 (około 660mA/h). Zależy to od sprawdzanego numeru tagu.
Podsumowując po wyścigu, wszystkie działania biegaczy znajdziesz w naszej bazie danych bluemix.
Zalecana:
Bransoletka LED: 8 kroków (ze zdjęciami)
Bransoletka LED: Zszyj własną bransoletkę LED i noś ją! Twoja bransoletka zaświeci się, gdy połączysz ją i zamkniesz obwód. Uszyj obwód, a następnie udekoruj go tak, jak lubisz! Jeśli uczysz tego jako warsztat, użyj mojego jednoarkuszowego pliku pdf poniżej. Sprawdzać
Półka ekspozycyjna połączona ze Steam: 18 kroków (ze zdjęciami)
Steam Linked Display Shelf: Back StoryMój brat ma figurki Funko POP, które reprezentują jego postacie, w które jego znajomi najczęściej grają w grach wideo. Pomyśleliśmy, że byłoby fajnie, gdyby mieli gablotę z diodami LED, które reprezentowałyby ich status na Steamie. Więc
Przechodzenie przez połączoną listę za pomocą rekurencji - Java: 12 kroków
Przechodzenie przez połączoną listę przy użyciu rekurencji - Java: Witamy i dziękujemy za wybranie tego zestawu instrukcji, który pokaże Ci, jak utworzyć funkcję rekurencyjną. Do zrozumienia kolejnych kroków potrzebna jest podstawowa znajomość języka Java. Ogólnie rzecz biorąc, ten 12-etapowy proces nie powinien dłużej trwać
Połączona Mezuza: 6 kroków
The Connected Mezuzah: Cóż, znowu nadeszła ta pora roku – kiedy ze strychu wylatują tony pseudoreligijnych talizmanów. Niedawno zastanawiając się nad ucieczką w cieplejsze klimaty, gdy zapadł śnieg i ciemność, przypomniałem sobie w zeszłym roku, kiedy system ogrzewania w
Połączona skrzynka na listy Zasilana energią słoneczną: 12 kroków (ze zdjęciami)
Połączona skrzynka na listy Zasilana energią słoneczną: W moim drugim Ible opiszę ci moje prace dotyczące mojej podłączonej skrzynki na listy. Po przeczytaniu tego Instruktażowego (+ wielu innych), a ponieważ moja skrzynka na listy nie znajduje się w pobliżu mojego domu, chciałem mnie zainspirować Prace Open Green Energy, aby podłączyć moją skrzynkę na listy do m