Spisu treści:

Time Cube - Gadżet do śledzenia czasu Arduino: 6 kroków
Time Cube - Gadżet do śledzenia czasu Arduino: 6 kroków

Wideo: Time Cube - Gadżet do śledzenia czasu Arduino: 6 kroków

Wideo: Time Cube - Gadżet do śledzenia czasu Arduino: 6 kroków
Wideo: Kurs Arduino bonus: Polecany zestaw startowy - Elegoo the most complete starter kit 2024, Lipiec
Anonim
Time Cube - Gadżet do śledzenia czasu Arduino
Time Cube - Gadżet do śledzenia czasu Arduino
Time Cube - Gadżet do śledzenia czasu Arduino
Time Cube - Gadżet do śledzenia czasu Arduino

Chciałbym zaproponować Ci prosty, ale naprawdę przydatny projekt arduino do śledzenia zdarzeń czasowych poprzez przerzucenie jakiegoś inteligentnego gadżetu kostkowego. Przerzuć go na stronę „Praca” > „Ucz się” > „Zadania” > „Odpoczynek”, aby zliczyć czas spędzony na tej czynności. Kostka czasu zbudowana jest w oparciu o akcelerometr Arduino Nano i ADXL345 umieszczony w odpowiedniej wielkości pudełku, na którym można narysować symbole lub nazwy czynności. Na koniec dnia możesz sprawdzić statystyki. Mam nadzieję, że zmotywuje mnie to do „uczenia się” więcej.

Na rynku istnieje wiele podobnych produktów, takich jak TimeFlip.io, Timeular.com, ZEI. Możesz także wypróbować fajny projekt DIY od Adafruit https://learn.adafruit.com/time-tracking-cube. Proponuję jednak znacznie uprościć sprawę. Aby śledzić dane o czasie, nie potrzebujesz połączenia internetowego Wi-Fi ani Bluetooth z usługami w chmurze. Time Cube jest zasilany i podłączony do komputera kablem USB. Na komputerze musisz uruchomić moją aplikację java, która nasłuchuje wiadomości szeregowych z arduino i wyświetla całkowity czas spędzony.

Wszystkie wymagane źródła programu i kilka niezbyt szczegółowych instrukcji można znaleźć na moim projekcie GitHub:

Kieszonkowe dzieci

1. Arduino Micro lub Nano w ten sposób:

2. Akcelerometr ADXL345:

3. Pudełko kartonowe / plastikowe kostki

4. Kabel USB

Krok 1: Okablowanie płytki i akcelerometru

Okablowanie płytki i akcelerometru
Okablowanie płytki i akcelerometru

Czujnik ADXL345 to 3-osiowy akcelerometr, który może mierzyć siły przyspieszenia, a gdy jest statyczny, można również odczytać jego orientację. Trzeba okablować płytkę Arduino Nano lub Micro i akcelerometr ADXL345 jak na obrazku.

Nie będę szczegółowo wyjaśniał, jak działa akcelerometr ADXL345. Wszystkie wymagane informacje znalazłem w bardzo fajnym artykule o połączeniu akcelerometrów z arduino i programowaniu:

Krok 2: Program Flash do Arduino Nano

Program Flash do Arduino Nano
Program Flash do Arduino Nano
Program Flash do Arduino Nano
Program Flash do Arduino Nano

W tym kroku musimy wgrać program ze studia Arduino na płytkę arduino. Arduino nano będzie w stanie odczytać współrzędne XYZ z akcelerometru i wysłać je do portu szeregowego w pewnego rodzaju pakietach danych, takich jak

Możesz pobrać wszystkie wymagane źródła ze strony mojego projektu GitHub (jako pojedynczy plik archiwum):

1. Rozpakuj pobrane archiwum zip do jakiegoś folderu, takiego jak c:\program\tcube i otwórz plik tcube\arduino\tcub\tcub.ino w Arduino studio.

2. Podłącz płytkę arduino do komputera za pomocą kabla USB.

3. Z Narzędzia->Płytka: wybierz "Arduino Nano" (lub inną płytkę, której zamierzasz użyć).

4. Jeśli używasz chińskich klonów arduino, powinieneś wybrać z Tools->Processor->ATmega328P (Old Loader)

5. Wybierz podłączony port z Narzędzia->Port ->COM3 (w moim przypadku)

6. Prześlij program do arduino

7. Od tego momentu natychmiast wysyła pakiety danych do portu szeregowego USB.

