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

Ρολόι κύβων πολλαπλών λειτουργιών με βάση τη θέση: 5 βήματα (με εικόνες)
Ρολόι κύβων πολλαπλών λειτουργιών με βάση τη θέση: 5 βήματα (με εικόνες)

Βίντεο: Ρολόι κύβων πολλαπλών λειτουργιών με βάση τη θέση: 5 βήματα (με εικόνες)

Βίντεο: Ρολόι κύβων πολλαπλών λειτουργιών με βάση τη θέση: 5 βήματα (με εικόνες)
Βίντεο: TikTok Φάρσα Με την μητέρα μου 😋 2024, Ιούλιος
Anonim
Image
Image
Ρολόι κύβων πολλαπλών λειτουργιών με βάση τη θέση
Ρολόι κύβων πολλαπλών λειτουργιών με βάση τη θέση
Ρολόι κύβων πολλαπλών λειτουργιών με βάση τη θέση
Ρολόι κύβων πολλαπλών λειτουργιών με βάση τη θέση

Έργα Fusion 360 »

Αυτό είναι ένα ρολόι με βάση το Arduino που διαθέτει οθόνη OLED που λειτουργεί ως ρολόι με την ημερομηνία, ως χρονοδιακόπτης για υπνάκο και ως νυχτερινό φως. Οι διαφορετικές "λειτουργίες" ελέγχονται από ένα επιταχυνσιόμετρο και επιλέγονται περιστρέφοντας το ρολόι κύβου.

Iθελα ένα νέο ρολόι κομοδίνο, αλλά δεν ήθελα να ξοδέψω χρήματα σε ένα φανταχτερό ρολόι που είχε τόνους λειτουργιών που δεν θα χρησιμοποιούσα. Επιπλέον, είχα συλλέξει εξαρτήματα και αισθητήρες που απλώνονταν γύρω, έτσι αποφάσισα να τα χρησιμοποιήσω για να φτιάξω το δικό μου ρολόι!

Είχα μερικούς στόχους για αυτό το έργο:

  1. Εμφανίστε αυτήν την ώρα με μια επιλογή απενεργοποίησης
  2. Συμπεριλάβετε λειτουργία νυχτερινού φωτισμού
  3. Συμπεριλάβετε ένα χρονόμετρο 15 λεπτών για ύπνο με συναγερμό
  4. Να είναι σε θέση να εμφανίσει την ημερομηνία

Προμήθειες

  • Arduino Pro Mini 5V
  • Επιταχυνσιόμετρο 3 αξόνων ADXL335
  • DS3231 AT24C32 IIC ακριβείας Ρολόι πραγματικού χρόνου
  • Μίνι ηχείο
  • Οθόνη OLED SSD1306 IIC 0,96in
  • Τροφοδοσία 5V DC
  • LED x 2
  • Αντιστάσεις 220ohm x 2
  • Υποδοχή βαρελιού DC
  • Σύρμα
  • Εργαλεία

    • Κόπτες/απογυμνωτές καλωδίων
    • Συγκολλητικό σίδερο/συγκόλληση
    • Τρισδιάστατος εκτυπωτής (προαιρετικός)
    • Προγραμματιστής FTDI για διασύνδεση μεταξύ του Pro mini και του Arduino IDE

Βήμα 1: Πρωτότυπο και δοκιμάστε το κύκλωμα

Πρωτότυπο και δοκιμάστε το κύκλωμα
Πρωτότυπο και δοκιμάστε το κύκλωμα
Πρωτότυπο και δοκιμάστε το κύκλωμα
Πρωτότυπο και δοκιμάστε το κύκλωμα
Πρωτότυπο και δοκιμάστε το κύκλωμα
Πρωτότυπο και δοκιμάστε το κύκλωμα

Συνδέστε εξαρτήματα στο Arduino. Η διάταξη του πίνακα ή το σχηματικό σχήμα φαίνονται παραπάνω. Το RTC και το OLED χρησιμοποιούν πρωτόκολλο I2C για διασύνδεση με το Arduino και χρήση των ακίδων Α4 και Α5. Το επιταχυνσιόμετρο χρησιμοποιεί 3 αναλογικές ακίδες. Χρησιμοποίησα A0, A1, A2. Τα LED και το Piezo μπορούν να χρησιμοποιήσουν οποιαδήποτε από τις ψηφιακές ακίδες, χρησιμοποίησα 4 και 8 αντίστοιχα.

Διασύνδεση με κάθε στοιχείο. Έπρεπε να εγκαταστήσω μερικές βιβλιοθήκες Arduino για διασύνδεση με κάθε στοιχείο. Εμφανίζονται στην παραπάνω εικόνα.

Κωδικοποιήστε χρησιμοποιώντας το Arduino IDE. Κοσκινίζω μερικά παραδείγματα σκίτσων που παρέχονται από κάθε βιβλιοθήκη για να καταλάβω τη σωστή σύνταξη για κάθε συστατικό με βάση αυτό που ήθελα να κάνουν. Βρήκα ένα σκίτσο για κάθε στοιχείο για να το δοκιμάσω ξεχωριστά. Παρατίθενται παρακάτω. Ξεκίνησα με το πιεζοηχείο γιατί ήταν το πιο εύκολο. Στην πραγματικότητα δεν χρειαζόταν ειδική βιβλιοθήκη, απλώς μια συγκεκριμένη λειτουργία που καθορίζει τη συχνότητα και τον ήχο. Για να λειτουργήσουν οι λυχνίες LED χρειάστηκε να τραβήξετε έναν από τους ψηφιακούς πείρους ψηλά και χαμηλά. Στη συνέχεια, μετακόμισα στο OLED και αυτό ήταν αρκετά απλό στη ρύθμιση επίσης. Το παρακάτω σκίτσο είναι μια επίδειξη του Adafruit που περνάει από όλες τις κινούμενες εικόνες/κείμενα που μπορούν να προβληθούν. Στη συνέχεια, προσπάθησα να κάνω το RTC να λειτουργήσει. Το σκίτσο που παρείχα ήταν μέρος ενός παραδείγματος στη βιβλιοθήκη που παίρνει την τρέχουσα ώρα και το εκτυπώνει στη σειριακή οθόνη. Τέλος, χρησιμοποίησα το παρεχόμενο παράδειγμα για να δοκιμάσω το επιταχυνσιόμετρο. Οι έξοδοι κάθε άξονα εκτυπώνονται στη σειριακή οθόνη.

Τώρα ήρθε η ώρα να τα συνδυάσουμε όλα!

Βήμα 2: Κύριο πρόγραμμα

Κύριο Πρόγραμμα
Κύριο Πρόγραμμα
Κύριο Πρόγραμμα
Κύριο Πρόγραμμα

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

Χρειάστηκε να εμφανίσω την ώρα και την ημερομηνία στο OLED που ήταν αρκετά απλό. Απλώς έπρεπε να εκτυπώσω την τρέχουσα ώρα στην οθόνη αντί της σειριακής οθόνης. Υπήρχαν μερικά πράγματα μορφοποίησης που έπρεπε να λάβω υπόψη για να εμφανιστεί μια μορφή 12 ωρών αντί για 24 και να προσθέσω/αφαιρέσω 0 όπου ήταν κατάλληλο. Η ημερομηνία ήταν παρόμοια με την προσθήκη της εμφάνισης του μήνα και της ημέρας μέσα σε ορθογώνια που σχεδιάστηκαν στην οθόνη. Χρησιμοποίησα ένα βρόχο ένθετο FOR για να δημιουργήσω το χρονόμετρο και ξεκίνησα το πίεζο μετά το τέλος του βρόχου. Αποφάσισα να κάνω την οθόνη να αναβοσβήνει καθώς ο βομβητής σβήνει, το οποίο ήταν ένα βασικό κινούμενο σχέδιο από το demo του Adafruit. Έκανα το γύρισμα του κύβου πίσω στη θέση του ρολογιού με τον μόνο τρόπο απενεργοποίησης του βομβητή. Τέλος, ήθελα έναν τρόπο απενεργοποίησης της οθόνης, ο οποίος επιτεύχθηκε καθαρίζοντας την οθόνη. Τώρα, χρειαζόμουν όλες αυτές τις λειτουργίες για να λειτουργήσω με βάση τις εξόδους του επιταχυνσιόμετρου. Χρησιμοποίησα το σενάριο Accel_Test για να καθορίσω τις συντεταγμένες άξονα κάθε θέσης που ήθελα να εκτελείται κάθε συνάρτηση. Μετακίνησα χειροκίνητα το τσιπ του επιταχυνσιόμετρου και κατέγραψα τις ενδείξεις στην σειριακή οθόνη. Το παραπάνω διάγραμμα δίνει τις συντεταγμένες εξόδου κάθε θέσης σε ΓΚΡΙ. Οι συντεταγμένες στο RED είναι τα όρια μεταξύ κάθε θέσης και χρησιμοποίησα αυτούς τους αριθμούς για το πρόγραμμά μου. Στις 4 θέσεις εμφάνισης, χρειάζονται μόνο οι συντεταγμένες του άξονα Χ και Υ. Η πέμπτη θέση για το νυχτερινό φως χρησιμοποιεί τον άξονα Ζ. Χρησιμοποίησα απλές δηλώσεις IF για τις θέσεις του επιταχυνσιόμετρου πριν από κάθε μπλοκ συναρτήσεων. Εάν χρησιμοποιείτε διαφορετικό επιταχυνσιόμετρο, αυτές οι συντεταγμένες ενδέχεται να διαφέρουν και θα πρέπει να προσαρμοστούν στο πρόγραμμα.

Βήμα 3: Τρισδιάστατη εκτύπωση του κύβου

Τρισδιάστατη εκτύπωση του κύβου
Τρισδιάστατη εκτύπωση του κύβου
Τρισδιάστατη εκτύπωση του κύβου
Τρισδιάστατη εκτύπωση του κύβου
Τρισδιάστατη εκτύπωση του κύβου
Τρισδιάστατη εκτύπωση του κύβου

Σκέφτηκα ότι ένας κύβος θα ήταν ο καλύτερος σχεδιασμός για να χωρέσει τον τρόπο που ήθελα να λειτουργεί το ρολόι. Χρησιμοποίησα το fusion360 για να φτιάξω το μοντέλο. Χρειαζόμουν μια διακοπή για το OLED και το βύσμα κάννης. Wantedθελα επίσης εύκολη πρόσβαση για να αντικαταστήσω την μπαταρία κυττάρων στο RTC μετά από όλα τα καλώδια. Χρειαζόμουν μια υποδοχή για να διατηρήσω το Arduino σε έναν προσανατολισμό που θα ήταν εύκολο να επαναπρογραμματιστεί εάν ήταν απαραίτητο. Επιπλέον, το περίβλημα έπρεπε να αφαιρεθεί εύκολα, ώστε να έχω πρόσβαση στο Arduino. Μπορείτε να δείτε το μοντέλο CAD παραπάνω και τα αρχεία STL είναι παρακάτω.

Τύπωσα το σώμα σε μαύρο PLA με 20% πλήρωση, ανάλυση 0,2mm.

Το περίβλημα ή το περίβλημα εκτυπώθηκε σε εύκαμπτο νήμα Solutech με 100% πλήρωση, ανάλυση 0,3 mm. Χρησιμοποίησα αυτό το υλικό επειδή έχει κάποια ευελιξία που το έκανε εύκολο να τεντωθεί πάνω στο σώμα. Έχει επίσης πιο απαλή αίσθηση όταν περιστρέφετε το ρολόι. Τέλος, επέλεξα ένα διάφανο νήμα έτσι ώστε να φωτίζουν τα LED για τα φώτα της νύχτας.

Βήμα 4: Συναρμολόγηση

Συνέλευση
Συνέλευση
Συνέλευση
Συνέλευση
Συνέλευση
Συνέλευση

Συνδέω τα πάντα χρησιμοποιώντας το σχηματικό από το Βήμα 1. Χρησιμοποίησα ένα μικρό κομμάτι σανίδων για να συνδέσω όλα τα κοινά καλώδια, έτσι ώστε να μην χρειαστεί να κολλήσω πολλά καλώδια σε έναν πείρο στο Arduino. Χρησιμοποιήθηκε ζεστή κόλλα για να ασφαλίσει τα πάντα στην αντίστοιχη θέση του, εκτός από το Arduino. Απλώς σπρώχτηκε στην καθορισμένη υποδοχή του. Βεβαιώθηκα ότι η πλακέτα του επιταχυνσιόμετρου ήταν κάθετη και επίπεδη στο κάτω μέρος του σώματος, έτσι ώστε οι συντεταγμένες στον κώδικα να μην χρειάζονται αλλαγή.

Βήμα 5: Μεταφόρτωση και τελειώσατε

Ανεβάστε και τελειώσατε!
Ανεβάστε και τελειώσατε!
Ανεβάστε και τελειώσατε!
Ανεβάστε και τελειώσατε!
Ανεβάστε και τελειώσατε!
Ανεβάστε και τελειώσατε!
Ανεβάστε και τελειώσατε!
Ανεβάστε και τελειώσατε!

Τώρα το τελικό πρόγραμμα μπορεί να μεταφορτωθεί στο ρολόι για να ορίσετε τη σωστή ώρα. Η μπαταρία της κυψέλης πρέπει να διατηρεί το χρόνο ακόμη και όταν το ρεύμα είναι αποσυνδεδεμένο. Σύρετε το μανίκι με 3D εκτύπωση πάνω στο σώμα για να κρύψετε όλα τα εξαρτήματα και έχετε ένα πλήρες ρολόι κύβου!

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

Συνιστάται: