Πίνακας περιεχομένων:
Βίντεο: Μεγάλο ρολόι LCD Arduino με δύο συναγερμούς και οθόνη θερμοκρασίας που ελέγχεται από IR TV Τηλεχειριστήριο: 5 βήματα
2025 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2025-01-13 06:57
Πώς να φτιάξετε ένα ρολόι LCD με βάση το Arduino με δύο συναγερμούς και οθόνη θερμοκρασίας που ελέγχονται από το τηλεχειριστήριο IR TV.
Βήμα 1: Περιγραφή
Πρόκειται για ένα ρολόι LCD κατασκευασμένο με μονάδα ρολογιού πραγματικού χρόνου DS3231, το οποίο σε αντίθεση με το DS1307 έχει τη δυνατότητα συναγερμού και οθόνης θερμοκρασίας. Σε αυτήν την περίπτωση, η οθόνη LCD εμφανίζει την ημερομηνία, την ώρα, δύο συναγερμούς και επίσης την τρέχουσα θερμοκρασία. Και το πιο ενδιαφέρον μέρος είναι ότι οι πλήρεις ρυθμίσεις του ρολογιού καθώς και η σίγαση του συναγερμού γίνονται μέσω του τηλεχειριστηρίου της τηλεόρασης.
Βήμα 2: Μέρη
Εξαρτήματα υλικού που απαιτούνται για την κατασκευή:
-Πίνακας Arduino
-DS3231 RTC σανίδα
-Οθόνη LCD 20Χ4
-I2C Arduino LCD Display Module
-RC5 πρωτόκολλο IR τηλεχειριστήριο
-IR δέκτης
-LED
-Βομβητής
-220 Ohm αντίσταση
Βήμα 3: Χτίσιμο
Ο βασικός κώδικας λαμβάνεται από την ιστοσελίδα απλού κυκλώματος και έκανα μερικές αλλαγές: Για απλότητα, πρόσθεσα μια μονάδα I2C στην οθόνη LCD και τροποποίησα τον κώδικα ανάλογα. Πρόσθεσα επίσης ένα μικρό βομβητή που παράγει ήχο με δεδομένη συχνότητα ενώ ο συναγερμός είναι ενεργός.
Ο πίνακας DS3231 παρέχεται με 5V ως LCD 20x4 και δέκτη IR, αυτό το 5V προέρχεται από την πλακέτα Arduino, υπάρχουν 3 δεδομένα που συνδέονται μεταξύ αυτής της πλακέτας και του Arduino, η γραμμή SCL συνδέεται με την αναλογική ακίδα 5, η SDA συνδέεται με ο αναλογικός πείρος 4 και η γραμμή INT συνδέονται με τον ψηφιακό ακροδέκτη 2 που είναι ο εξωτερικός ακροδέκτης διακοπής του Arduino (INT0). Το DS3231 διακόπτει τον μικροελεγκτή όταν υπάρχει συναγερμός (alarm1 ή alarm2). Ο δέκτης IR έχει 3 ακίδες: GND, VCC και OUT όπου ο πείρος OUT είναι συνδεδεμένος με τον ακροδέκτη Arduino 3 που είναι εξωτερικός ακροδέκτης διακοπής (INT1). Το LED που είναι συνδεδεμένο στο Arduino pin 10 χρησιμοποιείται ως δείκτης συναγερμού (alarm1 ή alarm2), οπότε εάν υπάρχει συναγερμός, το DS3231 κατεβάζει τον πείρο INT που διακόπτει τον μικροελεγκτή (ATmega328P) και ο μικροελεγκτής ανάβει το LED, εδώ ένα κουμπί στο τηλεχειριστήριο σβήνει και τη λυχνία LED και τον συναγερμό που συνέβη. Πρέπει να αποκωδικοποιήσουμε το τηλεχειριστήριό μας για να γνωρίζουμε τον κωδικό κάθε κουμπιού επειδή πρέπει να τον προσθέσουμε στο λογισμικό Arduino (κωδικός).
Βήμα 4: Τηλεχειριστήριο
Το τηλεχειριστήριο που χρησιμοποιείται σε αυτό το έργο είναι τηλεχειριστήριο TV IR με πρωτόκολλο RC5, είναι αυτό που φαίνεται παρακάτω (τα χρησιμοποιημένα κουμπιά είναι αριθμημένα):
Κωδικός λειτουργίας κουμπιού (εξαγωνική μορφή)
1 Αύξηση 0x20
2 Ορίστε ώρα και ημερολόγιο 0x10
3 Μείωση 0x21
4 Ορίστε συναγερμούς 0x11
5 Επαναφορά συναγερμών 0x0C
Σημειώστε ότι αυτός ο κωδικός πρέπει να χρησιμοποιεί το τηλεχειριστήριο με το πρωτόκολλο RC5 και τις περισσότερες φορές τέτοιες απομακρυσμένες συσκευές χρησιμοποιούνται από παλαιότερες συσκευές Philips. Παρακάτω είναι ένας απλός κώδικας "Finder πρωτοκόλλου IR" που σας επιτρέπει να προσδιορίσετε εύκολα το πρωτόκολλο οποιουδήποτε τηλεχειριστηρίου, καθώς και την τιμή κάθε κουμπιού. Η εικόνα δείχνει το τηλεχειριστήριο που χρησιμοποίησα με τις επισημασμένες τιμές και λειτουργίες των κουμπιών.
Βήμα 5: Σχηματικό και Κωδικός
Παρακάτω παρουσιάζεται ένας μικρός κώδικας για τον προσδιορισμό του τύπου πρωτοκόλλου και των τιμών των κουμπιών του ελεγκτή IR και του πλήρους κωδικού ρολογιού