Πίνακας περιεχομένων:
- Βήμα 1: Μερική θεωρία σχετικά με το ξεθώριασμα και το ξεθώριασμα χρησιμοποιώντας τη διαμόρφωση πλάτους παλμού
- Βήμα 2: Η μηχανική εργασία
- Βήμα 3: Τα Ηλεκτρονικά
- Βήμα 4: Το Λογισμικό
- Βήμα 5: Το τελικό αποτέλεσμα
Βίντεο: Φωτισμένα δώρα: 5 βήματα (με εικόνες)
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:34
Στο σπίτι έχουμε δύο φωτεινά δώρα τα οποία χρησιμοποιούνται κατά την περίοδο των Χριστουγέννων. Αυτά είναι απλά φωτιζόμενα δώρα χρησιμοποιώντας ένα κόκκινο-πράσινο LED 2 χρωμάτων που αλλάζουν τυχαία χρώμα που ξεθωριάζει και σβήνει. Η συσκευή τροφοδοτείται από ένα κελί κουμπιού 3 Volt. Το τελευταίο ήταν η αιτία για αυτό το έργο αφού η μπαταρία εξαντλείται πολύ γρήγορα όταν τα δώρα ενεργοποιούνται για μεγαλύτερο χρονικό διάστημα.
Για να αποτρέψω τη χρήση τεράστιου αριθμού μπαταριών με κουμπιά, σχεδίασα τη δική μου έκδοση χρησιμοποιώντας τρεις επαναφορτιζόμενες μπαταρίες AAA. Αυτή η έκδοση χρησιμοποιεί ένα LED RGB, οπότε το μπλε είναι επίσης δυνατό, αλλά αυτό δεν ήταν μέρος του αρχικού σχεδιασμού. Η έκδοση μου έχει τις ακόλουθες λειτουργίες:
- Ο έλεγχος 2 παρουσιάζεται ταυτόχρονα χρησιμοποιώντας έναν μικροελεγκτή PIC12F617. Το λογισμικό μικροελεγκτών γράφτηκε στη γλώσσα προγραμματισμού JAL.
- Ενεργοποιήστε και απενεργοποιήστε το παρών με ένα κουμπί. Η αρχική έκδοση χρησιμοποίησε έναν διακόπτη για τον σκοπό αυτό, αλλά ένα κουμπί ήταν ευκολότερο στη χρήση.
- Αλλάξτε τυχαία το χρώμα των δώρων με εξασθένιση και σβήσιμο των χρωμάτων κόκκινο και πράσινο.
- Απενεργοποιήστε τα δώρα όταν η τάση της μπαταρίας πέσει κάτω από τα 3,0 Volt. Αυτό θα αποτρέψει την υπερβολική εκφόρτιση των επαναφορτιζόμενων μπαταριών.
Μετά το ξεθώριασμα σε ένα χρώμα, η λυχνία LED παραμένει αναμμένη για κάποιο χρονικό διάστημα μεταξύ 3 δευτερολέπτων και 20 δευτερολέπτων. Δεδομένου ότι είχα ακόμα το αχρησιμοποίητο μπλε LED πρόσθεσα τη δυνατότητα ότι και τα δύο πακέτα θα γίνουν μπλε όταν η ώρα είναι ακριβώς 10 δευτερόλεπτα. Αυτό δεν συμβαίνει πολύ συχνά αφού ο τυχαίος χρόνος δημιουργείται σε χρονοδιακόπτες 40 χιλιοστών του δευτερολέπτου όπως περιγράφεται αργότερα.
Βήμα 1: Μερική θεωρία σχετικά με το ξεθώριασμα και το ξεθώριασμα χρησιμοποιώντας τη διαμόρφωση πλάτους παλμού
Ο καλύτερος τρόπος για να αλλάξετε τη φωτεινότητα μιας λυχνίας LED δεν είναι να αλλάξετε το ρεύμα που ρέει μέσω της λυχνίας LED αλλά αλλάζοντας την ώρα που ανάβει η λυχνία LED μέσα σε ένα συγκεκριμένο χρονικό διάστημα. Αυτός ο τρόπος ελέγχου της φωτεινότητας ενός LED ονομάζεται Pulse Width Modulation (PWM) που έχει περιγραφεί αρκετές φορές στο διαδίκτυο, π.χ. Βικιπαίδεια.
Το PIC και το Arduino διαθέτουν ειδικό υλικό PWM στο πλοίο που καθιστά απλή τη δημιουργία αυτού του σήματος PWM, αλλά συχνά έχουν μία έξοδο για αυτό και έτσι μπορείτε να ελέγξετε μόνο ένα LED. Για αυτήν την έκδοση χρειάστηκε να ελέγξω 5 LED (2 κόκκινα, 2 πράσινα και 1 μπλε), οπότε το PWM έπρεπε να γίνει στο λογισμικό χρησιμοποιώντας ένα χρονόμετρο που παράγει τόσο τη συχνότητα PWM όσο και τον κύκλο λειτουργίας PWM.
Το PIC12F617 διαθέτει ενσωματωμένο χρονοδιακόπτη με δυνατότητες αυτόματης επαναφόρτωσης. Αυτό σημαίνει ότι μόλις ορίσετε την τιμή επαναφόρτωσης του χρονοδιακόπτη, θα χρησιμοποιεί αυτήν την τιμή κάθε φορά που έχει παρέλθει το χρονικό όριο και έτσι το χρονόμετρο λειτουργεί αυτόνομα σε συγκεκριμένη συχνότητα. Δεδομένου ότι ο χρονισμός είναι κρίσιμος για ένα σταθερό σήμα PWM, ο χρονοδιακόπτης λειτουργεί σε διακοπή, χωρίς να επηρεάζεται από το χρόνο που χρειάζεται το κύριο πρόγραμμα για τον έλεγχο και τον προσδιορισμό της τυχαίας έγκαιρης λειτουργίας των LED.
Η συχνότητα PWM πρέπει να είναι αρκετά υψηλή ώστε να αποτρέπει τυχόν τρεμοπαίξιμο και έτσι επέλεξα μια συχνότητα PWM 100 Hz. Για το φαινόμενο fade-in και fade-out πρέπει να αλλάξουμε τον κύκλο λειτουργίας και έτσι τη φωτεινότητα του LED. Αποφάσισα να χρησιμοποιήσω μια βαθμίδα 5 για να αυξήσω ή να μειώσω τη φωτεινότητα για να επιτύχω το φαινόμενο fade-in και fade-out και επειδή ο χρονοδιακόπτης χρησιμοποιεί ένα εύρος από 0 έως 255 για τον κύκλο λειτουργίας, ο χρονοδιακόπτης πρέπει να λειτουργεί σε 255 / 5 = 51 φορές την κανονική συχνότητα ή 5100 Hz. Αυτό έχει ως αποτέλεσμα μια χρονική διακοπή κάθε 196 εμείς.
Βήμα 2: Η μηχανική εργασία
Για την κατασκευή των δώρων χρησιμοποίησα λευκό ακρυλικό πλαστικό γάλακτος και για το υπόλοιπο στήσιμο χρησιμοποίησα MDF. Για να αποφύγετε να δείτε το σχήμα του LED στη συσκευασία όταν είναι αναμμένο το LED, έβαλα ένα κάλυμμα πάνω από τα LED που διαχέει το φως από το LED. Αυτό το εξώφυλλο προήλθε από μερικά παλιά ηλεκτρονικά κεριά που είχα, αλλά μπορείτε επίσης να δημιουργήσετε ένα κάλυμμα χρησιμοποιώντας το ίδιο ακρυλικό πλαστικό. Στις εικόνες βλέπετε τι χρησιμοποίησα ως εξοπλισμός και υλικό.
Βήμα 3: Τα Ηλεκτρονικά
Το σχηματικό διάγραμμα δείχνει τα ηλεκτρονικά εξαρτήματα που χρειάζεστε. Όπως αναφέρθηκε προηγουμένως, 5 LED ελέγχονται ανεξάρτητα όπου συνδυάζεται το μπλε LED. Δεδομένου ότι ο PIC δεν μπορεί να οδηγήσει δύο LED σε έναν πείρο θύρας, πρόσθεσα ένα τρανζίστορ για τον έλεγχο των συνδυασμένων μπλε LED. Τα ηλεκτρονικά τροφοδοτούνται από 3 επαναφορτιζόμενες μπαταρίες AAA και μπορούν να ενεργοποιηθούν ή να απενεργοποιηθούν πατώντας το διακόπτη επαναφοράς.
Χρειάζεστε τα ακόλουθα ηλεκτρονικά εξαρτήματα για αυτό το έργο:
- 1 μικροελεγκτής PIC 12F617 με πρίζα
- 2 κεραμικοί πυκνωτές: 2 * 100nF
- Αντιστάσεις: 1 * 33k, 1 * 4k7, 2 * 68 Ohm, 4 * 22 Ohm
- 2 LED RGB, υψηλή φωτεινότητα
- 1 τρανζίστορ BC557 ή ισοδύναμο
- 1 διακόπτης κουμπιού
Μπορείτε να χτίσετε το κύκλωμα σε ένα breadboard και δεν απαιτεί πολύ χώρο, όπως φαίνεται στην εικόνα. Wonderσως αναρωτιέστε γιατί οι τιμές της αντίστασης για τον έλεγχο του μέγιστου ρεύματος μέσω των LED είναι τόσο χαμηλές. Αυτό συμβαίνει λόγω της χαμηλής τάσης τροφοδοσίας 3,6 Volt σε συνδυασμό με την πτώση τάσης που έχει κάθε LED, η οποία εξαρτάται από το χρώμα ανά LED, επίσης δείτε το Wikepedia. Οι τιμές των αντιστάσεων έχουν ως αποτέλεσμα ένα μέγιστο ρεύμα περίπου 15 mA ανά LED όπου το μέγιστο ρεύμα ολόκληρου του συστήματος είναι περίπου 30 mA.
Βήμα 4: Το Λογισμικό
Το λογισμικό εκτελεί τις ακόλουθες εργασίες:
Όταν γίνεται επαναφορά της συσκευής με το κουμπί, θα ενεργοποιήσει τη συσκευή εάν ήταν απενεργοποιημένη ή θα απενεργοποιήσει τη συσκευή εάν ήταν ενεργοποιημένη. Απενεργοποίηση σημαίνει ότι το PIC12F617 τίθεται σε κατάσταση αναστολής λειτουργίας, στην οποία δεν καταναλώνει σχεδόν καμία ενέργεια.
Δημιουργήστε το σήμα PWM για να ελέγξετε τη φωτεινότητα των LED. Αυτό γίνεται χρησιμοποιώντας ένα χρονόμετρο και μια ρουτίνα διακοπής υπηρεσίας που ελέγχει τις ακίδες του PIC12F617 που ενεργοποιούν και απενεργοποιούν τα LED.
Σβήστε και σβήστε τα LED και κρατήστε τα αναμμένα για τυχαίο χρόνο μεταξύ 3 και 20 δευτερολέπτων. Εάν ο τυχαίος χρόνος ισούται με 10 δευτερόλεπτα, και οι δύο λυχνίες LED θα γίνουν μπλε για 10 δευτερόλεπτα και μετά θα χρησιμοποιηθεί το κανονικό κόκκινο-πράσινο μοτίβο fade-out και fade-out.
Κατά τη λειτουργία, ο PIC θα μετρήσει την τάση τροφοδοσίας χρησιμοποιώντας τον ενσωματωμένο μετατροπέα αναλογικού σε ψηφιακό (ADC). Όταν αυτή η τάση πέσει κάτω από τα 3,0 V, θα σβήσει τα LED και θα θέσει ξανά το PIC σε κατάσταση αναστολής λειτουργίας. Ο PIC θα μπορούσε ακόμα να λειτουργεί καλά στα 3,0 V, αλλά δεν είναι καλό οι επαναφορτιζόμενες μπαταρίες να έχουν αδειάσει εντελώς.
Όπως αναφέρθηκε προηγουμένως, το σήμα PWM δημιουργείται χρησιμοποιώντας ένα χρονόμετρο που χρησιμοποιεί μια ρουτίνα υπηρεσίας διακοπής για να διατηρεί ένα σταθερό σήμα PWM. Το ξεθώριασμα και το ξεθώριασμα των LED, συμπεριλαμβανομένου του χρόνου που είναι αναμμένα, ελέγχονται από το κύριο πρόγραμμα. Αυτό το κύριο πρόγραμμα χρησιμοποιεί ένα χρονοδιακόπτη 40 χιλιοστών του δευτερολέπτου, που προέρχεται από τον ίδιο χρονοδιακόπτη που δημιουργεί το σήμα PWM.
Δεδομένου ότι δεν χρησιμοποίησα καμία συγκεκριμένη βιβλιοθήκη JAL για αυτό το έργο, έπρεπε αυτή τη φορά να δημιουργήσω μια τυχαία γεννήτρια χρησιμοποιώντας έναν γραμμικό καταχωρητή αλλαγής ανατροφοδότησης για τη δημιουργία της τυχαίας εγκαίρως και της τυχαίας απενεργοποίησης των LED.
Βήμα 5: Το τελικό αποτέλεσμα
Υπάρχουν 2 βίντεο που δείχνουν το ενδιάμεσο αποτέλεσμα. Η γυναίκα μου πρέπει ακόμα να αλλάξει τους κύβους σε πραγματικά δώρα. Το ένα βίντεο δείχνει μια κοντινή εικόνα του αποτελέσματος όπου το άλλο βίντεο το δείχνει με το αρχικό δώρο που οδηγεί σε αυτό το έργο.
Όπως μπορείτε να περιμένετε όταν νομίζετε ότι τελειώσατε, εμφανίζονται νέες απαιτήσεις. Η σύζυγός μου ζητούσε εάν η φωτεινότητα των LED μπορεί επίσης να ποικίλει αφού έχουν ξεθωριάσει. Αυτό είναι φυσικά δυνατό, καθώς χρησιμοποίησα μόνο το ήμισυ περίπου της μνήμης προγράμματος του PIC12F617.
Επισυνάπτονται το αρχείο προέλευσης JAL και το αρχείο Intel Hex για τον προγραμματισμό του PIC. Εάν ενδιαφέρεστε να χρησιμοποιήσετε τον μικροελεγκτή PIC με JAL - μια γλώσσα προγραμματισμού όπως το Pascal - επισκεφτείτε τον ιστότοπο του JAL.
Διασκεδάστε κάνοντας αυτό το Instructable και περιμένουμε τις αντιδράσεις και τα αποτελέσματα.
Συνιστάται:
Πώς: Εγκατάσταση Raspberry PI 4 Headless (VNC) Με Rpi-imager και εικόνες: 7 βήματα (με εικόνες)
Howto: Εγκατάσταση Raspberry PI 4 Headless (VNC) Με Rpi-imager και Εικόνες: Σκοπεύω να χρησιμοποιήσω αυτό το Rapsberry PI σε ένα σωρό διασκεδαστικά έργα στο ιστολόγιό μου. Μη διστάσετε να το ελέγξετε. Iθελα να επιστρέψω στη χρήση του Raspberry PI, αλλά δεν είχα πληκτρολόγιο ή ποντίκι στη νέα μου τοποθεσία. Είχε περάσει λίγος καιρός από τότε που έστησα ένα Raspberry
Πώς να αποσυναρμολογήσετε έναν υπολογιστή με εύκολα βήματα και εικόνες: 13 βήματα (με εικόνες)
Πώς να αποσυναρμολογήσετε έναν υπολογιστή με εύκολα βήματα και εικόνες: Αυτή είναι μια οδηγία σχετικά με τον τρόπο αποσυναρμολόγησης ενός υπολογιστή. Τα περισσότερα από τα βασικά στοιχεία είναι αρθρωτά και αφαιρούνται εύκολα. Ωστόσο, είναι σημαντικό να είστε οργανωμένοι σε αυτό. Αυτό θα σας βοηθήσει να αποφύγετε την απώλεια εξαρτημάτων και επίσης να κάνετε την επανασυναρμολόγηση να
Δώστε πρώτα δώρα στη δεύτερη ζωή χρησιμοποιώντας το Amazon.com: 9 βήματα
Δώστε δώρα για την πρώτη ζωή στη δεύτερη ζωή χρησιμοποιώντας το Amazon.com: Στον εικονικό κόσμο το Second Life είναι εύκολο να δημιουργήσετε πολύ στενές φιλίες με κάποιον που μπορεί να μην έχετε ποτέ την ευκαιρία να συναντήσετε προσωπικά. Οι κάτοικοι του Second Life γιορτάζουν τις διακοπές του First Life όπως την Ημέρα του Αγίου Βαλεντίνου και τα Χριστούγεννα, καθώς και προσωπικές
Αποδώστε τρισδιάστατες εικόνες των PCB σας χρησιμοποιώντας Eagle3D και POV-Ray: 5 βήματα (με εικόνες)
Αποδώστε τρισδιάστατες εικόνες των PCB σας χρησιμοποιώντας Eagle3D και POV-Ray: Χρησιμοποιώντας Eagle3D και POV-Ray, μπορείτε να δημιουργήσετε ρεαλιστικές τρισδιάστατες αποδόσεις των PCB σας. Το Eagle3D είναι ένα σενάριο για EAGLE Layout Editor. Αυτό θα δημιουργήσει ένα αρχείο ανίχνευσης ακτίνων, το οποίο θα σταλεί στο POV-Ray, το οποίο με τη σειρά του θα βγει τελικά από το τελικό im
3 Εύκολα δώρα διακοπών ATTiny: 4 βήματα
3 Εύκολα Δώρα Διακοπών ATTiny: Κάθε χρόνο η περίοδος των διακοπών κυλά και κολλάω στο τι να δώσω για τους φίλους και την οικογένειά μου. Οι άνθρωποι λένε πάντα ότι είναι καλύτερο να κάνετε το δώρο μόνοι σας παρά να το αγοράσετε σε ένα κατάστημα, οπότε φέτος έκανα ακριβώς αυτό. Η πρώτη διανομή