» Ηλεκτρονικά » Arduino »Δυαδικό ρολόι με συναγερμό και χρονοδιακόπτη στο Arduino Uno

Δυαδικό ρολόι με συναγερμό και χρονοδιακόπτη στο Arduino Uno


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

Από την πλευρά των ηλεκτρονικών, ένα δυαδικό ρολόι δεν είναι ιδιαίτερα περίπλοκο, αλλά ο συγγραφέας περιπλέκει το έργο και αποφασίζει να μην σώσει τα κουμπιά και τις λυχνίες LED. Αρχικά, στο έργο επρόκειτο να χρησιμοποιηθούν 22 LED, 6 κουμπιά και ένα tweeter. Ήταν επίσης μια ιδέα να συγκεντρωθεί ένα ρολόι στο Arduino Mega εξαιτίας ενός μεγαλύτερου αριθμού καρφίτσες, αλλά οι καταχωρητές μετατόπισης 74HC595 αποδείχτηκαν σωτηρία.

Υλικά:
- Arduino Uno
- 2 πίνακες πλήρους μεγέθους
- LED κόκκινα 7 τεμ
- Πράσινο LED 7 τεμ
- Μπλε LED 6 τεμ
- 2 κίτρινες και λευκές λυχνίες LED
- Αστάτες 220 ohms 25 τεμ
- Piezo buzzer 1 τεμ
- 6 κουμπιά κουμπιών τακτικής
- Καταχωρητές εξόδου αλλαγής ταχυτήτων 74HC595 σε συσκευασία DIP-16 3 τεμ
- Σύνδεση καλωδίων 90 τεμ
- Μονάδα ρολογιού πραγματικού χρόνου που βασίζεται στο chip DS1307 RTC

Πώς όλα θα λειτουργήσουν.
Υπάρχουν περίπου 10 τύποι δυαδικών ρολογιών. Ορισμένοι εμφανίζουν χρόνο σε μορφή δυαδικών ψηφίων (BCD), άλλοι ως δυαδικοί αριθμοί. Δεδομένου ότι ο συγγραφέας δεν αρέσει ιδιαίτερα το ρολόι BCD, αποφάσισε να κάνει το καθαρό δυαδικό του. Μερικοί άνθρωποι δυσκολεύονται να διαβάσουν, αλλά η διαφορά δεν είναι μεγάλη, διότι η μετάφραση αριθμών από δυαδικό σε δεκαδικό είναι εύκολη. Επίσης, προϋπόθεση για τον δημιουργό του ρολογιού ήταν η ένδειξη των δευτερολέπτων στο ρολόι.

Επιπλέον, το ρολόι διαθέτει 6 κουμπιά:
Ορισμός - είναι υπεύθυνος για τη λειτουργία ρύθμισης ρολογιού / συναγερμού και την αποθήκευση της παραμέτρου στη λειτουργία ρύθμισης.
Λειτουργία - υπεύθυνη για την εναλλαγή μεταξύ των λειτουργιών ρολογιού, αφύπνισης και χρονοδιακόπτη.
Μέχρι - στη ρύθμιση ρολογιού / συναγερμού / χρονοδιακόπτη, αυξάνεται η παράμετρος κατά μία. Στο ξυπνητήρι και στον χρονοδιακόπτη, είναι υπεύθυνος για την ενεργοποίηση και απενεργοποίηση της επιλεγμένης λειτουργίας. Όταν ενεργοποιείται ένα σήμα, θα απενεργοποιηθεί το σήμα συναγερμού / χρονοδιακόπτη.
Κάτω - στη ρύθμιση ρολογιού / συναγερμού / χρονοδιακόπτη, θα μειώσει την παράμετρο κατά μία. Ο χρονοδιακόπτης θα τον διακόψει χωρίς να επαναφέρει την αντίστροφη μέτρηση. Όταν ο συναγερμός σβήσει, θα μεταφέρει το σήμα για 5 λεπτά.
24/12 - αλλάξτε τη μορφή ώρας.
Dim - υπεύθυνος για την ενεργοποίηση και απενεργοποίηση των LED (όταν οι λυχνίες LED είναι απενεργοποιημένες, τα υπόλοιπα κουμπιά σταματούν να λειτουργούν).
Διάγραμμα τοποθέτησης LED:
Δυαδικό ρολόι με συναγερμό και χρονοδιακόπτη στο Arduino Uno


Σύνδεση εξαρτήματος
Ο συντάκτης θα συνδέσει όλα τα LED σε σειρά και με αντίσταση. Η αντίσταση είναι συγκολλημένη σε ένα από τα τερματικά των LED, δεν έχει σημασία ποιο από αυτά. Οι λυχνίες LED θα συνδεθούν μέσω καταχωρητών ολίσθησης, ενώ το τσιπ έχει 16 επαφές.Αυτός ο αριθμός των ακίδων σας επιτρέπει να χρησιμοποιήσετε μεγάλο αριθμό καρφίτσες, λαμβάνοντας μόνο 3 ακίδες στο Arduino.

Κλείστρο καταγραφής αλλαγής ταχυτήτων 74HC595:
Q0-Q7 είναι τα ευρήματα του μητρώου στα οποία θα συνδεθούν τα LED.
Vcc - μια πηγή τροφοδοσίας 5V θα εφαρμοστεί σε αυτό.
GND - γείωση συνδεδεμένο με το GND στο Arduino.
OE - ο ακροδέκτης είναι υπεύθυνος για την ανεστραμμένη ενεργοποίηση των ακίδων, αλλά δεν θα χρησιμοποιηθεί, απλώς βραχυκυκλωμένος στη γείωση.
Το MR είναι μια εκκαθάριση ανεστραμμένου μητρώου, δεν χρειάζεται να ελέγχεται, επομένως θα συνδεθεί με τροφοδοσία ισχύος 5V.
Το ST_CP - pin είναι υπεύθυνο για την ενημέρωση της κατάστασης του μητρώου. Κατά την καταγραφή της κατάστασης, είναι απαραίτητο να εφαρμοστεί LOW σε αυτό, μετά την εγγραφή - HIGH, για να ενημερώσετε την κατάσταση των εξόδων. Πρέπει να συνδεθεί με μια καρφίτσα στο Arduino. Μπορείτε να συνδέσετε αυτήν την ακίδα σε τρεις καταχωρητές παράλληλα.
SH_CP - pin, υπεύθυνος για τη μετατόπιση κατά 1 bit του μητρώου. Πρέπει να συνδεθεί με μια καρφίτσα στο Arduino. Συνδέονται επίσης σε μικροκυκλώματα παράλληλα.
DS - τα δεδομένα αποστέλλονται σε αυτόν τον ακροδέκτη, συνδέονται με τον πείρο στο Arduino.
Q7 '- αυτός ο ακροδέκτης χρησιμοποιείται για σύνδεση σε σειρά με άλλους καταχωρητές 74HC595.

Διάγραμμα συνδεσμολογίας:


Ο πιεζοηλεκτρικός βομβητής θα συνδεθεί στην τρίτη καρφίτσα Arduino σε σειρά με την αντίσταση. Πριν συμπεριλάβει το tweeter στο κύκλωμα, ο συγγραφέας εξέτασε ποια ακίδες υποστηρίζουν PWM, δεδομένου ότι αυτό είναι υποχρεωτικό γι 'αυτήν. Στο Arduino Uno, το PWM υποστηρίζει 3, 5, 6, 9, 10 και 11 ακίδες.


Τα κουμπιά συνδέονται χρησιμοποιώντας αντιστάσεις ενσωματωμένες στο Arduino, με μία πλευρά των κουμπιών που συνδέονται με το έδαφος και η άλλη με τους ακροδέκτες Arduino.


Έτσι, ο τελικός σχεδιασμός φαίνεται:


Κατασκευάστηκε στο Breadboard
Μετά την απόκτηση πρόσθετων λεπτομερειών, ο συγγραφέας ξεκίνησε τη συναρμολόγηση του σχεδίου σε ένα χαρτόνι σύμφωνα με τα σχέδια. Η εμφάνιση ήταν έτοιμη να αναμένεται, επειδή ο Breadboard περιορίζει την ελευθερία στην τοποθέτηση εξαρτημάτων και τα προεξέχοντα σύρματα δεν δημιουργούν αισθητική ευχαρίστηση. Αλλά το breadboard τελικά προορίζεται για μοντέλα breadboard, αλλά όχι για τελικές συσκευές.


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

Το σκίτσο βγήκε αρκετά μεγάλο, τότε μπορείτε να εξετάσετε τα κύρια χαρακτηριστικά του.

Λειτουργία LED.
Δεδομένου ότι οι οδηγήσεις έχουν πρόσβαση μέσω του μητρώου μετατόπισης, πρώτα απ 'όλα, ήταν απαραίτητο να εφαρμοστούν περισσότερες ρουτίνες για τα LED. Για ευκολότερη λειτουργία με δίοδοι, έχουν υλοποιηθεί διάφορες πρόσθετες λειτουργίες. Διαφορετικά αποτελέσματα των κινούμενων εικόνων των διόδων υλοποιούνται. Όταν δεν έχει οριστεί το ρολόι, οι διόδους που είναι υπεύθυνες για τις ώρες και τα λεπτά θα αρχίσουν να αναβοσβήνουν (καθώς το κανονικό ρολόι αναβοσβήνει όταν δεν έχει ρυθμιστεί). Οι ενδεικτικές λυχνίες LED για δευτερόλεπτα έχουν επίσης τη δική τους κίνηση, η δίοδος μπορεί να τρέξει αριστερά και δεξιά στη λειτουργία συναγερμού ή στη λειτουργία ρύθμισης ρολογιού.

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

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


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


Έχοντας μελετήσει αυτό το πρόβλημα, διαπιστώθηκε ότι το αρχικό Arduino Uno χρησιμοποιεί ένα κεραμικό αντηχείο και δεν διαθέτει ακρίβεια για τον χρόνο μέτρησης σε μεγάλες περιόδους. Η πιο ορθολογική λύση ήταν να αγοράσετε ένα ρολόι πραγματικού χρόνου, καθώς και λόγω αυτής της ενότητας, ο χρόνος στο ρολόι δεν θα παραμορφωθεί όταν είναι απενεργοποιημένος. Ο συντάκτης αγόρασε τη μονάδα Grove RTC από το Seeed Studio. Πρόκειται για μια τελική πλακέτα με τσιπ ρολογιών. Ο συγγραφέας συνέδεσε τους ακροδέκτες της μονάδας SDA και SCL με το Arduino στις ακίδες των A4 και A5, GND στο έδαφος. Δεδομένου ότι η ισχύς 5V καταλαμβάνεται από την πλακέτα ρολογιών, δεν υπήρχε πουθενά να συνδέεται η μονάδα. Ο συγγραφέας αποφάσισε να τροφοδοτήσει το δομοστοιχείο από έναν από τους ψηφιακούς ακροδέκτες, ο οποίος θα είναι συνεχώς ενεργοποιημένος.Επίσης, ο συντάκτης χρειάζεται να τροποποιήσει τον πηγαίο κώδικα και να προσθέσει μια βιβλιοθήκη ρολογιών πραγματικού χρόνου.


Παρακολουθήστε συναρμολόγηση
Έχοντας ολοκληρώσει μια μακρά εργασία στον κώδικα, ήρθε η ώρα να δώσετε στη συσκευή μια πλήρη εμφάνιση και να την μεταφέρετε από το breadboard στην πλακέτα τυπωμένου κυκλώματος. Πρώτα απ 'όλα, ήταν απαραίτητο να γίνει η καλωδίωση για το διοικητικό συμβούλιο. Ο Fritzing χρησιμοποιήθηκε για αυτό, αφού ο συγγραφέας είχε ήδη μια ιδέα για την εμφάνιση του ρολογιού, και έχτισε ένα διάγραμμα συσκευών. Ο συγγραφέας παρακολούθησε επίσης χειροκίνητα το διοικητικό συμβούλιο, χρειάστηκε πολύς χρόνος.
Έργο για την παραγωγή τυπωμένων κυκλωμάτων:


Η παραγωγή PCB παραγγέλθηκε στην Κίνα. Το Seeed Studio διαθέτει μια υπηρεσία συμβουλών Fusion PCB. Μέσα από τον Fritzing, το αρχείο εξήχθη στο μορφότυπο Extended Gerber, πολλοί κατασκευαστές χαρτονιού συνεργάζονται μαζί του. Δύο εβδομάδες αργότερα, ο συντάκτης έλαβε την πολυαναμενόμενη χρέωση στο ταχυδρομείο.


Μόνο παρέμεινε για να κολλήσει ήδη λίγο σκονισμένα κομμάτια στο ταμπλό. Το τελικό αποτέλεσμα μετά τη συγκόλληση φαινόταν πολύ καλύτερα από τη διάταξη του Breadboard.


Ο συγγραφέας του έργου εργάστηκε σκληρά για πολύ και πήρε αυτό που ήθελε - ένα μοναδικό δυαδικό ρολόι με χρονοδιακόπτη και ξυπνητήρι. Χρησιμοποιώντας το χώρο μπαταρίας, το ρολόι μπορεί να τοποθετηθεί οπουδήποτε. Ο Arduino ανταποκρίθηκε στις προσδοκίες και αντιμετώπισε πλήρως το έργο.

binclock-master.zip [23.53 Kb] (λήψεις: 175)
10
10
10

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

    • χαμόγελοχαμογελάει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απαγόρευσηκοντά

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

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