Καλησπέρα, σήμερα θέλω να μοιραστώ οδηγίες σχετικά με την κατασκευή ρολογιών με βάση το Attiny 85 με οθόνη Oled. Τα χαρακτηριστικά του ρολογιού μου δεν περιορίζονται στο ρολόι μου. Μπορούν επίσης να χρησιμοποιηθούν ως επιφάνεια εργασίας, και μπορείτε επίσης να συνθλίψετε έναν ψηφιακό αισθητήρα θερμοκρασίας.
Για την κατασκευή σπιτικό θα χρειαστεί:
- Συνθετικό ιμάντα (οποιοδήποτε χρώμα)
- Velcro για ρούχα
- Digispark Attiny85
- Oled οθόνη με ανάλυση 128x64, I2C
- ds18b20 - ψηφιακός αισθητήρας θερμοκρασίας (προαιρετικός)
- Αντίσταση 4.7 Kom 0,25 W
- Arduino Digispark Attiny85 πλακέτα υλικολογισμικού (προγραμματιστής ISP)
- Φύλλο λεπτού πλαστικού
- Χρωματιστά καλώδια
- Υποδοχές Dupont 2.54 mm "θηλυκά"
- Κουμπιά 2 τεμ.
- Μικρή πλακέτα κυκλώματος ή μικρό κομμάτι κυκλώματος
- Σίδερο συγκόλλησης, συγκόλληση, κολοφώνιο
- Νήμα, βελόνα, ψαλίδι
- υπαλληλικό μαχαίρι
- Πυροβόλο όπλο
- Hot κόλλα
- Ταινία διπλής όψης
Βήμα 1 Προετοιμασία της ζώνης.
Μπορείτε να αγοράσετε ένα λουρί σε οποιοδήποτε κατάστημα κεντήματος. Επιλέξτε έναν ιμάντα πλάτους 25 mm. Οποιοδήποτε χρώμα. Χρειαζόμαστε μια λωρίδα περίπου 50 cm. Διπλώστε το λουρί μας στο μισό και ράψτε κατά μήκος των άκρων. Στη συνέχεια, στη μέση του ιμάντα κάνουμε μια σχισμή, αλλά μόνο σε ένα από τα μέρη. Ράψτε το Velcro από τα άκρα του ιμάντα.
Βάλτε το νήμα με τη βελόνα προς τα πλάγια και τραβήξτε το συγκολλητικό.
Βήμα 2 Προετοιμάστε την οθόνη και την οθόνη OLED.
Ο "εγκέφαλος" του ρολογιού μας θα είναι ο ελεγκτής Digispark Attiny85. Διατίθενται σε διάφορες εκδόσεις. Πρέπει να αγοράσετε μια κάρτα με υποδοχή Micro USB. Άλλες εκδόσεις του πίνακα δεν θα χωρέσουν στην θήκη ρολογιών.
Εάν αγοράσατε ένα χαρτόνι με συγκολλημένες επαφές, θα πρέπει πρώτα να τους αποσυνδέσετε. Στη συνέχεια παίρνουμε καλώδια διαφορετικών χρωμάτων, χρειαζόμαστε 9 διαφορετικά χρώματα. Κόψτε περίπου 15 cm από κάθε σύρμα, βγάλτε το και κολλήστε στο Attiny85. Αμέσως αξίζει να καταγράψουμε ποιο σύρμα με το οποίο είναι κολλημένο το καρφί έτσι ώστε να μην μπερδευτεί αργότερα.
Στην περίπτωσή μου, τα καλώδια από τα χρώματα μοιάζουν με αυτό:
PB0 MOSI - Κίτρινο
PB1 MISO - Μπλε
PB2 CSK - μπλε
PB3 - Μωβ
PB4 - Λευκό
PB5 NRES - γκρι
GND - μαύρο
+5 - κόκκινο
Vin - Πορτοκαλί
Τα χρώματα των καλωδίων μπορεί να διαφέρουν, το κύριο πράγμα είναι να τα γράψετε.
Ας περάσουμε στην οθόνη. Θα χρησιμοποιήσουμε μια oled οθόνη. Η ανάλυση οθόνης 128x64, λειτουργεί στο δίαυλο I2C. Στην πώληση υπάρχουν οθόνες διαφορετικών χρωμάτων: λευκό, μπλε, μπλε και κίτρινο. Προσέξτε! Η λέξη "δύο χρωμάτων" στην περιγραφή και τον τίτλο αυτής της οθόνης υποδηλώνει την παρουσία λωρίδας χρώματος διαφορετικού από το κύριο στην κορυφή της οθόνης και όχι τη δυνατότητα εμφάνισης δύο χρωμάτων με αυτήν την οθόνη! Όλες οι οθόνες αυτού του τύπου εμφανίζουν μόνο ένα χρώμα ή στην κορυφή μια λωρίδα ενός χρώματος, στο κάτω μέρος της άλλης. Μου άρεσε η μπλε οθόνη, με κίτρινη μπάρα στην κορυφή. Το χρώμα δεν παίζει ιδιαίτερο ρόλο, επιλέξτε ποιο σας αρέσει. Όπως και με το Attiny85, αν έχετε αγοράσει μια οθόνη με συγκολλημένες επαφές, θα πρέπει πρώτα να τους αποσυνδέσετε.
Στο πίσω μέρος της οθόνης θα πρέπει να κολλήσετε μικρά καλώδια. Καλύτερα είναι να χρησιμοποιείτε καλώδια των ίδιων χρωμάτων με αυτά του Attiny85, ώστε να μην τα μπερδέψετε αργότερα. Στην περίπτωσή μου, κολλήσω το κίτρινο καλώδιο στο SDA της οθόνης, στο SCL - μπλε, GND - μαύρο, VCC - κόκκινο.
Σε μια ταινία διπλής όψης προσαρμόζουμε το Attiny85 στο πίσω μέρος της οθόνης Oled. Το Attiny85 δεν πρέπει να υπερβαίνει την πλακέτα οθόνης Oled.
Συνδέσαμε τον Attiny85 και τον Oled μαζί.
PB0 MOSI Attiny85 - Κίτρινο - SDA Oled
PB2 CSK Attiny85 - μπλε - SCL Oled
GND Attiny85 - Μαύρο - GND Oled
+5 Attiny85 - Κόκκινο - VCC Oled
Συλλέγουμε όλα τα καλώδια σε μια σειρά, έτσι ώστε να έχουμε ένα βρόχο. Τον ανεβάζουμε με ηλεκτρική ταινία σε διάφορα σημεία, έτσι ώστε να μην καταρρέει.
Πηγαίνετε στη δύναμη των ρολογιών μας. Για να το κάνετε αυτό, πάρτε μια μικρή μπαταρία λιθίου. Συνδέστε τα καλώδια σε αυτό.
Εάν δεν υπάρχει μπαταρία, μπορεί να χρησιμοποιηθεί μπαταρία τύπου A27 ή A23.
Τοποθετούμε τον συσσωρευτή ή την μπαταρία στην πιο μακρινή γωνία της τσέπης που σχηματίζεται από το λουράκι διπλωμένο στο μισό. Εάν χρησιμοποιείτε μπαταρία, δώστε μια υποδοχή για να την αντικαταστήσετε.
Στην τρύπα που γίνεται στη μέση του ιμάντα, κολλάμε το καλώδιό μας από τα καλώδια.
Και τα τεντώνουμε μέχρι το τέλος του ιμάντα, έτσι ώστε να ξεφύγουν και το ρολόι να είναι ακριβώς πάνω από την υποδοχή, έτσι ώστε η σχισμή να κλείνει για ώρες.
Κόψουμε τα περίσσεια και πρεσαριστούμε όλα τα καλώδια των συνδετήρων Dupont 2,54 mm "μητέρας". Το τοποθετούμε σε πλαστικές θήκες και το τυλίγουμε με ηλεκτρική ταινία, έτσι ώστε να έχουμε ένα καθαρό συνδετήρα, με όλα τα καλώδια Attiny85. Εδώ αξίζει επίσης να γράψετε ή ακόμα καλύτερα να σχεδιάσετε όλες τις επαφές του προκύπτοντος συνδέσμου. GND Attiny, GND Oled και το μείον της μπαταρίας μπορούν να συνδεθούν άμεσα και να συμπιεστούν σε μία επαφή. Για να συμπληρώσετε το σκίτσο και να συνδέσετε πρόσθετα, είναι προτιμότερο να οργανώσετε τις επαφές ως εξής:
PB0 | PB1 | PB2 | PB5 | +5 ATTINY | GND ATTINY
PB3 | PB4 | VCC OLED | GND OLED | ΠΑΡΑΚΟΛΟΥΘΗΣΗ + ΒΑΤ
Τώρα είναι καιρός να προχωρήσουμε στο κύτος.
Βήμα 3 Κάνοντας την υπόθεση.
Για το σώμα θα χρειαστείτε λεπτό πλαστικό. Μπορεί να αγοραστεί στο ηλεκτρονικό κατάστημα. Ή μπορείτε να αγοράσετε ένα φάκελο με ένα παχύ πλαστικό κάλυμμα στο χαρτοπωλείο και να βγάλετε μια θήκη από το κάλυμμα. Στο πλαστικό σημειώνουμε το σκούπισμα του ρολογιού. Οι συμπαγείς γραμμές είναι κομμένες γραμμές, διακεκομμένες γραμμές - κάμψη.
Χρησιμοποιώντας ένα τεχνικό μαχαίρι, κόψτε προσεκτικά το παράθυρο στη μέση. Λυγίζουμε όλες τις διακεκομμένες γραμμές. Θα πρέπει να είναι έτσι:
Και από την άλλη πλευρά:
Βάζουμε μια σχισμή στην οθόνη μας, λυγίζουμε τις άκρες και, χρησιμοποιώντας θερμοκολλητική κόλλα, συναρμολογούμε το σώμα μας. Αξίζει επίσης να κολληθεί η θήκη στο λουρί, κατά προτίμηση στο εσωτερικό, έτσι ώστε η κόλλα να μην βγαίνει.
Βήμα 4 Προετοιμασία του περιβάλλοντος προγραμματισμού.
Για να εργαστείτε με το υλικολογισμικό (ή το σκίτσο) θα χρησιμοποιήσουμε το IDE του Arduino. Κάντε λήψη του αρχείου ή του εγκαταστάτη από τον επίσημο ιστότοπο Arduino IDE.
Επιπλέον, πρέπει να προσθέσουμε υποστήριξη Attiny στο IDE του Arduino. Για να το κάνετε αυτό, εκτελέστε το Arduino IDE, στη συνέχεια File - Settings - στο πεδίο "Additional URLs Manager URLs", εισάγετε τον σύνδεσμο:
διαφήμιση
Κάντε κλικ στο κουμπί OK (μπορείτε να εισαγάγετε αρκετούς συνδέσμους χωρισμένους με κόμμα σε αυτό το πεδίο). Στη συνέχεια, μεταβείτε στην επιλογή Εργαλεία - Διοικητικό Συμβούλιο - Διοικητικά συμβούλια στο πεδίο φίλτρου, πληκτρολογήστε Attiny και επιλέξτε "attiny από τον David A. Mellis". Κάντε κλικ στην επιλογή Εγκατάσταση και περιμένετε να ολοκληρωθεί η λήψη.
Θα χρειαστείτε επίσης μια βιβλιοθήκη για να εργαστείτε με την οθόνη Oled. Υπάρχουν πολλά από αυτά, μου άρεσε, και σας συνιστώ να χρησιμοποιήσετε το TinyOzOLED. Είναι βολικό, και το σημαντικότερο, ταιριάζει στη μνήμη:
Στο μέλλον, μπορείτε να επεκτείνετε τη λειτουργικότητα του ρολογιού προσθέτοντας έναν αισθητήρα θερμοκρασίας. Προσθέστε μια βιβλιοθήκη για αυτόν τον αισθητήρα αμέσως. Βιβλιοθήκη OneWire.
Εγκαταστήστε αυτές τις βιβλιοθήκες. Για να το κάνετε αυτό, ακριβώς στο περιβάλλον προγραμματισμού Arduino IDE, χωρίς να αποσυσκευάσετε τα αρχεία που έχετε λάβει, επιλέξτε το μενού Sketch - Connect Library. Στο επάνω μέρος της αναπτυσσόμενης λίστας, επιλέξτε το στοιχείο "Προσθήκη βιβλιοθήκης .Zip". Στο παράθυρο διαλόγου που εμφανίζεται, επιλέξτε τη βιβλιοθήκη που θέλετε να προσθέσετε, στην περίπτωση αυτή δύο που έχετε κατεβάσει. Τώρα ανοίξτε ξανά το μενού Βιβλιοθήκη Σχηματοποίησης - Σύνδεσης. Στο κάτω μέρος της αναπτυσσόμενης λίστας θα πρέπει να δείτε νέες βιβλιοθήκες. Από εδώ και πέρα, οι βιβλιοθήκες μπορούν να χρησιμοποιηθούν σε προγράμματα. Μετά από όλα αυτά, επανεκκινήστε το IDE του Arduino. Μπορείτε επίσης απλά να το αποσυμπιέσετε στο φάκελο "βιβλιοθήκες" που βρίσκεται στο φάκελο με τον εγκατεστημένο IDE του Arduino.
Βήμα 5 Προετοιμασία του προγραμματιστή.
Το Digispark Attiny85 μπορεί να προγραμματιστεί μέσω της υποδοχής μικροϋπολογιστή USB του πίνακα χρησιμοποιώντας το IDE του Arduino. Ωστόσο, πρέπει να θυσιάσετε 2 KB μνήμης Flash 8 KB για το bootloader.Το σκίτσο ρολογιών δεν ταιριάζει με το bootloader, οπότε πρέπει να χρησιμοποιήσετε τον προγραμματιστή ISP, διαγράφοντας έτσι τον bootloader. Εάν δεν έχετε προγραμματιστή ISP στο χέρι (όπως ο ίδιος μου), μπορείτε να χρησιμοποιήσετε το διοικητικό συμβούλιο Arduino. Θα χρησιμοποιήσω το Arduino Uno. Αλλά μπορείτε να χρησιμοποιήσετε οποιοδήποτε άλλο συμβούλιο. Έτσι, συνδέουμε τον Arduino Uno στον υπολογιστή. Ξεκινήστε το Arduino IDE, ανοίξτε το Αρχείο - Παραδείγματα - Ο ISP του Arduino. Επιλέξτε από το μενού Εργαλεία - Διοικητικό Συμβούλιο - Arduino Uno. Επιλέγουμε τη θύρα στην οποία είναι συνδεδεμένη, το Arduino, και κατεβάζει κλικ. Το σκίτσο ξεκινάει με έναν υπαινιγμό για τον τρόπο σύνδεσης του Arduino στον προγραμματιζόμενο ελεγκτή.
// 10: επαναφορά σκλάβου
// 11: MOSI
// 12: MISO
// 13: SCK
Σχέδιο σύνδεσης με το Digispark Attiny85:
Arduino UNO - Digispark Attiny85
D11 - P0
D12 - Ρ1
D13 - P2
D10 - Ρ5
Βήμα 6 Προετοιμάστε το καλώδιο για να φορτώσετε το σκίτσο.
Υπάρχουν πολλές επιλογές για το σκίτσο και μόνο για την ευκολία λήψης θα κατασκευάσουμε ένα καλώδιο που θα συνδέει το Arduino Uno (ως προγραμματιστής ISP) και το ρολόι μας. Εδώ προτείνω επίσης τη χρήση χρωματιστών καλωδίων που ταιριάζουν με το χρώμα που έχουμε ήδη χρησιμοποιήσει. Από τη μία πλευρά, θα πρέπει να υπάρχει ένα μπλοκ:
PB0 Κίτρινο | PB1 μπλε | PB2 Blue | PB5 Γκρι | +5 Κόκκινο | GND Black
Αυτό το μπλοκ συνδέεται με το ρολόι, στο επάνω μέρος του μπλοκ ρολογιών.
Από την άλλη πλευρά, υπάρχουν δύο μαξιλάρια για σύνδεση με το Arduino Uno:
Pin 10 Γκρι | Καρφίτσα 11 Κίτρινο | Καρφίτσα 12 Μπλε | Καρφίτσα 13 Μπλε
+5 Κόκκινο | GND Black
Θα πρέπει να μοιάζει με αυτό:
Βήμα 7 Firmware.
Έτσι, έγραψα μερικές επιλογές σκίτσων για τα ρολόγια μας. Θα γράψω αργότερα ποιες είναι οι διαφορές και θα διακρίνω τα πάντα. Για να γεμίσετε το σκίτσο, εκτελέστε το IDE του Arduino, επιλέξτε το μενού Εργαλεία και ορίστε τις ακόλουθες παραμέτρους:
Διοικητικό Συμβούλιο - Attiny 25/45/85
Επεξεργαστής - Attiny 85
Ρολόι - εσωτερικός 16
Επιλέξτε τη σειριακή θύρα στην οποία είναι συνδεδεμένος ο προγραμματιστής ISP ή ο Arduino ως προγραμματιστής. Επίσης, στο μενού Εργαλεία - Προγραμματιστής, επιλέξτε "Arduino ως ISP". Τώρα επιλέξτε Σκίτσο - Λήψη μέσω του προγραμματιστή. Παραμένει να περιμένετε να ολοκληρωθεί η λήψη.
Βήμα 8 Σκίτσα.
Η πρώτη επιλογή είναι ένα ρολόι με ημερομηνία. Για να ρυθμίσετε την ώρα, θα πρέπει να συνδέσετε κουμπιά, κάτι σαν αυτό:
Για τους ακροδέκτες PB1, PB3, PB4.
Η δεύτερη επιλογή είναι μόνο ένα ρολόι. Για να ρυθμίσετε την ώρα που θέλετε να χρησιμοποιήσετε το USB-TTL.
Και η τρίτη επιλογή, ένα ρολόι γραφείου με ημερομηνία και ένα θερμόμετρο.
Βήμα 9 Εκκίνηση.
Για να ξεκινήσετε το ρολόι, εάν χρησιμοποιείτε μπαταρία λιθίου, πρέπει να εγκαταστήσετε έναν βραχυκυκλωτήρα στο μπλοκ μεταξύ των επαφών BAT, +5 και VCC. Μπορείτε να χρησιμοποιήσετε ένα μικρό κομμάτι λεπτού σύρματος. Εάν έχετε μια μπαταρία, θα χρειαστείτε δύο jumper, βάλτε το πρώτο μεταξύ BAT και Vin, το δεύτερο - + 5 και VCC.