8. Aby sprawdzić, czy wszystko działa poprawnie, możesz otworzyć „Serial Monitor” w Arduino Studio. Powinieneś zobaczyć pakiety, które generowały każdą sekundę jak …… (co oznacza rzeczywiste współrzędne akcelerometru).

Krok 3: Zainstaluj środowisko Java Runtime Environment, aby uruchomić aplikację kliencką na komputerze PC

Zainstaluj środowisko Java Runtime Environment, aby uruchomić aplikację kliencką na komputerze PC
Zainstaluj środowisko Java Runtime Environment, aby uruchomić aplikację kliencką na komputerze PC

Zanim przejdziemy dalej, musisz się upewnić, że masz zainstalowane na swoim komputerze środowisko Java Runtime Environment (JRE).

Stworzona przeze mnie aplikacja kliencka do odbierania wiadomości z Arduino i statystyk agregujących jest napisana w języku programowania Java. A JRE jest wymagane do uruchamiania aplikacji Java. Powinieneś mieć zainstalowane co najmniej JRE8. Proponuję pobrać wersję x64 dla systemu Windows. Pobierz go ze strony Oracle

Krok 4: Zainstaluj aplikację kliencką, aby odczytywać współrzędne z Arduino i śledzić statystyki

Zainstaluj aplikację kliencką, aby odczytywać współrzędne z Arduino i śledzić statystyki
Zainstaluj aplikację kliencką, aby odczytywać współrzędne z Arduino i śledzić statystyki
Zainstaluj aplikację kliencką, aby odczytywać współrzędne z Arduino i śledzić statystyki
Zainstaluj aplikację kliencką, aby odczytywać współrzędne z Arduino i śledzić statystyki

Teraz nadszedł czas na przygotowanie i uruchomienie aplikacji klienckiej na komputerze, która połączy się z portem USB, aby nasłuchiwać i śledzić statystyki czasu.

Jeśli znasz Javę, możesz pobrać i skompilować źródła aplikacji Java Time Cube z mojego projektu GitHub. Jednak w pełnym archiwum projektu, które już pobrałeś, jest już skompilowane i gotowe do użycia archiwum aplikacji tcube.zip, które musisz rozpakować do jakiegoś folderu (może to być c:\programs\tcube)

Po uruchomieniu pliku run.bat powinna uruchomić się aplikacja, która od razu spróbuje nawiązać połączenie z jakimś aktywnym portem COM używanym przez płytkę Arduino (Arduino podłączone do USB jest automatycznie rozpoznawane przez Windows jako jakiś wirtualny port COM).

Jeśli wszystko jest poprawnie skonfigurowane, powinieneś natychmiast zobaczyć liczniki czasu działające zgodnie z jakąś aktywnością. Odwracając kostkę, powinieneś być w stanie śledzić różne działania. Okno aplikacji pokazuje dziennik zdarzeń i możesz zobaczyć ewentualne błędy połączenia, które mogą wystąpić.

Krok 5: Kalibracja akcelerometru

Kalibracja akcelerometru
Kalibracja akcelerometru

Może się zdarzyć, że powinieneś skalibrować swoją kostkę czasu, ponieważ twój akcelerometr nie jest zorientowany dokładnie tak, jak mój. Po prostu otwórz plik app.properties i edytuj zakresy współrzędnych każdej strony kostki zgodnie z rzeczywistymi współrzędnymi, które zobaczysz w oknie dziennika aplikacji dla każdej strony kostki.

Możesz też poeksperymentować z orientacją i znaleźć pozycję akcelerometru dokładnie taką jak moja.

Krok 6: Dodatkowa analiza

Dodatkowa analiza
Dodatkowa analiza

Moja aplikacja java jest dość prosta i pokazuje tylko czas spędzony na każdej czynności w ciągu dnia. Jeśli chcesz mieć więcej analiz, możesz użyć Microsoft Excel do dodatkowej analizy.

Aplikacja generuje plik time-log.csv w formacie CSV, który zawiera wszystkie zdarzenia wysyłane z arduino. Ponieważ zdarzenia są generowane co sekundę, możesz przeprowadzić szczegółową analizę dnia w MS Excel, aby zbudować ładne wykresy, wykresy i dodatkowe analizy.

W folderze, który pobrałeś z mojego projektu GitHub, możesz znaleźć plik excel log_analytics.xlsx, który buduje wykres kołowy przy użyciu danych z pliku time-log.csv. Musisz zaktualizować wykres ręcznie, naciskając przycisk „Odśwież wszystko” w programie Excel.

Zalecana: