Πίνακας περιεχομένων:

Ξυπνητήρι Sunrise με οθόνη LCD και εφαρμογή Bluetooth: 8 βήματα
Ξυπνητήρι Sunrise με οθόνη LCD και εφαρμογή Bluetooth: 8 βήματα

Βίντεο: Ξυπνητήρι Sunrise με οθόνη LCD και εφαρμογή Bluetooth: 8 βήματα

Βίντεο: Ξυπνητήρι Sunrise με οθόνη LCD και εφαρμογή Bluetooth: 8 βήματα
Βίντεο: Ρολόι - Ξυπνητήρι με Βάση Ασύρματης Φόρτισης 10W 2024, Ιούλιος
Anonim
Ξυπνητήρι Sunrise με οθόνη LCD και εφαρμογή Bluetooth
Ξυπνητήρι Sunrise με οθόνη LCD και εφαρμογή Bluetooth
Ξυπνητήρι Sunrise με οθόνη LCD και εφαρμογή Bluetooth
Ξυπνητήρι Sunrise με οθόνη LCD και εφαρμογή Bluetooth

Ο χειμώνας μπορεί να είναι θλιβερός. Ξυπνάς, είναι σκοτεινό και πρέπει να σηκωθείς από το κρεβάτι. Το τελευταίο πράγμα που θέλετε να ακούσετε είναι ο ενοχλητικός ήχος του ξυπνητηριού σας. Εάν εσείς, όπως και εγώ, έχετε πρόβλημα να ξυπνήσετε το πρωί, αυτό το ξυπνητήρι είναι ακριβώς αυτό που χρειάζεστε.

Σε αυτό το σεμινάριο, πρόκειται να δημιουργήσουμε ένα ξυπνητήρι 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
Ρύθμιση της οθόνης και του ρολογιού LCD
Ρύθμιση της οθόνης και του ρολογιού LCD
Ρύθμιση της οθόνης και του ρολογιού 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

Ρύθμιση εφαρμογής Bluetooth
Ρύθμιση εφαρμογής Bluetooth
Ρύθμιση εφαρμογής Bluetooth
Ρύθμιση εφαρμογής Bluetooth
Ρύθμιση εφαρμογής Bluetooth
Ρύθμιση εφαρμογής Bluetooth

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

Μεταβείτε στη διεύθυνση https://ai2.appinventor.mit.edεδώ όπου μπορούμε να φτιάξουμε μια απλή εφαρμογή που μας επιτρέπει να θέσουμε το ξυπνητήρι, έχω συμπεριλάβει την απλή ρύθμιση σχεδίασης (μπορείτε πάντα να το αλλάξετε αργότερα) και τον κώδικα που χρησιμοποιείται για σύνδεση bluetooth. Στη συνέχεια, μπορείτε να δημοσιεύσετε την εφαρμογή σας και να συνδεθείτε με αυτήν στο τηλέφωνό σας χρησιμοποιώντας έναν κωδικό QR ή κατεβάζοντας απευθείας την εφαρμογή στον υπολογιστή σας και, στη συνέχεια, μεταφέροντάς την με καλώδιο στο τηλέφωνό σας. (στιγμιότυπο οθόνης)

Βήμα 7: Χτίζοντας την υπόθεση

Χτίζοντας την υπόθεση
Χτίζοντας την υπόθεση
Χτίζοντας την υπόθεση
Χτίζοντας την υπόθεση
Χτίζοντας την υπόθεση
Χτίζοντας την υπόθεση

Μπορείτε πάντα να δημιουργήσετε μια διαφορετική θήκη γύρω από το ρολόι arduino σας. Χρησιμοποίησα ξύλο και ματ πλεξιγκλάς για να φτιάξω τη δική μου θήκη ξυπνητηριού. Επέλεξα ματ πλεξιγκλάς για να βλέπετε το φως να λάμπει καθαρά μέσα στη θήκη αλλά δεν μπορείτε να δείτε το εσωτερικό του ρολογιού.

Βήμα 8: Τέλειωσε

Πεπερασμένος!
Πεπερασμένος!
Πεπερασμένος!
Πεπερασμένος!
Πεπερασμένος!
Πεπερασμένος!

Τώρα που έχετε ανεβάσει τον κωδικό στο arduino σας, φτιάχνετε τη θήκη και ελέγχετε αν έχετε συναρμολογήσει σωστά το ρολόι σας, μπορείτε να ρυθμίσετε ένα ξυπνητήρι στην εφαρμογή bluetooth και να αρχίσετε να ξυπνάτε πιο φυσικά!:)

Συνιστάται: