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

Χωρίς μπλε φωτιστικό: 4 βήματα
Χωρίς μπλε φωτιστικό: 4 βήματα

Βίντεο: Χωρίς μπλε φωτιστικό: 4 βήματα

Βίντεο: Χωρίς μπλε φωτιστικό: 4 βήματα
Βίντεο: Η γκουγκου δεν σεβεται τον πατερα της 2024, Ιούλιος
Anonim
Χωρίς μπλε φωτιστικό
Χωρίς μπλε φωτιστικό
Χωρίς μπλε φωτιστικό
Χωρίς μπλε φωτιστικό
Χωρίς μπλε φωτιστικό
Χωρίς μπλε φωτιστικό
Χωρίς μπλε φωτιστικό
Χωρίς μπλε φωτιστικό

Αυτό το Lazy Old Geek (L. O. G.) έχει εργαστεί σε ένα Blue Light Project:

www.instructables.com/id/Blue-Light-Projec…

www.instructables.com/id/Blue-Light-Projec…

Λοιπόν, για το επόμενο βήμα ήθελα μια λάμπα που θα ήταν φωτεινή κατά τη διάρκεια της ημέρας και δεν είχε μπλε φως το βράδυ/το βράδυ.

Σχεδιασμός υλικού:

Αποφάσισα να χρησιμοποιήσω ένα RTC (Ρολόι πραγματικού χρόνου) για να ελέγξω τους χρόνους για αλλαγές φωτός.

Επέλεξα το DS3231 καθώς έχει καλύτερη ακρίβεια χρόνου από το DS1307. Το DS3231 μπορεί να είναι 5v ή 3,3v.

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

Για τον μικροελεγκτή θα χρησιμοποιήσω ένα Pro Micro, 5v 16MHz.

Ενώ το WS2812B πιθανότατα θα λειτουργεί με 3.3V, είναι καλύτερο να χρησιμοποιήσετε ένα Arduino 5V.

Το Pro Micro είναι ένα φθηνό Arduino που χρησιμοποιεί μικροελεγκτή Atmega32U4.

Η λάμπα θα έχει διακόπτη ενεργοποίησης/απενεργοποίησης για ενεργοποίηση ή απενεργοποίηση της λάμπας.

Θα υπάρχει ένα ποτενσιόμετρο για τον έλεγχο της φωτεινότητας.

Λογισμικό σχεδιασμού:

Το DS3231 RTC θα ελέγχει το χρονοδιάγραμμα, έχει εφεδρική μπαταρία, οπότε θα πρέπει να κρατάει το χρόνο ακόμα και αν χαθεί ρεύμα.

Κατά τη διάρκεια της ημέρας, όλες οι λυχνίες LED RGB θα ήταν αναμμένες, ελεγχόμενες από το δοχείο μέχρι πλήρους έντασης.

Νωρίς το βράδυ, τα μπλε LED θα είναι σβηστά, το κόκκινο και το πράσινο στο μέγιστο.

Καθώς προχωρά το βράδυ, τα κόκκινα και πράσινα LED θα εξασθενίσουν, με προτίμηση το κόκκινο από το πράσινο (Οι δοκιμές μου στο Μέρος 2 προτείνουν ότι οι πράσινες λυχνίες LED έχουν λίγο μπλε).

Μετά τις 10 π.μ. περίπου όλα τα LED θα σβήσουν.

ΠΡΟΒΛΗΜΑ:

Πίσω στη μονάδα DS3231 RTC, αγόρασα το δικό μου από το Aliexpress όπως έκανα για τα άλλα εξαρτήματα.

Αυτά υποτίθεται ότι λειτουργούν και φορτίζουν μια επαναφορτιζόμενη μπαταρία LIR2032. Το δοκίμασα. Μετά από περίπου μια μέρα, η μπαταρία ήταν νεκρή.

Λοιπόν, μετά από κάποια αναζήτηση στο Διαδίκτυο, βρήκα αυτό το άρθρο.

www.onetransistor.eu/2019/07/zs042-ds3231-…

Συμφωνώ με αυτήν την ανάλυση, αλλά πίστευα ότι το LIR2032 θα φόρτιζε επαρκώς αλλά όχι υπερβολικά. Προφανώς έκανα λάθος. Το δικό μου DS3231 αν και σημειώθηκε ως ZS-042 όπως στο άρθρο ήταν ελαφρώς διαφορετικό από το δικό του αλλά σχεδόν το ίδιο. Έτσι, ξεκόλλησα τη δίοδο που φαίνεται στην εικόνα και εγκατέστησα μια μπαταρία CR2032. Χωρίς τη δίοδο η μονάδα δεν θα προσπαθήσει να φορτίσει την μπαταρία. Τώρα το DS3231 διατηρεί τη σωστή ώρα ακόμη και με αποσυνδεδεμένο ρεύμα και η μπαταρία πρέπει να είναι καλή για πολλά χρόνια.

