Γεια σε όλους και έχετε μια ωραία μέρα ή βράδυ. Αυτή τη φορά θα μοιραστώ τις οδηγίες για την κατασκευή ρολογιού δωματίου με θερμόμετρο. Το υπολογιστικό κέντρο του ρολογιού θα είναι Attiny85, συναρμολογημένο σε πίνακα από την Digispark. Για να εμφανίσετε την οθόνη ρολογιού - Oled. Θερμόμετρο - το γνωστό ds18b20. Για την ισχύ, παίρνουμε το li-ion 18650 (μπορούν να ληφθούν από μια παλιά μπαταρία από έναν φορητό υπολογιστή). Και προσθέστε μια ένδειξη της στάθμης της μπαταρίας. Όπως και σε όλα τα προηγούμενα ρολόγια μου, θα το κάνουμε χωρίς τη μονάδα RTC (ρολόι πραγματικού χρόνου).
Συλλέγουμε όλα τα απαραίτητα:
- Digispark Attiny85 (έκδοση micro USB)
- ds18b20 (σε πλαστική θήκη)
- Oled οθόνη με ανάλυση 128x64, I2C
- 2 μπαταρίες 18650 μπαταριών ή μια παλιά μπαταρία ιόντων λιθίου
- Αισθητήρες (3,3 kΩ, 4,7 kΩ, 10 kΩ)
- Λεπτό πλαστικό (για στέγαση)
- Σύνδεση καλωδίων διαφορετικών χρωμάτων
- προγραμματιστής ISP (ή οποιοδήποτε άλλο Arduino τέλος)
- Κουμπί
- Σύνδεσμοι Dupont 2,54 mm "μητέρα", "πατέρας"
- Μαχαίρι γραφείου, ταινία διπλής όψεως, ηλεκτρική ταινία, θερμοκολλητικό
- Όλα για τη συγκόλληση (συγκόλληση σιδήρου, κολοφώνιο, συγκολλητικό υλικό)
Βήμα 1 Περίπτωση.
Η μελλοντική θήκη ρολογιών θα κατασκευαστεί από λεπτό πλαστικό. Μπορείτε να αγοράσετε ένα φύλλο τέτοιου πλαστικού σε ένα εξειδικευμένο κατάστημα ή σε παραγγελία για aliexpress. Ή μπορείτε (να μην περιμένετε και να μην κοιτάξετε) να πάτε στο γραφείο και να αγοράσετε ένα πλαστικό φάκελο χαρτιού με το αγαπημένο σας χρώμα. Διαστάσεις του μελλοντικού ρολογιού: πλάτος - 40 mm, πάχος - 30 mm, ύψος - 70 mm. Σύμφωνα με το παρακάτω διάγραμμα, κόβουμε μια σάρωση από πλαστικό:
Κόβουμε κατά μήκος παχιά γραμμές, λυγίζουμε απαλά στις λεπτές γραμμές. Κόβουμε το ορθογώνιο στη μέση χρησιμοποιώντας ένα γραφικό μαχαίρι, αυτό είναι ένα παράθυρο για προβολή. Ως αποτέλεσμα, έχουμε μια σάρωση πλαστικού:
Πάμε στο Attiny.
Βήμα 2 Attiny + Oled.
Όπως είπα, στην καρδιά μας σπιτικό θα είναι Attiny 85. Είναι καλύτερο να αγοράσει αυτό το τσιπ, αμέσως soldered στο διοικητικό συμβούλιο μαζί με έναν ρυθμιστή τάσης και ιμάντα. Το Digispark Attiny85 είναι κατάλληλο. Επιλέξτε την έκδοση με μικρο-USB στον πίνακα. Άλλες τροποποιήσεις του πίνακα δεν θα ταιριάζουν στο μέγεθος. Συμβαίνει ότι αυτή η σανίδα πωλείται με τους "αρσενικούς" συνδέσμους Dupon που έχουν ήδη συγκολληθεί. Αν ναι, κολλήστε όλες τις υποδοχές. Συλλέγουμε χρωματιστά σύρματα. Χρειαζόμαστε 10 εκατοστά σε διαφορετικά χρώματα. Τους συγκολλώνουμε στο Attiny και γράφουμε ποιο σύρμα, το οποίο συμπέρασμα αντιστοιχεί. Τα σύρματα P0 και P2 πρέπει να συγκολληθούν σε δύο καλώδια. Το δεύτερο ζεύγος είναι απαραίτητο για τη σύνδεση της οθόνης Oled. Παίρνουμε τα εξής:
Έγραψα το παρακάτω διάγραμμα στο καλώδιο:
Η οθόνη είναι μικρή (για να ταιριάζει με τον ελεγκτή), αλλά φαίνεται όμορφη. OLED (οργανική δίοδος εκπομπής φωτός) είναι μια γραφική απεικόνιση. Δεν υπάρχει οπίσθιος φωτισμός, και αντί αυτού, κάθε εικονοστοιχείο είναι ένα ανεξάρτητο LED. Μεγέθη οθόνης - 0,96 ίντσες.Ανάλυση 128x64. Συνδεδεμένο μέσω διαύλου I2C. Χρησιμοποιεί μόνο δύο καλώδια για να συνδεθεί με Attiny. Έρχονται σε διαφορετικά χρώματα, επιλέγουν στο γούστο σας. Μου άρεσε το μπλε με μια κίτρινη λωρίδα στην κορυφή. Λειτουργούμε όμοια με το Digispark. Εάν υπάρχουν συνδεμένοι σύνδεσμοι - τα κολλήσετε. Συνδέστε, προς το παρόν, μόνο τα καλώδια τροφοδοσίας:
Προσέχετε κατά την συγκόλληση, μην καταστρέψετε το καλώδιο με ένα συγκολλητικό σίδερο στην οθόνη:
Συνδέουμε τις σανίδες με ταινία διπλής όψης:
Συνδέουμε το Digispark Attiny και το Oled σύμφωνα με το σχέδιο (τα χρώματα των συρμάτων μπορεί να ποικίλουν, το κύριο πράγμα δεν είναι να βάλεις τα συμπεράσματα):
Για λόγους ευκολίας και παραγγελίας συγκεντρώνουμε όλα τα καλώδια μαζί. Μπορείτε να τους περιστρέψετε με ηλεκτρική ταινία για να μην μπερδευτείτε:
Στο τέλος όλων των καλωδίων προσαρμόζουμε το "θηλυκό" βύσμα Dupont, το τοποθετούμε μέσα στους μονωτήρες και τα τυλίγουμε όλα μαζί με την ηλεκτρική ταινία για να φτιάξουμε το βύσμα. Καταγράφουμε επίσης το pinout του συνδέσμου:
Το pinout θα πρέπει να είναι έτσι, καθώς στο μέλλον θα συνδέσουμε ένα καλώδιο για το υλικολογισμικό ή άλλα στοιχεία ρολογιών στον συνδετήρα.
Κολλάμε την προκύπτουσα δομή στην περίπτωση και μην ξεχνάτε να κολλήσετε την ίδια την θήκη αφήνοντας ένα γένος μη κολλημένο για περαιτέρω χειρισμούς:
Όταν κολλάτε, προσέξτε ότι η οθόνη είναι ομοιόμορφη:
Βήμα 3 Ισχύς.
Για την ισχύ θα χρησιμοποιήσουμε δύο στοιχεία ιόντων λιθίου. Πληκτρολογήστε 18650. Μπορείτε να τα αγοράσετε ξεχωριστά. Σε αυτή την περίπτωση, τα συγκολλήστε παράλληλα, απομονώστε και εξάγετε το βύσμα για σύνδεση και μετέπειτα φόρτιση:
Πολλοί έχουν παλαιότερους φορητούς υπολογιστές. Είτε δεν εργάζονται πλέον είτε εργάζονται στο χρόνο. Ακόμη και αν η μπαταρία του φορητού υπολογιστή είναι ήδη κακή και δεν είναι κατάλληλη για τη χρήση που προορίζεται, μπορεί να χρησιμοποιηθεί για όλα τα είδη σπιτικών προϊόντων. Στην περίπτωσή μας, για ένα ρολόι. Παίρνουμε την μπαταρία από το φορητό υπολογιστή:
Το κύριο πράγμα είναι ότι είναι Li-ion. Το αποσυναρμολογούμε προσεκτικά, πρέπει να ανοίξετε την πλαστική θήκη, ώστε να μην προκληθεί βλάβη στο εσωτερικό του στοιχείου. Τις περισσότερες φορές, η μπαταρία χωρίζεται σε δύο στοιχεία που συνδέονται παράλληλα. Τους βγάζουμε και το ξεχωρίζουμε από το υπόλοιπο:
Είναι καλύτερο να συγκολλήσετε τα μαξιλάρια επαφής:
Κόψτε αυτό το ζευγάρι στο πίσω μέρος του ρολογιού:
Βήμα 4 Καθορισμός της φόρτισης της μπαταρίας.
Μια βολική λειτουργία του ρολογιού είναι η ένδειξη της φόρτισης της μπαταρίας. Θα καθορίσουμε τον βαθμό φόρτισης από τάση. Η ελάχιστη τάση για αυτές τις μπαταρίες είναι 2,4 V. Δεν μπορεί να αποφορτιστεί περαιτέρω. Η μέγιστη τάση είναι 4,2 V.
Η μέτρηση τάσης στην αναλογική θύρα είναι πάντα σχετική με κάποια άλλη τάση. Δεν μπορούμε να χρησιμοποιήσουμε τον ακροδέκτη AREF του μικροελεγκτή, ο οποίος χρησιμεύει για τη ρύθμιση της τάσης αναφοράς. Είναι επίσης αδύνατο να μετρηθεί η τάση σε σχέση με την τάση τροφοδοσίας (ο λόγος θα είναι πάντα ο ίδιος). Επομένως, θα καθορίσουμε την τάση σε σχέση με την εσωτερική τάση αναφοράς ή Vbg (Bandgap τάση αναφοράς). Είναι 1,1 V. Τώρα πρέπει να υπολογίσουμε τον διαιρέτη τάσης της μπαταρίας μας, έτσι ώστε με μέγιστη φόρτιση (4,2 V) ο διαχωριστής να είχε (1,1 V). Μπορείτε να υπολογίσετε με τον τύπο:
Ή χρησιμοποιήστε
Το R1 έχει ονομαστική τιμή 10 kOhm. Στη συνέχεια R2 παίρνει 3.55 KOhm, το πλησιέστερο κατάλληλο από τις κανονικές τιμές των 3.3 KOhm, και να το πάρει. Οι μετρήσεις γίνονται μεταξύ της εσωτερικής τάσης και της GND, έτσι ώστε η αντίσταση 3,3 KΩ να είναι συγκολλημένη στο μείον και 10 KΩ στο συν. Τοποθετούμε τους αντιστάτες στην μπαταρία, αποσύρουμε το καλώδιο από το διαιρέτη.
Απομονώνουμε όλες τις επαφές για να αποφύγετε το βραχυκύκλωμα:
Το καλώδιο από τον διαχωριστή θα συνδεθεί με το PB4.
Βήμα 5 Μετρήστε τη θερμοκρασία.
Ένα εξαιρετικό συμπλήρωμα στο ρολόι είναι η μέτρηση της θερμοκρασίας δωματίου. Θα χρησιμοποιήσουμε τον ενσωματωμένο αισθητήρα θερμοκρασίας DS18B20. Για να συνεργαστείτε με αυτό, απαιτείται μόνο ένα σύρμα (πολύ χρήσιμο όταν χρησιμοποιείτε το Attiny 85). Όλες οι μετρήσεις γίνονται από τον εαυτό του, ο κεντρικός ελεγκτής δεν ενοχλεί (το Attiny 85 έχει επίσης εξαιρετική μνήμη και τόσο λίγα), χρειάζεται μόνο να δίνουμε εντολές και να έχουμε αποτελέσματα. Υπάρχουν πολλά διαφορετικά σχήματα για τη σύνδεση αυτού του αισθητήρα, θα χρησιμοποιήσουμε την επιλογή που είναι η βέλτιστη για αυτήν την περίπτωση, κατά τη γνώμη μου.Χρησιμοποιώντας εξωτερική ισχύ και αντίσταση 4,7 kΩ:
Συνδέστε μικρά καλώδια και στερεώστε τους συνδετήρες
Το καλώδιο από τον αισθητήρα DQ είναι συνδεδεμένο στο PB 3.
Βήμα 6 Βήμα.
Έχουμε λίγα συμπεράσματα, αλλά υπάρχουν πολλές απαιτήσεις για τα ρολόγια. Θα χρησιμοποιήσουμε ένα κουμπί για να ρυθμίσετε την ώρα. Δεν μπορούμε να υπολογίζουμε σε περισσότερα. Συνδέστε τα καλώδια στο κουμπί, μια επαφή από το GND. Συνδυάστε με τον αισθητήρα θερμοκρασίας:
Η δεύτερη επαφή από το κουμπί συνδέεται με το PB 1.
Βήμα 7 Προετοιμασία του αναπτυξιακού περιβάλλοντος
Για περαιτέρω εργασία με το σκίτσο, καθώς και για την επεξεργασία και την πλήρωσή του, χρειαζόμαστε το IDE του Arduino. Κατεβάστε αυτό το πρόγραμμα από:
Τώρα προσθέστε υποστήριξη για Attiny 85 την Τετάρτη. Ανοίξτε το ID του Arduion και ακολουθήστε το μονοπάτι:
Αρχείο - Ρυθμίσεις - "Πρόσθετες διευθύνσεις διευθύνσεων Boards" εισάγετε τον σύνδεσμο:
διαφήμιση
Κάντε κλικ στο κουμπί OK.
Πήγαινε στο:
Εργαλεία - Διοικητικό Συμβούλιο - Διοικητικό Συμβούλιο Διοικητικών Συμβουλίων πληκτρολογήστε Attiny και κάντε κλικ στο "attiny by David A. Mellis". Κάντε κλικ στην επιλογή "Εγκατάσταση" και αφήστε τον καφέ.
Και τώρα για τις βιβλιοθήκες. Χρειάζονται δύο:
Για να εργαστείτε με την οθόνη Oled
Έλεγχος αισθητήρα θερμοκρασίας
Αφού κατεβάσετε αυτά τα αρχεία, αποσυσκευάστε τα στο φάκελο "βιβλιοθήκες", το οποίο είναι εύκολο να βρεθεί πηγαίνοντας κατά μήκος της διαδρομής εγκατάστασης του IDE του Arduino.
Βήμα 8 Προγραμματιστής.
Το Digispark Attiny 85 είναι ένα εξαιρετικό συμβούλιο. Σχεδιασμένο για σύνδεση σε υπολογιστή USB. Και μπορεί να προγραμματιστεί μέσω αυτού. Αλλά Attiny χρησιμοποιεί ένα λογισμικό USB, το οποίο με τη σειρά του παίρνει 2 KB 8 KB μνήμης. Αυτό δεν μας ταιριάζει και επομένως θα αναβοσβήσουμε το Attiny 85 μέσω της διασύνδεσης ISP. Και εδώ χρειαζόμαστε έναν προγραμματιστή ISP. Αν δεν υπάρχει - δεν έχει σημασία. Πάρτε το Arduino. Στην περίπτωσή μου, Arduino UNO:
Μπορείτε να πάρετε οποιοδήποτε άλλο συμβατό σκάφος από τη γραμμή Arduino. Συνδέουμε τον υπολογιστή, ανοίξουμε τον IDE του Arduino, επιλέξουμε τη θύρα com με την οποία είναι συνδεδεμένη η πλακέτα Arduino, ανοίγουμε το σκίτσο στα παραδείγματα, τον ISP του Arduino και το γεμίζουμε στον πίνακα. Χρειαζόμαστε επίσης ένα καλώδιο για γρήγορη σύνδεση με το Attiny.
Η σύνδεση είναι η εξής:
D11 - P0
D12 - Ρ1
D13 - P2
D10 - Ρ5
Μην ξεχάσετε τη διατροφή του Attiny.
Βήμα 9 Επεξεργαστείτε και συμπληρώστε το σκίτσο.
Κατεβάστε το σκίτσο
Πριν την πλήρωση, πρέπει να επεξεργαστείτε το σκίτσο.
Ο ενσωματωμένος αισθητήρας ds18b20, όπως αναφέρθηκε προηγουμένως, λειτουργεί με το πρωτόκολλο One Wire. Κάθε αισθητήρας έχει τη δική του μοναδική διεύθυνση 64-bit. Πρέπει να βρείτε τη διεύθυνση του αισθητήρα σας και να την γράψετε σε ένα σκίτσο. Ανοίξτε το IDE του Arduino, ακολουθήστε τη διαδρομή:
Αρχείο - Παραδείγματα - Θερμοκρασία Ντάλας - OneWireSearch.
Συμπληρώστε το σκίτσο σε Arduino. Ανοίξτε την οθόνη θύρας. Θα πρέπει να δείτε τις διευθύνσεις όλων των συνδεδεμένων αισθητήρων και των μετρήσεων θερμοκρασίας τους. Γράφουμε τη διεύθυνση σας. Ανοίξτε το σκίτσο μου και αλλάξτε τη διεύθυνση στη δική σας γραμμή:
παράμετρος byte [8] = {0x28, 0xFF, 0x75, 0x4E, 0x87, 0x16, 0x5, 0x63}.
Για να ρυθμίσετε την πρόοδο του ρολογιού, χρησιμοποιήστε την ακόλουθη σταθερά:
εάν (micros () - prevmicros & gt; [b] 497000 [/ b])
Όσο μεγαλύτερη είναι αυτή η τιμή, τόσο πιο αργό είναι το ρολόι.
Για έλεγχο, τα δευτερόλεπτα εμφανίζονται στην οθόνη:
OzOled.printNumber ((μακρύ) sec, 0, 7). // δευτερόλεπτα εξόδου για ακριβή ρύθμιση
Σχολήστε αυτή τη γραμμή για να αφαιρέσετε δευτερόλεπτα.
Τώρα συνδέουμε τον προγραμματιστή ή τον Arduino ως προγραμματιστή, επιλέγουμε το com-port, επιλέγουμε το board μας στο μενού Tools και ρυθμίζουμε τις ακόλουθες παραμέτρους:
Διοικητικό Συμβούλιο: Attiny 25/45/85
Επεξεργαστής: Attiny 85
Ρολόι: εσωτερική 16
Στη συνέχεια, επιλέξτε στο ίδιο μενού:
Εργαλεία - Προγραμματιστής - "Arduino ως ISP".
Και τελικά:
Sketch - Λήψη μέσω του προγραμματιστή
Βήμα 10 Τελική συναρμολόγηση και εκτόξευση.
Απενεργοποιήστε τον προγραμματιστή και συνδέστε τον αισθητήρα, τον τροφοδοτικό και το κουμπί:
Μέχρι να ρυθμιστεί η ακριβής πορεία του ρολογιού, μπορείτε να κλείσετε την θήκη χρησιμοποιώντας καουτσούκ. Όταν τελειώσετε, μπορείτε να κολλήσετε.