Πίνακας περιεχομένων:
- Βήμα 1: Συγκέντρωση των εξαρτημάτων
- Βήμα 2: Συναρμολόγηση του κυκλώματος
- Βήμα 3: Ρύθμιση της οθόνης και του ρολογιού LCD
- Βήμα 4: Κωδικοποίηση
- Βήμα 5: Timeρα για δοκιμές
- Βήμα 6: Ρύθμιση εφαρμογής Bluetooth
- Βήμα 7: Χτίζοντας την υπόθεση
- Βήμα 8: Τέλειωσε
Βίντεο: Ξυπνητήρι Sunrise με οθόνη LCD και εφαρμογή Bluetooth: 8 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:36
Ο χειμώνας μπορεί να είναι θλιβερός. Ξυπνάς, είναι σκοτεινό και πρέπει να σηκωθείς από το κρεβάτι. Το τελευταίο πράγμα που θέλετε να ακούσετε είναι ο ενοχλητικός ήχος του ξυπνητηριού σας. Εάν εσείς, όπως και εγώ, έχετε πρόβλημα να ξυπνήσετε το πρωί, αυτό το ξυπνητήρι είναι ακριβώς αυτό που χρειάζεστε.
Σε αυτό το σεμινάριο, πρόκειται να δημιουργήσουμε ένα ξυπνητήρι Sunrise. Είναι ξυπνητήρι όπως κάθε άλλο, καθώς μπορείτε να ορίσετε την ώρα και το λεπτό που θέλετε να ξυπνήσετε, αλλά με το όφελος να χρησιμοποιήσετε το φως για να φωτίσετε το υπνοδωμάτιό σας για κάποιο χρονικό διάστημα, όπως μια ανατολή για να σας ξυπνήσει αντί για ενοχλητικό βομβητής!
Θα χρησιμοποιήσουμε επίσης μια μονάδα bluetooth για να δημιουργήσουμε μια εφαρμογή που σας επιτρέπει να ρυθμίσετε το ξυπνητήρι μέσω του τηλεφώνου σας στο ρολόι. Η οθόνη LCD θα δείχνει την ώρα, την ημερομηνία και την ημέρα της εβδομάδας. Οι λαμπτήρες ηλιοφάνειας υπάρχουν στην αγορά, αλλά μπορεί να είναι ακριβοί (μια γρήγορη αναζήτηση στο Google επιστρέφει προϊόντα της τάξης των 100 €), εύθραυστα και αρκετά κλινικά. Γι 'αυτό αποφάσισα να φτιάξω το δικό μου για το Arduino School Project μου. Όλα τα μέρη θα αναφέρονται στο επόμενο βήμα. Μπορείτε να κατεβάσετε τον κωδικό από το Github repo sunrise-alarm-ξυπνητήρι μου. Ας ξεκινήσουμε:)
Όλος ο κωδικός μπορεί να βρεθεί στη διεύθυνση:
Βήμα 1: Συγκέντρωση των εξαρτημάτων
Θα χρησιμοποιήσουμε ένα ρολόι ως είσοδό μας και ένα εξαιρετικά φωτεινό LED ως έξοδο για να προσομοιώσουμε την ανατολή μας.
Για την κατασκευή του κυκλώματος θα χρειαστούμε:
- Arduino Uno- clockmodule RTC DS3231 - ένα MOSFET για τον έλεγχο της φωτεινότητας του φωτός - ένα υπερ -φωτεινό LED (αγόρασα 2, ένα ζεστό, ένα κρύο) - μπαταρία 9V για να τροφοδοτήσει το LED - ένα breadboard- μια οθόνη LCD (16: 2)- Προσαρμογέας Bluetooth hc-05, ώστε να μπορούμε να χρησιμοποιήσουμε μια εφαρμογή για να ρυθμίσουμε το ξυπνητήρι.
Όλα όσα χρειάζεστε μπορούν να αγοραστούν στο www.martoparts.nl
Βήμα 2: Συναρμολόγηση του κυκλώματος
Μπορείτε να ανατρέξετε στο σκίτσο για το κύκλωμά μου, δυστυχώς δεν βρήκα το RTC DS3231 στο πρόγραμμα, οπότε έπρεπε να κάνω με αυτό. Οι συνδέσεις είναι λίγο διαφορετικές στην πραγματικότητα, εδώ είναι οι συνδέσεις. (η μονάδα bluetooth δεν υπάρχει στο σκίτσο, αλλά θα εξηγήσω πώς λειτουργεί παρακάτω, προκαλώντας μάλλον περίπλοκο)
Το RTC DS3231GND πηγαίνει στο GND στο arduino
Το VCC πηγαίνει στα 5v
Το SDA πηγαίνει στο arduino
Το SCL πηγαίνει στο arduino Δεν θα χρησιμοποιήσουμε SQW & 32KMOSFET
Ο πείρος πύλης πηγαίνει στην καρφίτσα ~ 9 στο Arduino Uno επειδή είναι PWM Ο πείρος αποστράγγισης πηγαίνει στην αρνητική πλευρά του LED Ο πείρος πηγής πηγαίνει στο GND στο ArduinoLCD-DisplayGND πηγαίνει στο GND στο arduino
Το VCC πηγαίνει στο A4 στο arduino Το SKL πηγαίνει στο A5 στο arduino
Η μονάδα Bluetooth hc-055V πηγαίνει στα 5V από το arduino
Το GND πηγαίνει στο GND στο arduino
Τώρα υπάρχουν άλλες 2 είσοδοι, αλλά εδώ έρχεται το δύσκολο κομμάτι, πρέπει να συνδέσουμε τις αντίθετες εισόδους αυτών των 2 στο arduinoTX από το hc-05 πηγαίνει στο RX στο arduinoRX από το hc-05 πηγαίνει στο TX στο arduino
Σημαντικό: Βεβαιωθείτε ότι ΑΠΟΣΥΝΔΕΣΕΤΕ το TX & RX από το HC-05 όταν ανεβάζετε κώδικα στο arduino σας ή θα λάβετε ένα σφάλμα που λέει "κάτι πήγε στραβά με τη μεταφόρτωση του κώδικα" στον μεταγλωττιστή.
Βήμα 3: Ρύθμιση της οθόνης και του ρολογιού LCD
Η βιβλιοθήκη που χρησιμοποιείται για την οθόνη LCD είναι υγρό κρύσταλλο και μπορείτε να τη βρείτε στη διεύθυνση: https://github.com/fdebrabander/Arduino-LiquidCrys… Κατεβάστε το αρχείο zip, αποθηκεύστε το και τοποθετήστε το στο φάκελο Arduino/βιβλιοθήκες
Η βιβλιοθήκη που χρησιμοποιώ για την εκτέλεση του ρολογιού μπορεί να βρεθεί στη διεύθυνση Rinky-Dinky Electronics https://www.rinkydinkelectronics.com/library.php?id=73 και βεβαιωθείτε ότι βρίσκεστε στη σελίδα DS3231. Κατεβάστε το αρχείο zip, αποθηκεύστε το και τοποθετήστε το στο φάκελο βιβλιοθηκών του Arduino.
χρόνος
Συμπεριλάβετε τη βιβλιοθήκη DS3231 ή DS1307 στον κωδικό arduino σας
Αποσυνδέστε αυτές τις 3 γραμμές κώδικα για να ορίσετε την ώρα:
// rtc.setDOW (ΔΕΥΤΕΡΑ); // Ορισμός ημέρας-εβδομάδας σε ΚΥΡΙΑΚΗ // rtc.setTime (23, 57, 0); // Ορίστε την ώρα στις 12:00:00 (μορφή 24 ωρών) // rtc.setDate (14, 1, 2019). // Ορίστε την ημερομηνία την 1η Ιανουαρίου 2014
Οθόνη LCD
Συμπεριλάβετε τη βιβλιοθήκη liqduicrystal_i2c στον κώδικα arduino σας
Για εκτύπωση στην οθόνη LCD χρησιμοποιήστε
lcd.setCursor (col, row) // θέση κειμένου τυπωμένοlcd.print (~) // εκτυπωμένο κείμενο
Βήμα 4: Κωδικοποίηση
Κατεβάστε τον κώδικα στο: github:
Μην σχολιάσετε αυτές τις 3 γραμμές για να ρυθμίσετε το ρολόι στην οθόνη LCD:
// rtc.setDOW (ΔΕΥΤΕΡΑ); // Ορισμός ημέρας-εβδομάδας σε ΚΥΡΙΑΚΗ // rtc.setTime (23, 57, 0); // Ορίστε την ώρα στις 12:00:00 (μορφή 24 ωρών) // rtc.setDate (14, 1, 2019). // Ορίστε την ημερομηνία την 1η Ιανουαρίου 2014
Χρησιμοποιήστε το lcd.setCuros (col, row); για να ρυθμίσετε τη θέση του κειμένου στην οθόνη
lcd.setCursor (0, 2);
και εκτύπωση () για να εκτυπώσετε κάτι στην οθόνη
lcd.print (rtc.getDateStr ());
Αλλάξτε αυτές τις μεταβλητές αν θέλετε
int fadeTime = 1; // Πόσο καιρό θα σβήσει το φως στο maxint setHour = 02; // Ορισμός ωρών αφύπνισης (στρατιωτικός χρόνος) int setMin = 49; // Ρύθμιση λεπτού για αφύπνιση int uled = 9; // Ρύθμιση pinout με PWM
Κωδικός μονάδας Bluetooth
String firstHalf = getValue (είσοδος, ':', 0); // ελέγξτε την πρώτη εισαγωγή μέχρι ":"
String secondHalf = getValue (είσοδος, ':', 1); // ελέγξτε τη δεύτερη είσοδο μετά το ":"
// χρησιμοποιήστε αυτόν τον κωδικό εάν δεν χρησιμοποιείτε τη μονάδα bluetooth
// // if (t.hour == setHour && t.min == setMin) // Ελέγξτε αν ήρθε η ώρα να ξυπνήσετε! // {// έναρξη (); //}
// ελέγξτε τα πρώτα 2 ψηφία εισόδους και, στη συνέχεια, ελέγξτε τα δεύτερα 2 ψηφία εισόδου
εάν (t.hour == firstHalf.toInt () && t.min == secondHalf.toInt ()) {start (); }}
// λογική για διαχωρισμό συμβολοσειρών
String getValue (Δεδομένα συμβολοσειράς, διαχωριστής χαρακτήρων, ευρετήριο int) {int found = 0; int strIndex = {0, -1}; int maxIndex = data.length () - 1;
για (int i = 0; i <= maxIndex && found <= index; i ++) {if (data.charAt (i) == διαχωριστής || i == maxIndex) {found ++; strIndex [0] = strIndex [1] + 1; strIndex [1] = (i == maxIndex); i+1: i; }} επιστροφή βρέθηκε> ευρετήριο; data.substring (strIndex [0], strIndex [1]): ""; }
Βήμα 5: Timeρα για δοκιμές
Συγκεντρώστε τον κωδικό και τη δοκιμή σας εάν τα εξαρτήματα λειτουργούν!
Βήμα 6: Ρύθμιση εφαρμογής Bluetooth
Επειδή μου φάνηκε ενοχλητικό να ψάχνω τον κώδικα κάθε φορά που ήθελα να θέσω ξυπνητήρι, ήθελα να φτιάξω μια εφαρμογή που θα θέσει το ξυπνητήρι, κάτι που είναι πολύ πιο εύκολο.
Μεταβείτε στη διεύθυνση https://ai2.appinventor.mit.edεδώ όπου μπορούμε να φτιάξουμε μια απλή εφαρμογή που μας επιτρέπει να θέσουμε το ξυπνητήρι, έχω συμπεριλάβει την απλή ρύθμιση σχεδίασης (μπορείτε πάντα να το αλλάξετε αργότερα) και τον κώδικα που χρησιμοποιείται για σύνδεση bluetooth. Στη συνέχεια, μπορείτε να δημοσιεύσετε την εφαρμογή σας και να συνδεθείτε με αυτήν στο τηλέφωνό σας χρησιμοποιώντας έναν κωδικό QR ή κατεβάζοντας απευθείας την εφαρμογή στον υπολογιστή σας και, στη συνέχεια, μεταφέροντάς την με καλώδιο στο τηλέφωνό σας. (στιγμιότυπο οθόνης)
Βήμα 7: Χτίζοντας την υπόθεση
Μπορείτε πάντα να δημιουργήσετε μια διαφορετική θήκη γύρω από το ρολόι arduino σας. Χρησιμοποίησα ξύλο και ματ πλεξιγκλάς για να φτιάξω τη δική μου θήκη ξυπνητηριού. Επέλεξα ματ πλεξιγκλάς για να βλέπετε το φως να λάμπει καθαρά μέσα στη θήκη αλλά δεν μπορείτε να δείτε το εσωτερικό του ρολογιού.
Βήμα 8: Τέλειωσε
Τώρα που έχετε ανεβάσει τον κωδικό στο arduino σας, φτιάχνετε τη θήκη και ελέγχετε αν έχετε συναρμολογήσει σωστά το ρολόι σας, μπορείτε να ρυθμίσετε ένα ξυπνητήρι στην εφαρμογή bluetooth και να αρχίσετε να ξυπνάτε πιο φυσικά!:)
Συνιστάται:
Έξυπνο Ξυπνητήρι: Ένα Έξυπνο Ξυπνητήρι Με Raspberry Pi: 10 Βήματα (με Εικόνες)
Έξυπνο Ξυπνητήρι: Ένα Έξυπνο Ξυπνητήρι Κατασκευασμένο Με Βατόμουρο Π: Θέλατε ποτέ ένα έξυπνο ρολόι; Αν ναι, αυτή είναι η λύση για εσάς! Έφτιαξα το Smart Alarm Clock, αυτό είναι ένα ρολόι που μπορείτε να αλλάξετε την ώρα αφύπνισης σύμφωνα με τον ιστότοπο. Όταν χτυπήσει το ξυπνητήρι, θα ακουστεί ένας ήχος (βομβητής) και 2 φώτα θα
Οθόνη LCD I2C / IIC - Μετατρέψτε μια οθόνη SPI LCD στην οθόνη LCD I2C: 5 βήματα
Οθόνη LCD I2C / IIC | Μετατρέψτε ένα SPI LCD σε οθόνη I2C LCD: η χρήση της οθόνης spi LCD χρειάζεται πάρα πολλές συνδέσεις για να γίνει κάτι που είναι πραγματικά δύσκολο να το κάνω, έτσι βρήκα μια μονάδα που μπορεί να μετατρέψει το i2c LCD σε spi LCD οπότε ας ξεκινήσουμε
Οθόνη θερμοκρασίας και επιπέδου φωτός με οθόνη στην οθόνη NOKIA 5110: 4 βήματα
Οθόνη θερμοκρασίας και φωτός με οθόνη στην οθόνη NOKIA 5110: Γεια σε όλους! Σε αυτήν την ενότητα κατασκευάζουμε απλή ηλεκτρονική συσκευή για την παρακολούθηση της θερμοκρασίας και του επιπέδου φωτός. Οι μετρήσεις αυτών των παραμέτρων εμφανίζονται στην οθόνη LCD NOKIA 5110. Η συσκευή βασίζεται στον μικροελεγκτή AVR ATMEGA328P. Η παρακολούθηση
8 Έλεγχος ρελέ με NodeMCU και δέκτη IR χρησιμοποιώντας WiFi και IR Τηλεχειριστήριο και εφαρμογή Android: 5 βήματα (με εικόνες)
8 Έλεγχος ρελέ με δέκτη NodeMCU και IR χρησιμοποιώντας WiFi και IR Τηλεχειριστήριο και εφαρμογή Android: Έλεγχος 8 διακοπτών ρελέ χρησιμοποιώντας nodemcu και δέκτη ir μέσω wifi και ir απομακρυσμένης και εφαρμογής Android. Το ir remote λειτουργεί ανεξάρτητα από τη σύνδεση wifi. ΕΔΩ ΕΙΝΑΙ ΕΝΗΜΕΡΩΜΕΝΗ ΚΛΙΚ ΕΔΩ
LED Ξυπνητήρι Sunrise με Προσαρμόσιμο Ξυπνητήρι Τραγουδιού: 7 Βήματα (με Εικόνες)
LED Ξυπνητήρι Sunrise με Προσαρμόσιμο Ξυπνητήρι Τραγουδιού: Το Κίνητρό μου Αυτό το χειμώνα η κοπέλα μου είχε πολύ πρόβλημα να ξυπνήσει το πρωί και φαινόταν να πάσχει από SAD (Seasonal Affective Disorder). Παρατηρώ μάλιστα πόσο πιο δύσκολο είναι να ξυπνάς το χειμώνα αφού ο ήλιος δεν έχει έρθει