Απαιτήσεις ισχύος:

Το WS2812B είναι μια σειρά LED RGB που ονομάζεται μερικές φορές NeoPixels. Κάθε NeoPixel απαιτεί μέγιστο 60mA. Χρησιμοποιώ 12 Neo Pixels οπότε χρειάζομαι 0,72A. Χρησιμοποιώ προσαρμογέα USB 2Α, οπότε έχετε αρκετό ρεύμα.

Βήμα 1: BlueBamp PCB

PCB BlueLamp
PCB BlueLamp
PCB BlueLamp
PCB BlueLamp

Έτσι, όπως συνήθως, χρησιμοποίησα το δωρεάν λογισμικό Eagle Cadsoft (τώρα Autodesk) για τη διάταξη και τη δημιουργία του PCB μου.

www.autodesk.com/products/eagle/free-downl…

Τα σχηματικά και τα αρχεία του πίνακα Eagle επισυνάπτονται μαζί με το σχηματικό σε μια εικόνα.

Ένα σχόλιο σχετικά με το σχηματικό, την αντίσταση 330 ohm και τον πυκνωτή 10, 000uFd είναι συστάσεις από τον οδηγό neopixel της Adafruit:

learn.adafruit.com/adafruit-neopixel-uberg…

Το κουμπί εναλλαγής που χρησιμοποίησα "Διακόπτης με κουμπί πυρσού" ήταν από εδώ:

www.aliexpress.com/item/32904942704.html?s…

Το ποτενσιόμετρο 10K (B103) από εδώ:

www.aliexpress.com/item/32672253655.html?s…

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

Συναρμολόγηση της λάμπας
Συναρμολόγηση της λάμπας
Συναρμολόγηση της λάμπας
Συναρμολόγηση της λάμπας

Έτυχε να έχω μια βαριά βάση από μια λάμπα που αγόρασα. Είχε μια μεγάλη στρογγυλή καρφίτσα. Πήρα ένα κομμάτι σωλήνα PVC που ταιριάζει πάνω του. Wasταν λίγο χαλαρό, έτσι πήρα ένα μπουλόνι και μερικά παξιμάδια για να το σφίξω. (δείτε την εικόνα)

Το WS2812B μπορεί να κοπεί στον αριθμό των NeoPixels που επιθυμείτε. Η λωρίδα που αγόρασα έχει μεγάλους χώρους μεταξύ των NeoPixels. Wantedθελα να είναι λίγο πιο φωτεινό, έτσι έκοψα δύο 6 λωρίδες NeoPixel και τις έτρεξα παράλληλα ελαφρώς offset. Οι λωρίδες WS2812B μπορούν να κοπούν μεταξύ των NeoPixels. Σε αυτή την περίπτωση χρειάστηκα αλλαγή 180 μοιρών, οπότε έκοψα τη λωρίδα και έτρεξα τα καλώδια μεταξύ των δύο. Εάν το κάνετε ποτέ αυτό, βεβαιωθείτε ότι τα σήματα και τα βέλη κατεύθυνσης είναι σωστά. (Δείτε την εικόνα)

Αυτό το WS2812B διαθέτει επίσης καλώδια και μια υποδοχή (αυτός ο σύνδεσμος είναι ένας σύνδεσμος JST-SM 3pin εάν θέλετε να το χρησιμοποιήσετε αλλού). Δεδομένου ότι αυτός ο σύνδεσμος ήταν ήδη εκεί, μόλις κόλλησα τα καλώδια στο PCB μου. Για αυτό το WS2812B το κόκκινο σύρμα είναι 5v, το πράσινο είναι σήμα και το λευκό είναι γειωμένο.

Μόλις έφτιαξα το PCB, έβαλα λίγη ταινία στο κάτω μέρος και το κόλλησα στη βάση. Στη συνέχεια, συνδέσα το Pro Micro και το DS3231.

Βήμα 3: Σχέδιο Arduino

Σκίτσο Arduino
Σκίτσο Arduino

Παρόλο που αγόρασα το Pro Micro μου από το Aliexpress.com, χρησιμοποίησα τις ακόλουθες πληροφορίες για να λειτουργήσει το Arduino:

learn.sparkfun.com/tutorials/pro-micro--fi…

Για να εγκαταστήσω τη βιβλιοθήκη για το DS3231, χρησιμοποιώ αυτήν:

github.com/PaulStoffregen/DS1307RTC

Κατεβάστε το αρχείο Zip

Ανοίξτε το Arduino, επιλέξτε «Σκίτσο» «Συμπερίληψη βιβλιοθήκης» «Προσθήκη.zip βιβλιοθήκης»

Εγκαταστήστε την ακόλουθη χρήση της ίδιας μεθόδου

Time Library PaulStoffregen

github.com/PaulStoffregen/Time

Βιβλιοθήκη ζώνης ώρας

github.com/JChristensen/Timezone

Όταν ολοκληρωθεί, ξεκινήστε το Arduino.

Στην ενότητα Πίνακες εργαλείων επιλέξτε "Sparkfun Pro Micro"

Κάντε ξανά κλικ στα Εργαλεία, θα υπάρξει μια επιλογή για τον επεξεργαστή

Σως χρειαστεί να το αλλάξετε "Atmega32U4 (5V 16Mhz)"

ΠΡΟΕΙΔΟΠΟΙΗΣΗ: Εάν είστε απρόσεκτοι όπως εγώ, επέλεξα το "Atmega32U4 (3.3V 8Mhz)" κατά λάθος. Αυτό το «πήρε» έτσι ώστε το Arduino να μην μπορεί να το δει. Λοιπόν, συνήθως προσπαθώ να διαβάζω νέα πράγματα πριν το πάρω και θυμηθώ κάτι για αυτό που συμβαίνει:

learn.sparkfun.com/tutorials/pro-micro--fi…

Σε αυτόν τον οδηγό, υπάρχει μια ενότητα με τίτλο "Πώς να αναβιώσετε ένα" Bricked "Pro Micro" Όπως αναφέρει, είναι μια δύσκολη διαδικασία, αλλά κατάφερα να ανακτήσω τη δική μου.

FYI: Αν αναρωτιέστε γιατί υπάρχουν δύο εκδόσεις με διαφορετικές τάσεις και ταχύτητες, το Atmega32U4 (ίδιο με το Atmega328) θα λειτουργήσει καλά στα 5V με ρολόι 16MHz. Αλλά στα 3.3V η προδιαγραφή σχεδιασμού λέει ότι το ρολόι 16MHz δεν θα λειτουργήσει, γι 'αυτό έχουν το ρολόι στα 8MHz. Γενικά, μιλώντας το λογισμικό Arduino θα φροντίσει για τυχόν προβλήματα χρονισμού.

ΣΥΜΒΟΥΛΗ RTC: Το μεγαλύτερο μέρος του λογισμικού που γράφτηκε για το DS1307 θα λειτουργήσει με το DS3231 καθώς έχουν πολύ παρόμοιο λογισμικό.

Θερινή ώρα

Λοιπόν, ήθελα να εφαρμόσω το DST, οπότε δεν χρειάστηκε να επαναπρογραμματίσω τη λάμπα μου δύο φορές το χρόνο. Δούλεψα σε αυτό για αρκετές ημέρες. Δεν μπορούσα να βρω καλές απλές εξηγήσεις για το πώς λειτουργούσε το Time, το TimeLib και το RTClib.

Έγραψα πραγματικά κάποιον κωδικό DST για το IPClock μου:

www.instructables.com/id/NO-MORE-SPRING-FO…

λειτούργησε για χρόνο στο Διαδίκτυο, αλλά δεν κατάφερα να λειτουργήσει για χρόνο RTC.

Τελικά έπεσα στα ακόλουθα του JChristensen:

forum.arduino.cc/index.php?topic=96891.0

github.com/JChristensen/Timezone

Για να το χρησιμοποιήσετε, πρέπει πρώτα να ορίσετε το RTC σε UTC (Coordinated Universal Time), αυτή είναι η ώρα στο Γκρίνουιτς της Αγγλίας. Λοιπόν, δεν ήξερα πώς να το κάνω, αλλά βρήκα αυτό το άρθρο:

www.justavapor.com/archives/2482

Ξαναγράψτε το για ώρα Βουνό (επισυνάπτεται) UTCtoRTC.ino

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

Το σκίτσο μου επισυνάπτεται MTS_BlueLamp.ino.

Βήμα 4: Συμπέρασμα

συμπέρασμα
συμπέρασμα

Έφτιαξα ένα μικρό γάντζο στην κορυφή για τη μάσκα προσώπου μου CPAP. Το κρεμούσα στο παλιό μου φωτιστικό.

Βασικά πολύ ευχαριστημένος με αυτό το φωτιστικό. Πλήρως φωτεινό κατά τη διάρκεια της ημέρας και χωρίς μπλε το βράδυ και το βράδυ.

Ένα πράγμα που δεν μου αρέσει είναι ότι δεν μπορώ να το χρησιμοποιήσω μετά τις 10 π.μ. και πριν τις 5 π.μ.

Διαπίστωσα επίσης ότι δεν χρησιμοποιώ την εναλλαγή ενεργοποίησης/απενεργοποίησης, καθώς συνήθως χρησιμοποιώ τον διακόπτη dimmer.

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

Συνιστάται: