Πίνακας περιεχομένων:

Time Cube - Arduino Time Tracking Gadget: 6 βήματα
Time Cube - Arduino Time Tracking Gadget: 6 βήματα

Βίντεο: Time Cube - Arduino Time Tracking Gadget: 6 βήματα

Βίντεο: Time Cube - Arduino Time Tracking Gadget: 6 βήματα
Βίντεο: When The Quiet Kid Does Your Homework 💀 #electronics #arduino #engineering 2024, Ιούλιος
Anonim
Time Cube - Arduino Time Tracking Gadget
Time Cube - Arduino Time Tracking Gadget
Time Cube - Arduino Time Tracking Gadget
Time Cube - Arduino Time Tracking Gadget

Θα ήθελα να σας προτείνω ένα απλό αλλά πραγματικά χρήσιμο έργο arduino για την παρακολούθηση των γεγονότων του χρόνου αναστρέφοντας κάποιο έξυπνο εργαλείο κύβου. Αναποδογυρίστε το στο "Work"> "Learn"> "Chores"> "Rest" και θα μετρήσει τον χρόνο που αφιερώνετε σε αυτήν τη δραστηριότητα. Ο κύβος χρόνου είναι χτισμένος με βάση το επιταχυνσιόμετρο Arduino Nano και ADXL345, τοποθετημένο σε κατάλληλο μέγεθος, στο οποίο μπορείτε να σχεδιάσετε σύμβολα ή ονόματα δραστηριοτήτων. Στο τέλος της ημέρας μπορείτε να ελέγξετε τα στατιστικά στοιχεία. Ελπίζω ότι θα με παρακινήσει να «μάθω» περισσότερα.

Υπάρχουν πολλά παρόμοια προϊόντα στην αγορά όπως TimeFlip.io, Timeular.com, ZEI. Θα μπορούσατε επίσης να δοκιμάσετε ωραίο έργο DIY από το Adafruit https://learn.adafruit.com/time-tracking-cube. Ωστόσο, σας προτείνω να το κάνετε πολύ πιο απλό. Για να παρακολουθείτε δεδομένα χρόνου δεν χρειάζεστε σύνδεση στο διαδίκτυο wifi ή bluetooth στις υπηρεσίες cloud. Το Time Cube τροφοδοτείται και συνδέεται με τον υπολογιστή μέσω καλωδίου USB. Στον υπολογιστή πρέπει να εκτελέσετε την εφαρμογή μου java που ακούει σειριακά μηνύματα από το arduino και εμφανίζει τον συνολικό χρόνο που αφιερώνετε.

Όλες οι απαιτούμενες πηγές προγράμματος και μερικές όχι πολύ λεπτομερείς οδηγίες μπορείτε να βρείτε στο έργο μου GitHub:

Προμήθειες

1. Arduino Micro ή Nano όπως αυτό:

2. Επιταχυνσιόμετρο ADXL345:

3. Χαρτοκιβώτιο / πλαστικό κουτί

4. Καλώδιο USB

Βήμα 1: Καλωδίωση της πλακέτας και του επιταχυνσιόμετρου

Καλώδιο της πλακέτας και του επιταχυνσιόμετρου
Καλώδιο της πλακέτας και του επιταχυνσιόμετρου

Ο αισθητήρας ADXL345 είναι ένα επιταχυνσιόμετρο 3 αξόνων που μπορεί να μετρήσει τις δυνάμεις επιτάχυνσης και όταν είναι στατικός μπορείτε επίσης να διαβάσετε τον προσανατολισμό του. Πρέπει να συνδέσετε Arduino Nano ή Micro board και επιταχυνσιόμετρο ADXL345 όπως στην εικόνα.

Δεν θα εξηγήσω λεπτομερώς πώς λειτουργεί το επιταχυνσιόμετρο ADXL345. Όλες οι απαιτούμενες πληροφορίες που βρήκα σε ένα πολύ ωραίο άρθρο σχετικά με τα επιταχυνσιόμετρα σύνδεσης με το arduino και τον προγραμματισμό:

Βήμα 2: Πρόγραμμα Flash στο Arduino Nano

Πρόγραμμα Flash στο Arduino Nano
Πρόγραμμα Flash στο Arduino Nano
Πρόγραμμα Flash στο Arduino Nano
Πρόγραμμα Flash στο Arduino Nano

Σε αυτό το βήμα πρέπει να ανεβάσουμε πρόγραμμα από το στούντιο Arduino στον πίνακα arduino. Το arduino nano θα μπορεί να διαβάζει συντεταγμένες XYZ από το επιταχυνσιόμετρο και να τις στέλνει στη σειριακή θύρα σε κάποιου είδους πακέτα δεδομένων, όπως

Μπορείτε να κατεβάσετε όλες τις απαιτούμενες πηγές από τη σελίδα του έργου μου στο GitHub (ως αρχείο αρχειοθέτησης):

1. Αποσυσκευάστε το αρχείο zip που έχετε κατεβάσει σε κάποιο φάκελο όπως το c: / program / tcube και ανοίξτε το αρχείο tcube / arduino / tcub / tcub.ino στο στούντιο Arduino.

2. Συνδέστε την πλακέτα arduino στον υπολογιστή χρησιμοποιώντας καλώδιο USB.

3. Από Εργαλεία-> Πίνακας: επιλέξτε "Arduino Nano" (ή άλλο πίνακα που σκοπεύετε να χρησιμοποιήσετε).

4. Εάν χρησιμοποιείτε κάποιους κινέζικους κλώνους arduino τότε θα πρέπει να επιλέξετε από Εργαλεία-> Επεξεργαστής-> ATmega328P (Old Loader)

5. Επιλέξτε συνδεδεμένη θύρα από Εργαλεία-> Θύρα -> COM3 (στην περίπτωσή μου)

6. Μεταφόρτωση προγράμματος στο arduino

7. Από εκείνη τη στιγμή θα στείλει αμέσως πακέτα δεδομένων στη σειριακή θύρα USB.

8. Για να ελέγξετε αν όλα λειτουργούν καλά μπορείτε να ανοίξετε το "Serial Monitor" στο Arduino Studio. Θα πρέπει να βλέπετε πακέτα που δημιουργούσαν κάθε δευτερόλεπτο όπως …… (που σημαίνει πραγματικές συντεταγμένες του επιταχυνσιόμετρου).

Βήμα 3: Εγκαταστήστε το Java Runtime Environment για εκτέλεση εφαρμογής πελάτη σε υπολογιστή

Εγκαταστήστε το Java Runtime Environment για εκτέλεση εφαρμογής πελάτη σε υπολογιστή
Εγκαταστήστε το Java Runtime Environment για εκτέλεση εφαρμογής πελάτη σε υπολογιστή

Πριν συνεχίσουμε, πρέπει να βεβαιωθείτε ότι έχετε εγκαταστήσει στον υπολογιστή σας Java Runtime Environment (JRE).

Η εφαρμογή πελάτη που δημιούργησα για να λαμβάνει μηνύματα από το Arduino και να συγκεντρώνει στατιστικά είναι γραμμένη σε γλώσσα προγραμματισμού Java. Και το JRE απαιτείται για την εκτέλεση εφαρμογών Java. Θα πρέπει να έχετε τουλάχιστον JRE8 εγκατεστημένο. Σας προτείνω να κατεβάσετε την έκδοση x64 για Windows. Κατεβάστε το από τον ιστότοπο της Oracle

Βήμα 4: Εγκαταστήστε την εφαρμογή πελάτη για την ανάγνωση συντεταγμένων από το Arduino και την παρακολούθηση στατιστικών

Εγκαταστήστε την εφαρμογή πελάτη για την ανάγνωση συντεταγμένων από το Arduino και την παρακολούθηση στατιστικών
Εγκαταστήστε την εφαρμογή πελάτη για την ανάγνωση συντεταγμένων από το Arduino και την παρακολούθηση στατιστικών
Εγκαταστήστε την εφαρμογή πελάτη για την ανάγνωση συντεταγμένων από το Arduino και την παρακολούθηση στατιστικών
Εγκαταστήστε την εφαρμογή πελάτη για την ανάγνωση συντεταγμένων από το Arduino και την παρακολούθηση στατιστικών

Τώρα ήρθε η ώρα να προετοιμάσετε και να ξεκινήσετε την εφαρμογή πελάτη στον υπολογιστή σας, η οποία θα συνδεθεί στη θύρα USB για να ακούσετε και να παρακολουθήσετε στατιστικά στοιχεία χρόνου.

Εάν είστε εξοικειωμένοι με την Java, μπορείτε να κατεβάσετε και να μεταγλωττίσετε πηγές εφαρμογής Time Cube java από το έργο μου GitHub. Ωστόσο, μέσα στο πλήρες αρχείο έργου που έχετε ήδη κατεβάσει υπάρχει ήδη μεταγλωττισμένο και έτοιμο για χρήση αρχείο εφαρμογής tcube.zip που πρέπει να ξεπακετάρετε σε κάποιο φάκελο (μπορεί να είναι c: / προγράμματα / tcube)

Εάν εκτελείτε το αρχείο run.bat θα πρέπει να ξεκινήσει η εφαρμογή, η οποία θα προσπαθήσει αμέσως να ξεκινήσει τη σύνδεση με κάποια ενεργή θύρα COM που χρησιμοποιείται από την πλακέτα Arduino (το Arduino που συνδέεται με USB αναγνωρίζεται αυτόματα από τα Windows ως κάποια εικονική θύρα COM).

Εάν όλα έχουν ρυθμιστεί σωστά, θα πρέπει αμέσως να δείτε τους μετρητές ώρας να εκτελούνται σύμφωνα με κάποια δραστηριότητα. Και γυρίζοντας τον κύβο θα πρέπει να μπορείτε να παρακολουθείτε διαφορετικές δραστηριότητες. Το παράθυρο εφαρμογής εμφανίζει το αρχείο καταγραφής συμβάντων και μπορείτε να δείτε τυχόν σφάλματα σύνδεσης που μπορεί να συμβούν.

Βήμα 5: Βαθμονόμηση επιταχυνσιόμετρου

Βαθμονόμηση επιταχυνσιόμετρου
Βαθμονόμηση επιταχυνσιόμετρου

Μπορεί να συμβεί ότι πρέπει να βαθμονομήσετε το Time Cube επειδή το επιταχυνσιόμετρο δεν είναι ακριβώς όπως το δικό μου. Απλώς ανοίξτε το αρχείο app.properties και επεξεργαστείτε εύρη για συντεταγμένες κάθε πλευράς κύβου σύμφωνα με τις πραγματικές συντεταγμένες που θα δείτε στο παράθυρο καταγραφής εφαρμογών για κάθε πλευρά κύβου.

Or μπορείτε να πειραματιστείτε με τον προσανατολισμό και να βρείτε ότι η θέση του επιταχυνσιόμετρου είναι ακριβώς όπως η δική μου.

Βήμα 6: Επιπλέον ανάλυση

Επιπλέον ανάλυση
Επιπλέον ανάλυση

Η εφαρμογή μου java είναι αρκετά απλή και δείχνει μόνο το χρόνο που δαπανάται ανά δραστηριότητα κατά τη διάρκεια της ημέρας. Εάν θέλετε να έχετε περισσότερα αναλυτικά στοιχεία, μπορείτε να χρησιμοποιήσετε το Microsoft Excel για επιπλέον ανάλυση.

Η εφαρμογή παράγει αρχείο time-log.csv σε μορφή CSV, το οποίο περιέχει όλα τα συμβάντα που αποστέλλονται από το arduino. Δεδομένου ότι τα γεγονότα δημιουργούνται κάθε δευτερόλεπτο, μπορείτε να εκτελέσετε λεπτομερή ανάλυση ημέρας στο MS Excel για να δημιουργήσετε ωραία γραφήματα, γραφήματα και επιπλέον αναλυτικά στοιχεία.

Στο φάκελο που έχετε κατεβάσει από το έργο μου GitHub, μπορείτε να βρείτε αρχείο excel_analytics.xlsx που δημιουργεί διάγραμμα πίτας χρησιμοποιώντας δεδομένα από το αρχείο time-log.csv. Πρέπει να ενημερώσετε το διάγραμμα μη αυτόματα πατώντας το κουμπί "Ανανέωση όλων" στο Excel.

Συνιστάται: