Πίνακας περιεχομένων:
- Βήμα 1: Συσκευή λαμπτήρων
- Βήμα 2: Θεωρία Dimming
- Βήμα 3: Πρακτική εξασθένισης
- Βήμα 4: Ελεγκτής λαμπτήρων (ESP32)
- Βήμα 5: Πίνακας ελέγχου
- Βήμα 6: Απολαύστε
Βίντεο: Φωτεινή ελεγχόμενη λάμπα ανατολής: 6 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:32
Ξυπνήσατε ποτέ στις 7 το πρωί, τη συνήθη ώρα που πρέπει να ξυπνήσετε για τη δουλειά και βρεθήκατε στο σκοτάδι; Ο χειμώνας είναι μια τρομερή εποχή, σωστά; Πρέπει να ξυπνήσεις στη μέση της νύχτας (αλλιώς γιατί είναι τόσο σκοτάδι;), να ξεσκιστείς από το κρεβάτι και να στείλεις το ημισυνείδητο σώμα σου στο ντους.
Αυτό το έργο στοχεύει στην επίλυση ενός από τα ζητήματα - το πρωινό σκοτάδι.
Υπάρχουν πολλοί φθηνοί λαμπτήρες ανατολής, αλλά όλοι είναι χαμηλής ισχύος και ωχροί. Μοιάζουν περισσότερο με νυχτερινό φωτιστικό, το οποίο υποτίθεται ότι θα σας κάνει να κοιμηθείτε καλύτερα. Δεν είναι καθόλου αυτό που θέλω.
Ταυτόχρονα, μόλις ανάψετε το έντονο φως θα σας ξυπνήσει αμέσως, αλλά όχι αρκετά απαλά. Αυτό που θέλω είναι ένας συνδυασμός και των δύο προσεγγίσεων - φωτίστε με χαμηλή φωτεινότητα, φτάστε σιγά σιγά σε πλήρη ταχύτητα, τότε χτυπάει ένας πραγματικός συναγερμός και δεν είστε πλέον τόσο νυσταγμένοι. Ας προσθέσουμε λίγο τραγούδι πουλιών σε αυτό και ξυπνάτε στον ουρανό κάθε πρωί!
Βήμα 1: Συσκευή λαμπτήρων
Πρώτα απ 'όλα, χρειαζόμαστε τον ίδιο τον λαμπτήρα. Έχω ένα αρκετά μεγάλο δωμάτιο με λευκούς τοίχους και οροφή, οπότε πήγα για 7 λαμπτήρες LED GU10, κάτι σαν 6W το καθένα, πάνω από 40W καθαρής ισχύος! Αυτό είναι αρκετό για να νιώσετε ότι είναι ήδη μέρα. Επίσης μπορεί να χρησιμοποιηθεί ως συνηθισμένος φωτισμός δωματίου κατά τη διάρκεια της ημέρας.
Δεν έχει σημασία πώς το συναρμολογείτε, ποιες λάμπες χρησιμοποιείτε με ποιες πρίζες. Όλα όσα έχουν σημασία - αυτά πρέπει να είναι λαμπτήρες με δυνατότητα ρύθμισης της έντασης!
Στην περίπτωσή μου, έχω μια ξύλινη σανίδα με 7 πρίζες GU10 συνδεδεμένες, όλες μαζί. Θα το βάλω σε ένα πλαστικό κουτί αργότερα.
Βήμα 2: Θεωρία Dimming
Στη θεωρία δεν υπάρχει διαφορά μεταξύ θεωρίας και πράξης. Στην πράξη υπάρχει.
Ο έλεγχος ενός ρυθμιστή από το ESP32/Arduino φάνηκε να μην είναι τόσο απλός όσο φανταζόμουν. Πήρα μία από τις μονάδες RobotDyn AC Light Dimmer. Ο κατασκευαστής προτείνει μια βιβλιοθήκη για αυτό. Δεν λειτουργεί με το ESP32 (και είναι πραγματικά δύσκολο να προσαρμοστεί, επειδή χρησιμοποιεί πολύ χαμηλό επίπεδο μητρώου για ATMega), λειτουργεί στο Arduino Nano, δίνοντας ένα φοβερό τρεμόπαιγμα σε χαμηλή μεσαία φωτεινότητα. Γι 'αυτό αφιέρωσα λίγο χρόνο για να ερευνήσω πώς λειτουργούν όλα και να κάνω τον δικό μου τρόπο.
Λίγο θεωρία
Η επιλεγμένη μονάδα dimmer χρησιμοποιεί ένα πολύ δημοφιλές TRIAC: BTA16. Υπάρχουν πολλά άρθρα σχετικά. Θα προσπαθήσω να το συνοψίσω εδώ.
Το TRIAC είναι μια μονάδα που μπορεί να μεταδώσει μια θετική ή αρνητική τάση εισόδου στην έξοδο ή μπορεί να την αποκλείσει. Από προεπιλογή μπλοκάρει τα πάντα. Για να το ανοίξουμε, θα πρέπει να του δώσουμε ένα υψηλό σήμα στην είσοδο της πύλης για 100 us. Στη συνέχεια, θα παραμείνει ανοιχτό έως ότου το ρεύμα πέσει στο μηδέν, κάτι που συμβαίνει όταν μια τάση εισόδου αλλάξει το πρόσημο, διασχίζοντας μια μηδενική τάση. Στη συνέχεια, στον επόμενο κύκλο θα πρέπει να κάνουμε άλλους 100 παλμούς και ούτω καθεξής. Επιλέγοντας πότε θα δώσουμε έναν παλμό, ελέγχουμε τη φωτεινότητα: κάντε το στην αρχή και θα είναι κοντά στο 100% μετάδοση ισχύος. Κάντε το αργότερα και θα είναι αχνό. Ελέγξτε το παραπάνω διάγραμμα, εξηγώντας το.
Για να δημιουργήσουμε παλμούς στο ίδιο σημείο του κύκλου, πρέπει να γνωρίζουμε πότε ακριβώς ξεκινά. Αυτός είναι ο λόγος για τον οποίο η μονάδα dimmer έχει ενσωματωμένο έναν ανιχνευτή Zero-Cross. Απλώς ανεβάζει ένα σήμα (το οποίο θα πιάσουμε ως διακοπή υλικού στο Arduino) κάθε φορά που η τάση ξεπερνά το μηδέν.
Βήμα 3: Πρακτική εξασθένισης
Ναι, έτσι θα ξυπνούσατε, αν η λάμπα σας δεν έχει εξασθενίσει και βάζει όλη την ισχύ των 40W στα νυσταγμένα μάτια σας.
Κοινά θέματα
Υπάρχουν πολλά ζητήματα που πρέπει να αντιμετωπίσουμε.
Τρεμοπαίζει.
Ο χρονισμός του μικροελεγκτή πρέπει να είναι πραγματικά ακριβής για την ενεργοποίηση και απενεργοποίηση της εξόδου της πύλης. Η βιβλιοθήκη RobotDyn προτείνει, έχει διακοπή χρονοδιακόπτη κάθε 100 ώρες και αλλάζει το επίπεδο πύλης μόνο στο χρονόμετρο. Αυτό σημαίνει ότι μπορεί να είναι +/- 50 μικροδευτερόλεπτα μακριά από τη βέλτιστη τιμή. Δίνει καλό αποτέλεσμα σε υψηλή φωτεινότητα, αλλά αναβοσβήνει πολύ σε χαμηλή φωτεινότητα. Επίσης, εάν ο μικροελεγκτής κάνει πολλά πράγματα, μειώνει την ακρίβεια του χρόνου, οπότε ιδανικά θα πρέπει να χρησιμοποιείται ένας αποκλειστικός μικροελεγκτής για το ροοστάτη.
Ελάχιστη φωτεινότητα. Τα LED έχουν ενσωματωμένο μετατροπέα ισχύος, ο οποίος αρνείται να λειτουργήσει χωρίς αρκετή ισχύ. Οι λαμπτήρες μου φάνηκαν να λειτουργούν καλά ξεκινώντας από το 10-11%.
Ακόμα και με αυτήν την τιμή, μερικοί από τους λαμπτήρες μου αρνήθηκαν να ανάψουν στην αρχή. Ακόμα και όταν αυξάνετε τη φωτεινότητα αργότερα, παραμένουν σκοτεινά. Γι 'αυτό, όταν πηγαίνουμε από την κατάσταση OFF σε κάποια θετική φωτεινότητα, ξεκινάμε με μια περίοδο προθέρμανσης 5 κύκλων, όταν δίνουμε πλήρη ισχύ στους λαμπτήρες. Στη συνέχεια συνεχίζουμε με την επιθυμητή φωτεινότητα. Είναι σχεδόν απαρατήρητο, αλλά πραγματικά βοηθά.
Συχνότητα δικτύου 50/60 Hz. Πρέπει να ξέρετε πόσο να περιμένετε πριν από το επόμενο μηδέν. Είναι πολύ απλό - απλώς κοιτάμε τη διαφορά ώρας μεταξύ δύο τελευταίων διακοπών.
Σταδιακή αλλαγή φωτεινότητας. Το ESP32 είναι αρκετά αργό, χρειάζονται 0,5 δευτερόλεπτα για να επεξεργαστείτε ένα ασήμαντο αίτημα HTTP ή ακόμη και WebSocket, οπότε μην περιμένετε μια ομαλή μετάβαση φωτεινότητας, πρέπει να εφαρμοστεί με κάποιο τρόπο σε χαμηλότερο επίπεδο. Αυτός είναι ο λόγος για τον οποίο, όταν λαμβάνει μια νέα φωτεινότητα από μια σειριακή θύρα, απλώς θέτει τον στόχο και στη συνέχεια τον προσεγγίζει αργά με την πάροδο του χρόνου.
Η λύση
Εδώ είναι ο απλός μου κωδικός Arduino για το dimmer. Περιμένει μια εντολή (ένα byte με τη νέα φωτεινότητα) από τη σειριακή είσοδο, χειρίζεται τις διακοπές Zero-Cross, ελέγχει το TRIAC, χειρίζεται όλα τα παραπάνω ζητήματα.
Βήμα 4: Ελεγκτής λαμπτήρων (ESP32)
Εδώ είναι το σχήμα σύνδεσης όλων των στοιχείων που έχω. Ο πίνακας ESP32 είναι πολύ διαφορετικός από αυτόν που χρησιμοποιώ (Heltec), οπότε οι καρφίτσες που επιλέξατε φαίνονται λίγο περίεργες, αλλά θα πρέπει να λειτουργούν καλά. Μη διστάσετε να χρησιμοποιήσετε διαφορετικές καρφίτσες στο έργο σας.
Εδώ είναι ο κώδικας που τα ελέγχει όλα. Είναι αρκετά απλό.
Τα κύρια χαρακτηριστικά
Ελεγχόμενη. Η λυχνία συνδέεται με WiFi, ξεκινά έναν διακομιστή WebSocket στη θύρα 81, περιμένει τις εντολές. Η μορφή εντολής είναι
Μόνο δύο εντολές υποστηρίζονται προς το παρόν: "set_brightness" και "update_settings", οι οποίες είναι … αρκετά αυτοπεριγραφικές.
Λήψη χρόνου από το NTP. Δεν θέλω να περιπλέξω υπερβολικά τα πράγματα και να προσθέσω ένα ρολόι πραγματικού χρόνου στο σχήμα. Έχουμε πρόσβαση στο Διαδίκτυο, πράγμα που σημαίνει ότι μπορούμε να πάρουμε τον πραγματικό χρόνο από κάποιο διακομιστή NTP και στη συνέχεια να παρακολουθούμε την τρέχουσα ώρα χρησιμοποιώντας τα χρονόμετρα συστήματος.
Sunrise Alarm. Μπορείτε να ρυθμίσετε ένα ξυπνητήρι. Τι κάνει στην πραγματικότητα: ξεκινά με την ελάχιστη φωτεινότητα και σταδιακά φτάνει στην πλήρη φωτεινότητα σε διάστημα 10 λεπτών. Στη συνέχεια, παραμένει για μερικές ώρες. Στη συνέχεια απενεργοποιείται σταδιακά για 60 δευτερόλεπτα.
Όλες οι παραπάνω παράμετροι είναι διαμορφώσιμες.
Τα πουλιά τραγουδούν. Το DFPlayer mini χρησιμοποιείται για αναπαραγωγή μουσικής. Υπάρχουν πολλοί οδηγοί για αυτό, αλλά ουσιαστικά πρέπει απλώς να συνδέσετε μια κάρτα MicroSD, μορφοποιημένη σε FAT32, με ένα αρχείο που ονομάζεται 0001.mp3. Αυτό το αρχείο μπορεί να έχει οτιδήποτε σας αρέσει, στην περίπτωσή μου είναι 15 λεπτά πουλιών που τραγουδούν (θα τυλιχτεί) και κάνει το πρωί μου καταπληκτικό. Σημειώστε ότι υπάρχει ένας τεράστιος πυκνωτής στην ισχύ και αντιστάσεις 1 kOhm στη σειριακή γραμμή μεταξύ ESP32 και DFplayer - είναι προαιρετικά, αλλά βοηθούν στη μείωση του θορύβου.
Αποθήκευση των ρυθμίσεων στο EEPROM. Όλες οι ρυθμίσεις γράφονται στο EEPROM και φορτώνονται κατά την εκκίνηση. Επιτρέπει τη χρήση της λάμπας με τουλάχιστον μια λειτουργία συναγερμού χωρίς συνδεδεμένο χειριστήριο.
Απόδοση ορισμένων πληροφοριών στην οθόνη OLED. Το Heltec ESP32 διαθέτει ενσωματωμένη οθόνη SSD1306 128X64 I2C. Όλες οι βασικές πληροφορίες παρέχονται σε αυτό. Ξέρω, το κουτί φαίνεται άσχημο, έχω εκτυπώσει 3D πράγματα και έκοψα τις τρύπες και τα παράθυρα με ένα τρυπάνι. Γρήγορο, βρώμικο, αλλά λειτουργεί!
Βήμα 5: Πίνακας ελέγχου
Αυτή είναι η καρδιά του έργου. Ένα Raspberry Pi με πρωτότυπη οθόνη 7 ιντσών, με λειτουργικό τμήμα Kivy front-end.
Ακολουθεί ο πλήρης πηγαίος κώδικας.
Τα γνωρίσματα
Γράφτηκε σε Python. Λατρεύω το Kivy, είναι ένα πλαίσιο Python για διεπαφές χρήστη. Πολύ απλό, αλλά ευέλικτο και αποδοτικό (χρησιμοποιεί πολύ κώδικα C στο εσωτερικό του για υψηλή απόδοση και επιτάχυνση υλικού).
Καιρός. Εμφάνιση της τρέχουσας θερμοκρασίας και πίεσης έξω. Εάν συνδέσετε έναν απομακρυσμένο αισθητήρα - εσωτερική θερμοκρασία επίσης. Ζητά και αναλύει την πρόγνωση του καιρού για τις επόμενες 12 ώρες και δίνει μια συμβουλή σχετικά με την πιθανότητα βροχής.
Ελεγκτής SunriseLamp. Ένας άλλος πίνακας εμφανίζει κάποιες βασικές πληροφορίες σχετικά με το ξυπνητήρι και σας επιτρέπει να ρυθμίσετε τη φωτεινότητα. Εάν μεταβείτε στις ρυθμίσεις, μπορείτε να διαμορφώσετε οποιαδήποτε παράμετρο της λυχνίας, συμπεριλαμβανομένου του προγράμματος συναγερμού, της μέγιστης έντασης ήχου και ούτω καθεξής.
Προστασία οθόνης. Δίνει το Game of Life στην οθόνη μετά από κάποια περίοδο αδράνειας.
Παλιά υπήρχαν περισσότερα από αυτά, αλλά άλλα πράγματα φάνηκαν άχρηστα.
Εγκατάσταση
Εγκατέστησα τα πάντα χειροκίνητα στο Raspbian και τώρα μπορώ να πω: μην επαναλάβετε τα λάθη μου. Χρησιμοποιήστε το KivyPie, έχει όλα προεγκατεστημένα.
Εκτός από αυτό, απλώς ακολουθήστε τον οδηγό εγκατάστασης στο αποθετήριο κώδικα.
Βήμα 6: Απολαύστε
Προσωπικά είμαι ευχαριστημένος με τη συσκευή. Το χρησιμοποιώ ως κύριο φωτισμό στο σπίτι κατά τη διάρκεια μιας ημέρας και με αφήνει να ξυπνήσω το πρωί, είναι εκπληκτικό.
Ξέρω ότι οι οδηγίες δεν είναι πολύ λεπτομερείς και περιγραφικές. Εάν κάποιος κάνει το ίδιο πράγμα και έχει προβλήματα - θα χαρώ να βοηθήσω!
Συνιστάται:
Γραφείο με μπαταρία. Ηλιακό σύστημα με αυτόματη εναλλαγή ηλιακών συλλεκτών ανατολής/δύσης και ανεμογεννήτρια: 11 βήματα (με εικόνες)
Γραφείο με μπαταρία. Ηλιακό σύστημα με αυτόματη εναλλαγή ηλιακών συλλεκτών ανατολής/δύσης και ανεμογεννήτρια: Το έργο: Ένα γραφείο 200 τετραγωνικών ποδιών πρέπει να τροφοδοτείται από μπαταρία. Το γραφείο πρέπει επίσης να περιέχει όλους τους ελεγκτές, τις μπαταρίες και τα εξαρτήματα που απαιτούνται για αυτό το σύστημα. Η ηλιακή και η αιολική ενέργεια θα φορτίσουν τις μπαταρίες. Υπάρχει ένα μικρό πρόβλημα μόνο
Φωτεινή ευαίσθητη λάμπα: 6 βήματα
Φωτοευαίσθητη λάμπα: Πρόκειται για ένα έργο στο οποίο πρόκειται να κατασκευάσουμε μια φωτοευαίσθητη λάμπα. Η λάμπα ανάβει κάθε φορά που υπάρχει μείωση του περιβάλλοντος φωτός και σβήνει όταν το φως στο περιβάλλον σας γίνει αρκετά για τα μάτια μας να δουν τα πράγματα γύρω
ESP 8266 Nodemcu Ws 2812 Λάμπα LED MOOD βασισμένη σε νεοπίξελ, ελεγχόμενη από τοπικό διακομιστή Web: 6 βήματα
ESP 8266 Nodemcu Ws 2812 Λάμπα LED MOOD βασισμένη σε νεοπίξελ Ελεγχόμενη από τοπικό διακομιστή Web: ESP 8266 Nodemcu Ws 2812 Λάμπα LED MOOD βασισμένη σε νεοπίξελ ελεγχόμενη μέσω διακομιστή ιστοσελίδων
ESP 8266 Nodemcu Ws 2812 Λάμπα LED MOOD βασισμένη σε νεοπίξελ με ελεγχόμενη χρήση διακομιστή ιστοσελίδων: 6 βήματα
ESP 8266 Nodemcu Ws 2812 Λάμπα LED MOOD βασισμένη σε νεοπίξελ ελεγχόμενη χρησιμοποιώντας διακομιστή ιστοσελίδας: Σε αυτό το έργο θα φτιάξουμε μια λάμπα διάθεσης από το nodemcu & neopixel και το οποίο μπορεί να ελεγχθεί από οποιοδήποτε πρόγραμμα περιήγησης χρησιμοποιώντας τοπικό διακομιστή ιστού
Λαμπτήρας ανατολής και δύσης με LED: 7 βήματα (με εικόνες)
Ένας λαμπτήρας ανατολής και ηλιοβασιλέματος με LED: Το ξέρετε, το χειμώνα είναι δύσκολο να σηκωθείτε, επειδή έξω είναι σκοτεινό και το σώμα σας δεν θα ξυπνήσει στη μέση της νύχτας. Έτσι μπορείτε να αγοράσετε ένα ξυπνητήρι που σας ξυπνά με φως. Αυτές οι συσκευές δεν είναι τόσο ακριβές όσο λίγες