Obsah:
- Zásoby
- Krok 1: Připojte desku a akcelerometr
- Krok 2: Flash program pro Arduino Nano
- Krok 3: Nainstalujte si Java Runtime Environment a spusťte klientskou aplikaci na PC
- Krok 4: Nainstalujte si klientskou aplikaci pro čtení souřadnic z Arduina a sledování statistik
- Krok 5: Kalibrace akcelerometru
- Krok 6: Extra analýza
2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-13 06:57
Chtěl bych vám navrhnout jednoduchý, ale opravdu užitečný arduino projekt pro sledování časových událostí převrácením nějaké vychytávky chytrých kostek. Přepněte jej na stránku „Práce“> „Naučit se“> „Domácí práce“> „Odpočinek“a bude se počítat čas, který této aktivitě věnujete. Časová kostka je postavena na akcelerometru Arduino Nano a ADXL345 umístěném do krabice vhodné velikosti, na kterou lze kreslit symboly aktivit nebo názvy. Na konci dne můžete zkontrolovat statistiky. Doufám, že mě to bude motivovat k dalšímu „učení“.
Na trhu je spousta podobných produktů jako TimeFlip.io, Timeular.com, ZEI. Můžete také vyzkoušet pěkný DIY projekt od Adafruit https://learn.adafruit.com/time-tracking-cube. Nicméně navrhuji, aby to bylo mnohem jednodušší. Ke sledování časových dat nepotřebujete žádné cloudové ani wifi připojení k internetu. Time Cube je napájen a připojen k počítači pomocí kabelu USB. Na počítači musíte spustit moji java aplikaci, která poslouchá sériové zprávy z Arduina a zobrazuje celkový strávený čas.
Všechny požadované zdroje programu a některé nepříliš podrobné pokyny najdete na mém projektu GitHub:
Zásoby
1. Arduino Micro nebo Nano takhle:
2. Akcelerometr ADXL345:
3. Kartonová / plastová krabička na kostky
4. USB kabel
Krok 1: Připojte desku a akcelerometr
Senzor ADXL345 je tříosý akcelerometr, který dokáže měřit síly zrychlení, a když je statický, můžete si také přečíst jeho orientaci. Musíte zapojit desku Arduino Nano nebo Micro a akcelerometr ADXL345 jako na obrázku.
Nebudu podrobně vysvětlovat, jak funguje akcelerometr ADXL345. Všechny požadované informace jsem našel ve velmi pěkném článku o připojení akcelerometrů k arduinu a programování:
Krok 2: Flash program pro Arduino Nano
V tomto kroku musíme nahrát program ze studia Arduino na arduino desku. Arduino nano bude schopno číst souřadnice XYZ z akcelerometru a odesílat je na sériový port v nějakém druhu datových paketů, jako je
Všechny požadované zdroje si můžete stáhnout z mé stránky projektu GitHub (jako jeden archivní soubor):
1. Rozbalte stažený zip archiv do nějaké složky jako c: / program / tcube a otevřete soubor tcube / arduino / tcub / tcub.ino ve studiu Arduino.
2. Připojte desku arduino k počítači pomocí kabelu USB.
3. Z Nástroje-> Deska: vyberte „Arduino Nano“(nebo jinou desku, kterou plánujete použít).
4. Pokud používáte nějaké čínské arduino klony, měli byste vybrat z Nástroje-> Procesor-> ATmega328P (starý zavaděč)
5. Vyberte připojený port z Nástroje -> Port -> COM3 (v mém případě)
6. Nahrajte program na arduino
7. Od té chvíle bude okamžitě odesílat datové pakety na sériový port USB.
8. Chcete -li vyzkoušet, zda vše funguje dobře, můžete v Arduino Studio otevřít „Serial Monitor“. Měli byste vidět pakety, které generují každou sekundu jako …… (což znamená skutečné souřadnice akcelerometru).
Krok 3: Nainstalujte si Java Runtime Environment a spusťte klientskou aplikaci na PC
Než budeme pokračovat, musíte se ujistit, že máte v počítači nainstalované prostředí Java Runtime Environment (JRE).
Klientská aplikace, kterou jsem vytvořil pro příjem zpráv z Arduina a agregovaných statistik, je napsána v programovacím jazyce Java. A ke spuštění aplikací Java je vyžadován JRE. Měli byste mít nainstalován alespoň JRE8. Doporučuji stáhnout si verzi x64 pro Windows. Stáhněte si jej z webu Oracle
Krok 4: Nainstalujte si klientskou aplikaci pro čtení souřadnic z Arduina a sledování statistik
Nyní je čas připravit a spustit klientskou aplikaci na vašem PC, která se připojí k portu USB a poslouchá a sleduje statistiky času.
Pokud znáte Javu, můžete si stáhnout a zkompilovat zdroje java aplikace Time Cube z mého projektu GitHub. V úplném archivu projektu, který jste si již stáhli, je však již zkompilován a připraven k použití archiv aplikace tcube.zip, který musíte rozbalit do nějaké složky (může to být c: / programy / tcube)
Pokud spustíte soubor run.bat, měla by se spustit aplikace, která se okamžitě pokusí spustit připojení k nějakému aktivnímu COM portu používanému deskou Arduino (Arduino připojené k USB je Windows automaticky rozpoznáno jako nějaký virtuální COM port).
Pokud je vše správně nakonfigurováno, měli byste okamžitě vidět čítače času běžící podle nějaké aktivity. A otočením kostky byste měli být schopni sledovat různé aktivity. Okno aplikace zobrazuje protokol událostí a můžete vidět všechny chyby připojení, ke kterým může dojít.
Krok 5: Kalibrace akcelerometru
Může se stát, že byste Time Cube zkalibrovali, protože váš akcelerometr není orientován přesně jako já. Stačí otevřít soubor app.properties a upravit rozsahy pro souřadnice každé strany krychle podle skutečných souřadnic, které uvidíte v okně protokolu aplikace pro každou stranu krychle.
Nebo můžete experimentovat s orientací a najít polohu akcelerometru přesně jako já.
Krok 6: Extra analýza
Moje java aplikace je velmi jednoduchá a zobrazuje pouze čas strávený každou činností během dne. Pokud chcete mít více analytiky, můžete pro extra analýzu použít Microsoft Excel.
Aplikace vytváří soubor time-log.csv ve formátu CSV, který obsahuje všechny události odeslané z arduina. Jelikož se události generují každou sekundu, můžete v MS Excel provádět podrobnou denní analýzu a vytvářet pěkné grafy, grafy a další analytiku.
Ve složce, kterou jste stáhli z mého projektu GitHub, najdete soubor excel log_analytics.xlsx, který vytváří koláčový graf pomocí dat ze souboru time-log.csv. Graf musíte aktualizovat ručně stisknutím tlačítka „Obnovit vše“v aplikaci Excel.