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

Ξυπνητήρι Sunrise με Arduino: 9 βήματα (με εικόνες)
Ξυπνητήρι Sunrise με Arduino: 9 βήματα (με εικόνες)

Βίντεο: Ξυπνητήρι Sunrise με Arduino: 9 βήματα (με εικόνες)

Βίντεο: Ξυπνητήρι Sunrise με Arduino: 9 βήματα (με εικόνες)
Βίντεο: Making my own sunrise alarm clock with an RGB light strip and an Arduino for the controller. 2024, Ιούνιος
Anonim
Image
Image
Ξυπνητήρι Sunrise με Arduino
Ξυπνητήρι Sunrise με Arduino

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

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

Οι λαμπτήρες Sunrise υπάρχουν στην αγορά, αλλά μπορεί να είναι ακριβοί (μια γρήγορη αναζήτηση στο Amazon επιστρέφει προϊόντα της γκάμας των 100 λιρών), εύθραυστα και αρκετά κλινικά. Θα κάνουμε κάτι πολύ φθηνότερο και πολύ πιο ωραίο.

Όλα τα μέρη θα αναφέρονται στο επόμενο βήμα. Μπορείτε να κατεβάσετε τον κωδικό από το χρυσό-ανατολή-ρολόι Github. Όλα τα διαγράμματα και τα αρχεία δημιουργίας για την υπόθεση είναι διαθέσιμα για λήψη σε αυτό το σεμινάριο.

Πάμε:)

Αν αντιμετωπίζετε προβλήματα ή θέλετε να πείτε γεια, στείλτε μου μια γραμμή [email protected] ή ακολουθήστε με στο Instagram @celinechappert.

Βήμα 1: Συγκέντρωση των εξαρτημάτων

Συγκέντρωση των εξαρτημάτων
Συγκέντρωση των εξαρτημάτων

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

Για την κατασκευή του κυκλώματος θα χρειαστούμε:

- ένα ρολόι. Θα χρησιμοποιήσουμε το RTC DS3231 (£ 5)

- ένα MOSFET για τον έλεγχο της φωτεινότητας του φωτός (£ 9)

- ένα εξαιρετικά φωτεινό LED (£ 1)

- Μπαταρία 9V για τροφοδοσία του LED (£ 3)

- ένα breadboard για εύκολη συναρμολόγηση (3 £)

- ένα Arduino Uno (20 λίρες)

- ένα κουμπί (προαιρετικό - μόνο για σκοπούς επίδειξης)

Συνολική τιμή = 41 £

Εάν έχετε ήδη ένα Arduino, ένα breadboard και μια μπαταρία 9V στο σπίτι, το όλο έργο θα σας κοστίσει λιγότερο από 15 £.

Για να φτιάξετε την ακρυλική θήκη θα χρειαστείτε:

- 2 φύλλα ακρυλικών φύλλων Perspex 0,3 mm, 1 φύλλο ανά χρώμα για τον ήλιο και τη θήκη.

- πρόσβαση σε λέιζερ-κόπτη.

Είμαι τυχερός που είχα πρόσβαση στο εργαστήριο του σχολείου μου, έτσι αυτά τα έξοδα καλύπτονταν ως επί το πλείστον. Αγόρασα ένα επιπλέον φύλλο ακρυλικού επειδή ο σχεδιασμός μου απαιτούσε μια πορτοκαλί απόχρωση για τον ήλιο, η οποία κόστιζε 14 λίρες/φύλλο (το Perspex είναι ακριβό!).

Βήμα 2: Συναρμολόγηση του κυκλώματος

Image
Image
Συναρμολόγηση του Κυκλώματος
Συναρμολόγηση του Κυκλώματος
Συναρμολόγηση του Κυκλώματος
Συναρμολόγηση του Κυκλώματος

Μπορείτε να ανατρέξετε στο ασπρόμαυρο σκίτσο του κυκλώματός μου (συγχωρέστε το ακατάστατο) και στο διάγραμμα με το Arduino (τελειωμένο με το Fritzing).

Ουσιαστικά εδώ είναι μια ανάλυση του τι συνδέεται με αυτό:

Ρολόι:

(-) συνδέεται με το GND

Το NC σημαίνει "Not Connected" και δεν συνδέεται με τίποτα

Το C/SCL συνδέεται με το pin A5 στο Arduino

Το D/SDA συνδέεται στο pin A4 στο Arduino

(+) συνδέεται με 5V στο Arduino

ΜΟΣΦΕΤ

Η καρφίτσα πύλης πηγαίνει στην καρφίτσα ~ 9 στο Arduino Uno επειδή είναι PWM

Ο πείρος αποστράγγισης πηγαίνει στην αρνητική πλευρά του LED

Η πηγή πηγαίνει στο GND στο Arduino

LED

Η αρνητική πλευρά συνδέεται με τον πείρο αποστράγγισης στο MOSFET

Η θετική πλευρά συνδέεται με 5V στο breadboard

Μπαταρία 9V

(+) έως (+) στο breadboard, το ίδιο με το (-).

Arduino Uno

