Inhaltsverzeichnis:

Zeitwürfel - Arduino Zeiterfassungs-Gadget - Gunook
Zeitwürfel - Arduino Zeiterfassungs-Gadget - Gunook

Video: Zeitwürfel - Arduino Zeiterfassungs-Gadget - Gunook

Video: Zeitwürfel - Arduino Zeiterfassungs-Gadget - Gunook
Video: The Miracle Cube Timer 2024, Juli
Anonim
Zeitwürfel - Arduino Zeiterfassungs-Gadget
Zeitwürfel - Arduino Zeiterfassungs-Gadget
Zeitwürfel - Arduino Zeiterfassungs-Gadget
Zeitwürfel - Arduino Zeiterfassungs-Gadget

Ich möchte Ihnen ein einfaches, aber wirklich nützliches Arduino-Projekt vorschlagen, um Zeitereignisse zu verfolgen, indem Sie ein Smart-Cube-Gadget umdrehen. Drehen Sie es auf die Seite "Arbeit"> "Lernen"> "Hausarbeit"> "Ruhe" und es wird die Zeit gezählt, die Sie für diese Aktivität aufwenden. Der Zeitwürfel basiert auf dem Arduino Nano und dem ADXL345-Beschleunigungsmesser, der in einem Feld geeigneter Größe platziert ist, auf dem Sie Aktivitätssymbole oder -namen zeichnen können. Am Ende des Tages können Sie die Statistiken überprüfen. Ich hoffe, es wird mich motivieren, mehr zu „lernen“.

Es gibt viele ähnliche Produkte auf dem Markt wie TimeFlip.io, Timeular.com, ZEI. Sie können auch ein schönes DIY-Projekt von Adafruit https://learn.adafruit.com/time-tracking-cube ausprobieren. Ich schlage Ihnen jedoch vor, es viel einfacher zu machen. Um Zeitdaten zu erfassen, benötigen Sie keine WLAN- oder Bluetooth-Internetverbindung zu den Cloud-Diensten. Time Cube wird mit Strom versorgt und über ein USB-Kabel mit dem PC verbunden. Auf dem Computer müssen Sie meine Java-Anwendung ausführen, die serielle Nachrichten von Arduino abhört und die insgesamt verbrachte Zeit anzeigt.

Alle benötigten Programmquellen und einige nicht sehr detaillierte Anleitungen findest du auf meinem GitHub-Projekt:

Lieferungen

1. Arduino Micro oder Nano so:

2. ADXL345-Beschleunigungsmesser:

3. Karton / Plastikwürfelbox

4. USB-Kabel

Schritt 1: Verdrahten Sie die Platine und den Beschleunigungsmesser

Verdrahten Sie die Platine und den Beschleunigungsmesser
Verdrahten Sie die Platine und den Beschleunigungsmesser

Der ADXL345-Sensor ist ein 3-Achsen-Beschleunigungsmesser, der Beschleunigungskräfte messen kann und im statischen Zustand auch seine Ausrichtung ablesen kann. Sie müssen das Arduino Nano- oder Micro-Board und den ADXL345-Beschleunigungsmesser wie auf dem Bild verdrahten.

Ich werde nicht im Detail erklären, wie der Beschleunigungsmesser ADXL345 funktioniert. Alle erforderlichen Informationen habe ich in einem sehr schönen Artikel über die Verbindung von Beschleunigungsmessern mit Arduino und die Programmierung gefunden:

Schritt 2: Flash-Programm zu Arduino Nano

Flash-Programm für Arduino Nano
Flash-Programm für Arduino Nano
Flash-Programm für Arduino Nano
Flash-Programm für Arduino Nano

In diesem Schritt müssen wir das Programm vom Arduino-Studio auf das Arduino-Board hochladen. Der Arduino Nano kann XYZ-Koordinaten vom Beschleunigungsmesser lesen und in einer Art von Datenpaketen wie. an den seriellen Port senden

Sie können alle benötigten Quellen von meiner GitHub-Projektseite herunterladen (als einzelne Archivdatei):

1. Entpacken Sie das heruntergeladene Zip-Archiv in einen Ordner wie c:\program\tcube und öffnen Sie die Datei tcube\arduino\tcub\tcub.ino in Arduino Studio.

2. Verbinden Sie das Arduino-Board mit dem USB-Kabel mit dem PC.

3. Von Tools->Board: Wählen Sie "Arduino Nano" (oder ein anderes Board, das Sie verwenden möchten).

4. Wenn Sie chinesische Arduino-Klone verwenden, sollten Sie unter Tools->Prozessor->ATmega328P (Old Loader) auswählen.

5. Wählen Sie den angeschlossenen Port aus Tools->Port ->COM3 (in meinem Fall)

6. Programm auf arduino hochladen

7. Von diesem Moment an sendet es sofort Datenpakete an den seriellen USB-Port.

8. Um zu testen, ob alles funktioniert, können Sie in Arduino Studio "Serial Monitor" öffnen. Sie sollten Pakete sehen, die jede Sekunde erzeugt wurden, wie …… (was die tatsächlichen Koordinaten des Beschleunigungsmessers bedeutet).

Schritt 3: Installieren Sie die Java-Laufzeitumgebung, um die Clientanwendung auf dem PC auszuführen

Installieren Sie Java Runtime Environment, um die Clientanwendung auf dem PC auszuführen
Installieren Sie Java Runtime Environment, um die Clientanwendung auf dem PC auszuführen

Bevor wir fortfahren, müssen Sie sicherstellen, dass Java Runtime Environment (JRE) auf Ihrem Computer installiert ist.

Die Client-Anwendung, die ich erstellt habe, um Nachrichten von Arduino zu empfangen und Statistiken zu aggregieren, ist in der Programmiersprache Java geschrieben. Und JRE ist erforderlich, um Java-Anwendungen auszuführen. Sie sollten mindestens JRE8 installiert haben. Ich empfehle Ihnen, die x64-Version für Windows herunterzuladen. Bitte laden Sie es von der Oracle-Site https://www.oracle.com/technetwork/java/javase/do… herunter.

Schritt 4: Installieren Sie die Client-Anwendung, um Koordinaten von Arduino zu lesen und Statistiken zu verfolgen

Installieren Sie die Client-Anwendung, um Koordinaten von Arduino zu lesen und Statistiken zu verfolgen
Installieren Sie die Client-Anwendung, um Koordinaten von Arduino zu lesen und Statistiken zu verfolgen
Installieren Sie die Client-Anwendung, um Koordinaten von Arduino zu lesen und Statistiken zu verfolgen
Installieren Sie die Client-Anwendung, um Koordinaten von Arduino zu lesen und Statistiken zu verfolgen

Jetzt ist es an der Zeit, die Client-Anwendung auf Ihrem PC vorzubereiten und zu starten, die mit dem USB-Anschluss verbunden wird, um die Zeitstatistik abzuhören und zu verfolgen.

Wenn Sie mit Java vertraut sind, können Sie Quellen der Time Cube Java-Anwendung aus meinem GitHub-Projekt herunterladen und kompilieren. Im vollständigen Projektarchiv, das Sie bereits heruntergeladen haben, befindet sich jedoch bereits das kompilierte und einsatzbereite Anwendungsarchiv tcube.zip, das Sie in einen Ordner entpacken müssen (es kann c:\programme\tcube sein).

Wenn Sie die Datei run.bat ausführen, sollte die Anwendung gestartet werden, die sofort versucht, eine Verbindung zu einem aktiven COM-Port herzustellen, der vom Arduino-Board verwendet wird (Arduino, das an USB angeschlossen ist, wird von Windows automatisch als ein virtueller COM-Port erkannt).

Wenn alles richtig konfiguriert ist, sollten Sie sofort Zeitzähler sehen, die entsprechend einer Aktivität laufen. Und wenn Sie den Würfel umdrehen, sollten Sie in der Lage sein, verschiedene Aktivitäten zu verfolgen. Das Anwendungsfenster zeigt das Ereignisprotokoll und Sie können alle möglichen Verbindungsfehler anzeigen.

Schritt 5: Beschleunigungsmesser-Kalibrierung

Beschleunigungsmesser-Kalibrierung
Beschleunigungsmesser-Kalibrierung

Es kann vorkommen, dass Sie Ihren Time Cube kalibrieren sollten, weil Ihr Beschleunigungsmesser nicht genau wie mein ausgerichtet ist. Öffnen Sie einfach die Datei app.properties und bearbeiten Sie die Bereiche für die Koordinaten jeder Würfelseite gemäß den tatsächlichen Koordinaten, die Sie im Anwendungsprotokollfenster für jede Würfelseite sehen.

Oder Sie können mit der Ausrichtung experimentieren und feststellen, dass die Position des Beschleunigungsmessers genau meiner ist.

Schritt 6: Zusätzliche Analyse

Zusätzliche Analyse
Zusätzliche Analyse

Meine Java-Anwendung ist ziemlich einfach und zeigt nur die Zeit an, die für jede Aktivität während des Tages aufgewendet wurde. Wenn Sie mehr Analysen wünschen, können Sie Microsoft Excel für zusätzliche Analysen verwenden.

Die Anwendung erstellt die Datei time-log.csv im CSV-Format, die alle von Arduino gesendeten Ereignisse enthält. Da Ereignisse jede Sekunde generiert werden, können Sie in MS Excel detaillierte Tagesanalysen durchführen, um schöne Diagramme, Grafiken und zusätzliche Analysen zu erstellen.

In dem Ordner, den Sie von meinem GitHub-Projekt heruntergeladen haben, finden Sie die Excel-Datei log_analytics.xlsx, die ein Tortendiagramm mit Daten aus der Datei time-log.csv erstellt. Sie müssen das Diagramm manuell aktualisieren, indem Sie in Excel auf die Schaltfläche "Alle aktualisieren" klicken.