» Ηλεκτρονικά » Arduino »Oled παρακολουθεί την Attiny85

Το Oled παρακολουθεί το Attiny85

Καλησπέρα και πάλι είμαι με τα παιχνίδια μου. Σήμερα σας παρουσιάζω οδηγίες για την κατασκευή μικρών αλλά χαριτωδών ρολογιών με αισθητήρα θερμοκρασίας χώρου.
Το Oled παρακολουθεί το Attiny85


Κατάλογος όσων χρειαζόμαστε:
- Digispark Attiny85
- Οθόνη οθόνης 128x64 I2C
- αισθητήρας θερμοκρασίας ds18b20
- Αντίσταση 4.7 Kom 0,25 W
- προγραμματιστής ISP ή Arduino Digispark Attiny85 firmware board
- Πλαστικό δισκίο με συνδετήρα ή φύλλο λεπτού πλαστικού
- καλώδια
- Υποδοχές Dupont 2.54 mm "θηλυκά"
- Κουμπιά 2 τεμ.
- Μικρή πλακέτα κυκλώματος ή μικρή εξάρτηση
- συγκολλητικό σίδερο
- Κόλλα, κολοφώνιο
- ψαλίδι
- υπαλληλικό μαχαίρι
- Πυροβόλο όπλο
- Hot κόλλα

Βήμα 1 Επιλογή στοιχείων.
Ως κύριος ελεγκτής θα χρησιμοποιήσουμε το Digispark Attiny85. Υπάρχουν διάφοροι τύποι αυτών. Χρειαζόμαστε μια πλακέτα με υποδοχή micro USB. Τα υπόλοιπα δεν ταιριάζουν στην περίπτωση του ρολογιού.

Για εμφάνιση, χρειαζόμαστε μια οθόνη Oled 128x64 I2C. Έρχονται σε διαφορετικά χρώματα: λευκό, μπλε, μπλε και κίτρινο. Εφιστώ την προσοχή σας! Ο όρος "δίχρωμο" στην περιγραφή ή τον τίτλο αυτής της οθόνης σημαίνει μια λωρίδα ενός χρώματος στο επάνω μέρος της οθόνης και το δεύτερο χρώμα ολόκληρη την υπόλοιπη οθόνη και όχι η δυνατότητα εμφάνισης δύο χρωμάτων με αυτήν την οθόνη! Όλες οι οθόνες αυτού του τύπου εμφανίζουν μόνο ένα χρώμα ή στην κορυφή μια λωρίδα ενός χρώματος στο κάτω μέρος - ένα άλλο. Όπως, για παράδειγμα, αυτό που θα χρησιμοποιήσω. Η μπάρα παραπάνω είναι κίτρινη · η υπόλοιπη οθόνη είναι μπλε. Μπορείτε να επιλέξετε οποιοδήποτε χρώμα θέλετε.
Χρειαζόμαστε επίσης τον ενσωματωμένο αισθητήρα θερμοκρασίας DS18B20. Δεν επελέγη τυχαία. Πρώτον, το DS18B20 επικοινωνεί με τον μικροελεγκτή μέσω γραμμής επικοινωνίας ενός καλωδίου χρησιμοποιώντας το πρωτόκολλο διεπαφής 1-Wire. Στην περίπτωσή μας, αυτό είναι σημαντικό, αφού τα συμπεράσματα του Attiny85 χωρίς αισθητήρα είναι λίγα. Δεύτερον, αυτός ο αισθητήρας είναι ένα ψηφίο, δηλαδή παίρνει όλες τις μετρήσεις και απλά μεταδίδει δεδομένα θερμοκρασίας χωρίς να δαπανήσει τους υπολογιστικούς πόρους του Attiny85.

Όσον αφορά τα υπόλοιπα, νομίζω ότι δεν θα υπάρξουν ερωτήσεις, οπότε ας προχωρήσουμε στην κατασκευή της υπόθεσης.

Βήμα 2 Συναρμολόγηση του περιβλήματος.
Η θήκη ρολογιών θα κατασκευαστεί από λεπτό πλαστικό. Είχα ένα πλαστικό δισκίο με ένα χάρτινο κλιπ στα χέρια μου. Είναι αρκετά ανθεκτικό για να κρατήσει το σχήμα του, και μπορεί να κοπεί με συνηθισμένο ψαλίδι και μαχαίρι γραφείου. Ήρθε τέλεια.Αν δεν υπάρχει, μπορείτε να αγοράσετε ένα δισκίο σε ένα κατάστημα εφοδιασμού γραφείου ή να βρείτε το σωστό πλαστικό για να αντικαταστήσετε το δισκίο. Κάνουμε σημάνσεις στο πλαστικό σύμφωνα με το σχήμα:


Κόψτε όλες τις συμπαγείς γραμμές. Διακεκομμένη - ελαφρώς κομμένη με ένα τεχνικό μαχαίρι. Οι τετραγωνισμένες γραμμές είναι γραμμές δίπλωσης. Όπως έχετε ήδη καταλάβει, αυτή είναι η συνηθισμένη διάταξη του κύβου. Στη συνέχεια, πρέπει να κολλήσετε τα καλώδια στην οθόνη, είναι καλύτερο να λάβετε πολύχρωμα και να γράψετε κάτω που οδηγεί σε αυτό. Κόψτε την οθόνη στη θερμοκολλημένη συγκολλητική ταινία στη μέση, έτσι ώστε η μπροστινή πλευρά να βγαίνει από την πλάτη. Όπως μπορείτε να δείτε, έχουμε κλείσει τους ορισμούς των ακίδων οθόνης. Ως εκ τούτου, ήταν απαραίτητο να τα γράψω. Έλαβα ελαφρά στο μαχαίρι και έκοψα το κάτω μέρος του σώματος. Δεν υπάρχει τίποτα κακό με αυτό, όλα μπορούν να κολληθούν. Αλλά είναι καλύτερα να μην επαναλάβω τα λάθη μου.



Το αποτέλεσμα θα πρέπει να είναι το εξής:


Σε αυτή την περίπτωση είναι έτοιμη. Μπορείτε ακόμα να κόψετε το πίσω κάλυμμα από το ίδιο πλαστικό, αλλά αυτό είναι προαιρετικό.

Βήμα 3 Συνδέουμε.
Η περίπτωσή μας είναι μικρή και πρέπει να τροφοδοτήσουμε πολύ εκεί. Ως εκ τούτου, παίρνουμε ένα κομμάτι του κυκλώματος όχι μεγαλύτερο από 2.8 x 2.8 mm και συγκολλήστε σε δύο κουμπιά, έναν αισθητήρα ds18b20, έναν αντιστάτη και αρκετές επαφές. Σύμφωνα με το ακόλουθο σχήμα:


Δεν είναι απαραίτητο να κολλήσετε καλώδια απευθείας στην Attiny, αφού είναι απαραίτητο να αποσυνδέσετε τα πάντα για firmware. Το αποτέλεσμα θα πρέπει να είναι κάτι τέτοιο:



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


Αν θέλετε να κάνετε χωρίς καλώδια, θα πρέπει να βρείτε μια μικρή μπαταρία ιόντων λιθίου. Εδώ είναι ένα, για παράδειγμα:


Αυτή η μπαταρία χωράει μέσα στην θήκη. Απαιτείται μόνο η εξαγωγή συμπερασμάτων για τη φόρτιση της μπαταρίας.

Βήμα 4 Προετοιμασία του προγραμματιστή.
Το Digispark Attiny85 μπορεί να προγραμματιστεί μέσω της υποδοχής micro USB του πίνακα, χρησιμοποιώντας το Arduino IDE ως περιβάλλον προγραμματισμού. Αλλά ταυτόχρονα θα πρέπει να θυσιάσετε 2 KB μνήμης για το bootloader. Το Attiny 85 έχει συνολικά 8 KB Flash. Το σκίτσο μου δεν ταιριάζει με το bootloader, οπότε πρέπει να προγραμματίσω μέσω του προγραμματιστή ISP. Δεν έχω έναν τέτοιο προγραμματιστή, αλλά υπάρχει ένας πίνακας Arduino Uno, τον οποίο θα χρησιμοποιήσω ως προγραμματιστής. Αν έχετε προγραμματιστή ISB, μπορείτε να παραλείψετε αυτό το στοιχείο. Ανοίξτε το ID Ardeino και συμπληρώστε το σκίτσο μας ArduinoISP στο Arduino Uno. Μπορείτε να το βρείτε όπως αυτό το Αρχείο - Παραδείγματα - Arduino ISP. Το σκίτσο ξεκινάει με έναν υπαινιγμό για τον τρόπο σύνδεσης του Arduino στον προγραμματιζόμενο ελεγκτή. Αντί του Arduino Uno, μπορεί να υπάρχει οποιοδήποτε άλλο συμβούλιο Arduino.
// 10: επαναφορά σκλάβου
// 11: MOSI
// 12: MISO
// 13: SCK


Σχέδιο σύνδεσης με το Digispark Attiny85:
Arduino UNO - Digispark Attiny85
D11 - P0
D12 - Ρ1
D13 - P2
D10 - Ρ5


Βήμα 5 Προετοιμασία του περιβάλλοντος προγραμματισμού.
Για να επεξεργαστείτε το υλικολογισμικό και να γεμίσετε το σκίτσο στο Attiny 85, πρέπει να προετοιμάσετε όχι μόνο τον προγραμματιστή αλλά και το ίδιο το περιβάλλον προγραμματισμού. Για να το κάνετε αυτό, εγκαταστήστε το Arduino IDE από την επίσημη ιστοσελίδα του Arduino.cc και, επίσης, εγκαταστήστε το πρόσθετο Attiny για μικροελεγκτές μέσω του Διαχειριστή των Καταστημάτων.

Εκκινήστε το IDE του Arduino και, στη συνέχεια, το αρχείο - Ρυθμίσεις - στο πεδίο Πρόσθετοι πίνακες διευθύνσεων URL, επικολλήστε τον σύνδεσμο:

διαφήμιση


κάντε κλικ στο OK (μπορείτε να εισαγάγετε αρκετούς συνδέσμους χωρισμένους με κόμμα σε αυτό το πεδίο). Επόμενο Εργαλεία - Διοικητικό Συμβούλιο - Διοικητικό Συμβούλιο Διοικητικών Συμβουλίων στο πεδίο φίλτρου, πληκτρολογήστε Attiny και κάντε κλικ στο "attiny by David A. Mellis". Κάντε κλικ στην επιλογή Εγκατάσταση και περιμένετε να ολοκληρωθεί η λήψη. Τώρα στο μενού Εργαλεία, επιλέξτε:
Διοικητικό Συμβούλιο - Attiny 25/45/85
Επεξεργαστής - Attiny 85
Ρολόι - εσωτερικός 16
και επιλέξτε τη σειριακή θύρα στην οποία είναι συνδεδεμένος ο προγραμματιστής ISP ή ο Arduino ως προγραμματιστής.
Δοκίμασα πολλές διαφορετικές βιβλιοθήκες για να δουλέψω με την οθόνη. Κατά τη γνώμη μου, το πιο βολικό και εργάζεται για Attiny85: TinyOzOLED.
tinyozoled-master.rar [15.99 Kb] (λήψεις: 477)


Ένας αισθητήρας θερμοκρασίας χρειάζεται τη βιβλιοθήκη OneWire.
onewire.rar [16,75 Kb] (λήψεις: 263)


Εγκαταστήστε αυτές τις δύο βιβλιοθήκες. Μπορείτε να εγκαταστήσετε βιβλιοθήκες τρίτων απευθείας στο περιβάλλον προγραμματισμού. Χωρίς αποσυσκευασία των ληφθέντων αρχείων, στο Arduino IDE, επιλέξτε το μενού Sketch - Connect Library. Στο επάνω μέρος της αναπτυσσόμενης λίστας, επιλέξτε το στοιχείο Προσθήκη βιβλιοθήκης .Zip. Στο παράθυρο διαλόγου που εμφανίζεται, επιλέξτε τη βιβλιοθήκη που θέλετε να προσθέσετε. Ανοίξτε ξανά το μενού "Σκίτσο - Σύνδεση Βιβλιοθήκης". Στο κάτω μέρος της αναπτυσσόμενης λίστας θα πρέπει να δείτε μια νέα βιβλιοθήκη. Τώρα η βιβλιοθήκη μπορεί να χρησιμοποιηθεί σε προγράμματα. Μην ξεχάσετε να επανεκκινήσετε το IDE Arduino μετά από όλα αυτά.Εάν αυτό δεν βοηθήσει, απλά αποσυνδέστε τα αρχεία στο φάκελο "βιβλιοθήκες" που βρίσκεται στο φάκελο με το εγκατεστημένο IDE του Arduino.

Βήμα 6 Επεξεργαστείτε και συμπληρώστε το σκίτσο.
Ο αισθητήρας θερμοκρασίας λειτουργεί σύμφωνα με το πρωτόκολλο One Wire και έχει μια μοναδική διεύθυνση για κάθε συσκευή - έναν κωδικό 64-bit. Οι πόροι Attiny δεν επαρκούν για να αναζητήσουν αυτόν τον κώδικα κάθε φορά. Ως εκ τούτου, πρέπει πρώτα να συνδέσετε τον αισθητήρα σε οποιοδήποτε πίνακα Arduino, συμπληρώστε το σκίτσο που βρίσκεται στο μενού Αρχείο - Παραδείγματα - Θερμοκρασία Dallas - OneWireSearch. Στη συνέχεια, εκτελέστε Εργαλεία - Παρακολούθηση Port. Το Arduino πρέπει να βρει τον αισθητήρα μας, να γράψει τη διεύθυνσή του και τις τρέχουσες ενδείξεις θερμοκρασίας. Αντιγράφεται ή απλά γράψτε τη διεύθυνση του αισθητήρα μας. Ανοίξτε το σκίτσο Attiny85_Oled_SPI_Term_2, αναζητήστε τη γραμμή:

παράμετρος byte [8] = {0x28, 0xFF, 0x75, 0x4E, 0x87, 0x16, 0x5, 0x63}. 


Γράφουμε κάτω τη διεύθυνση του αισθητήρα σας μεταξύ των τιράντες, αντικαθιστώντας τη διεύθυνση του αισθητήρα μου. Στη συνέχεια, συνδέστε το Attiny στον προγραμματιστή ή το Arduino ως προγραμματιστής (αυτό περιγράφεται στο Βήμα 4) και συμπληρώστε το σκίτσο. Απομένει να αποσυνδέσετε τον προγραμματιστή και να συνδέσετε τα πάντα σύμφωνα με το σχέδιο σε 3 βήματα. Η συνέλευση αποδεικνύει κάτι τέτοιο:


Η οθόνη είναι μικρή, είναι αδύνατο να τοποθετηθεί και ο χρόνος και η θερμοκρασία έτσι ώστε να είναι ορατή. Επομένως, το ρολόι αλλάζει τον χρόνο με μια ανάγνωση θερμοκρασίας κάθε 10 δευτερόλεπτα.
attiny85_oled_spi_term_2.rar [2.33 Kb] (λήψεις: 574)

Attiny 85
Σύνολο ψηφοφόρων: 118
9.3
10
8.7

Προσθέστε ένα σχόλιο

    • χαμόγελοχαμογελάειxaxaΕντάξειdontknowyahoonea
      αφεντικόξυστάανόητοςναιναι-ναιεπιθετικήμυστικό
      Συγγνώμηχορόςdance2dance3συγχώρησηβοήθειαποτά
      σταματήστεφίλουςκαλόgoodgoodσφυρίχτρασυρρέουνγλώσσα
      καπνόςπαλαμάκιαcrayδηλώστεαπογοητευτικήdon-t_mentionκατεβάστε
      θερμότηταςirefulγέλιο1mdaσυνάντησηmoskingαρνητική
      not_iποπ κορντιμωρίαδιαβάστετρομάξτεφοβίζειαναζήτηση
      χλευάζωthank_youαυτόto_clueumnikοξείασυμφωνώ
      κακόbeeeblack_eyeblum3ρουζκαυχηθείτεπλήξη
      λογοκρισίαευχαρίστησηsecret2απειλήσουννίκηyusun_bespectacled
      shokrespektlolπροβλέπουνκαλωσορίστεkrutoyya_za
      ya_dobryiβοηθόςne_huliganne_othodifludαπαγόρευσηκοντά
13 σχόλια
Vseslav
Ευχαριστώ, ευχαριστώ!
Ο συγγραφέας
Καλησπέρα Δεν χρησιμοποίησα τη βιβλιοθήκη από το Digispart. Έχουν ένα πολύ μεγάλο bootloader, μαζί με το σκίτσο του ρολογιού δεν ταιριάζει. Χρησιμοποίησα τη βιβλιοθήκη TinyOzOLED. Δεν έχει ρωσικά. Σε γενικές γραμμές, με Attiny 85 είναι δύσκολο, υπάρχει πολύ λίγη μνήμη.
Vseslav
Λοιπόν σκέφτηκε και έκανε, ένα μικρό ελάττωμα - οι επιγραφές στο Aglitsky. Μπορούν απλώς να ανταλλάσσονται ως ρωσικά, ή είναι δύσκολο για το Digispark να το κάνει αυτό;
Ο συγγραφέας
Καλησπέρα Τα ρολόγια σε πραγματικό χρόνο καταλαμβάνουν αρκετό χώρο, δεν θα χωρέσουν σε αυτή την περίπτωση.
Γιατί να μην βάλουμε ρολόι σε πραγματικό χρόνο αντί για αισθητήρα θερμοκρασίας;
Ο συγγραφέας
Μια άλλη άκρη, μια LED είναι συνδεδεμένη με το Digispar Attiny 85 P1, αν χρησιμοποιείτε αυτόν τον ακροδέκτη, εξετάστε την παρουσία του. Έγραψα αυτή τη δίοδο στο σκάφος μου, αφού κατά τη γνώμη μου παρεμβαίνει μόνο.
Ο συγγραφέας
Καλησπέρα Δεν υπάρχει λόγος να κάνουμε ένα pull-up με αντίσταση, καθώς το ανάρτημα ενσωματωμένο στο Attiny περιλαμβάνεται στο σκίτσο. Αφαιρέστε το χερούλι σας και δοκιμάστε ξανά.
Μπορείτε επίσης να δοκιμάσετε ένα άλλο σκίτσο από τα άλλα ρολόγια μου, έχουν τον ίδιο ελεγκτή και οθόνη και η ρύθμιση γίνεται με ένα κουμπί:
https://elm.imdmyself.com/14217-chasy-s-termometrom-na-attiny.html
Guest Roman
Καλημέρα. Σας ευχαριστώ για την ιδέα και την εργασία. Μόνο τα χέρια μου δεν είναι έτσι, ή δεν καταλαβαίνω. Τα κουμπιά ρύθμισης ώρας δεν λειτουργούν κανονικά. Δοκίμασα τόσο το σκιά μου όσο και τη δική μου, στο μόνο μου πρόσθεσε την λειτουργία ακίδων των κουμπιών εισόδου και έβγαλε 10k σε 5V. Και σε αυτό και στο ότι το κουμπί δεν κατάλαβε πώς να πιέσει για να αλλάξει. Ή έχω καθυστερήσει ή κάτι δεν πάει καλά με τα κουμπιά, το συνηθισμένο ρολόι.
δροσερή οθόνη. Αλλά λυπημένος. Η μνήμη RAM τρώει πολλά.
Είστε κύριος! συμπίεση σε ένα tinku85 τέτοια.
Ο συγγραφέας
Έχετε δίκιο, έκανα τυπογραφία, 2,8 x 2,8 cm
Απόσπασμα: maxim0512
Όχι μόνο ταιριάζει στην υπόθεση.
Ανά περιοχή, μπορείτε να κάνετε εκατό φορές περισσότερα από όσα πρότεινα.
Ο συγγραφέας
Όχι μόνο ταιριάζει στην υπόθεση. Υπάρχουν μόνο δύο κουμπιά, μια αντίσταση και ένας αισθητήρας θερμοκρασίας. Τα πάντα ταιριάζουν.
... κομμένη πλακέτα κυκλώματος όχι μεγαλύτερη από 2,8 x 2,8 mm
Δεν θα είναι αρκετό. )))

Σας συμβουλεύουμε να διαβάσετε:

Κάντε το για το smartphone ...