Θυμηθείτε να συνδέσετε 5V στο (+) στο breadboard και το GND στο (-). Θυμηθείτε να συνδέσετε (-) στη μία πλευρά του ψωμιού με το (-) στην άλλη πλευρά.

Στη συνέχεια, θα ρυθμίσουμε το ρολόι μας χρησιμοποιώντας τη βιβλιοθήκη DS3231.

Βήμα 3: Εγκατάσταση και ρύθμιση του ρολογιού

Εγκατάσταση και ρύθμιση του ρολογιού
Εγκατάσταση και ρύθμιση του ρολογιού
Εγκατάσταση και ρύθμιση του ρολογιού
Εγκατάσταση και ρύθμιση του ρολογιού
Εγκατάσταση και ρύθμιση του ρολογιού
Εγκατάσταση και ρύθμιση του ρολογιού

Η βιβλιοθήκη που χρησιμοποιώ για την εκτέλεση αυτού του ρολογιού μπορεί να βρεθεί στο Rinky-Dink Electronics (screenshots παραπάνω). Κάντε κλικ στον σύνδεσμο και βεβαιωθείτε ότι βρίσκεστε στη σελίδα DS3231. Κατεβάστε το αρχείο zip, αποθηκεύστε το και τοποθετήστε το στο φάκελο Arduino's /libraries.

Τώρα για να ορίσετε τη σωστή ώρα στο ρολόι, ανοίξτε το Arduino και μεταβείτε στα Παραδείγματα/DS3231/Arduino/DS3231_Serial_Easy.

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

Πατήστε Αποστολή.

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

Ανοίξτε το Serial Monitor σας και ελέγξτε ότι η ώρα σας είναι σωστή.

Το ρολόι μας είναι στημένο! Έχουμε το κύκλωμά μας, τώρα ας ξεκινήσουμε την κωδικοποίηση. Και πάλι, το repo είναι διαθέσιμο στο Github.

Βήμα 4: Κωδικοποίηση

Image
Image

Κατεβάστε τον κωδικό και βεβαιωθείτε ότι η βιβλιοθήκη για το DS3231 είναι σωστά εγκατεστημένη.

Αρχικά θέλουμε να ορίσουμε τις ρυθμίσεις μας.

fadeTime είναι το πόσο καιρό το φως θα εξασθενίσει από το 0 στη μέγιστη φωτεινότητα σε λεπτά. Το setHour/setMin αντιστοιχεί στην ώρα που θέλουμε να ξυπνήσουμε (σημείωση: αυτό διαβάζει στρατιωτική μορφή, επομένως απαιτείται 24ωρη ώρα). Ορίζουμε επίσης την ακίδα 9 στο Arduino ως την ΕΞΟΔΟ μας.

Στο setup (), βεβαιωθείτε ότι ο αριθμός SerialBegin (εδώ 96000 baud) αντιστοιχεί στον αριθμό της Serial Monitor.

Στο βρόχο (), μια εντολή if ελέγχει αν είναι ώρα να ξυπνήσετε. Ο κώδικας εκτελείται σε έναν βρόχο, ελέγχοντας κάθε φορά εάν οι τιμές της ώρας και των λεπτών που επιστρέφει το ρολόι αντιστοιχούν στις μεταβλητές setHour/setMin. Εάν συμβαίνει αυτό, η δήλωση if επιστρέφει μια ενεργή () συνάρτηση.

Η συνάρτηση ενεργού () αποτελείται από δύο μέρη. Αρχικά αρχίζουμε να ξεθωριάζουμε το φως σταδιακά: οι λειτουργίες καθυστέρησης είναι εδώ για να αποτρέψουν το LED να γίνει πολύ φωτεινό πολύ νωρίς στα «πρώιμα» στάδια του fadeTime. Στη συνέχεια, ένας βρόχος for ελέγχει την ταχύτητα με την οποία το φως πρέπει να γίνεται πιο έντονο και φωτεινό, ανάλογα με το χρόνο εξασθένισης. Τέλος, κλείνουμε το φως περνώντας μια τιμή 0 στο LED μας στη λειτουργία analogWrite ().

Το παραπάνω βίντεο δείχνει το κύκλωμα που λειτουργεί σε μία από τις πρωτότυπες ακρυλικές θήκες.

Βήμα 5: Πρωτότυπο από χαρτόνι (προαιρετικό)

Πρωτότυπο από χαρτόνι (προαιρετικό)
Πρωτότυπο από χαρτόνι (προαιρετικό)
Πρωτότυπο από χαρτόνι (προαιρετικό)
Πρωτότυπο από χαρτόνι (προαιρετικό)

Πριν από αυτό το έργο, δεν είχα δουλέψει ποτέ με λέιζερ. Η κατασκευή ενός πρωτοτύπου από χαρτόνι μου επέτρεψε να εξοικειωθώ με το μηχάνημα δοκιμάζοντας πόσο καλά φαινόταν το αντικείμενο (μέγεθος, εμφάνιση κλπ) σε πραγματικό χώρο. Σχέδια υπόθεσης για λήψη.

Συνιστάται: