Πίνακας περιεχομένων:
- Βήμα 1: Διαμόρφωση πλάτους παλμού στο λογισμικό
- Βήμα 2: Το υλικό και τα απαιτούμενα στοιχεία
- Βήμα 3: Το λογισμικό που απομένει και το αποτέλεσμα
Βίντεο: Πολλαπλά ηλεκτρονικά κεριά: 3 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:33
Ηλεκτρονικά κεριά έχουν αναρτηθεί πολλές φορές στο Instructables οπότε γιατί αυτό;
Στο σπίτι έχω αυτά τα μικρά ημιδιαφανή χριστουγεννιάτικα σπίτια που έχουν μια εικόνα LED και μια μικρή μπαταρία. Ορισμένα σπίτια διαθέτουν LED με εφέ κερί και μερικά έχουν LED που είναι μόλις αναμμένα. Οι μικρές μπαταρίες αδειάζουν σχετικά γρήγορα και δεδομένου ότι ήθελα να έχω εφέ κερί σε όλα τα σπίτια αποφάσισα να το κάνω έργο PIC. Φυσικά, μπορείτε επίσης να το μετατρέψετε σε έργο Arduino.
Τι κάνει λοιπόν αυτό το ηλεκτρονικό κερί ξεχωριστό; Όλα τα PIC και Arduino διαθέτουν υλικό Pulse Width Modulation (PWM) που μπορεί να χρησιμοποιηθεί για τη δημιουργία εφέ κεριών χρησιμοποιώντας LED, αλλά στην περίπτωσή μου ήθελα να έχω 5 ανεξάρτητα ηλεκτρονικά κεριά χρησιμοποιώντας ένα χειριστήριο και αυτό δεν υπάρχει, τουλάχιστον όχι που ξέρω. Η λύση που χρησιμοποίησα είναι να δημιουργήσω αυτά τα πέντε ανεξάρτητα σήματα PWM πλήρως στο λογισμικό.
Βήμα 1: Διαμόρφωση πλάτους παλμού στο λογισμικό
Η διαμόρφωση πλάτους παλμού έχει περιγραφεί αρκετές φορές, π.χ. σε αυτό το άρθρο Arduino:
Το PIC και το Arduino διαθέτουν ειδικό υλικό PWM στο πλοίο που καθιστά απλή τη δημιουργία αυτού του σήματος PWM. Αν θέλουμε να κάνουμε ένα ή περισσότερα σήματα PWM στο λογισμικό, χρειαζόμαστε δύο χρονοδιακόπτες:
- Ένας χρονοδιακόπτης που χρησιμοποιείται για τη δημιουργία της συχνότητας PWM
- Ένας χρονοδιακόπτης που χρησιμοποιείται για τη δημιουργία του κύκλου λειτουργίας PWM
Και οι δύο χρονοδιακόπτες δημιουργούν και διακόπτουν όταν ολοκληρωθούν και έτσι ο χειρισμός του σήματος PWM γίνεται με πλήρη διακοπή. Για τη συχνότητα PWM χρησιμοποιώ το χρονόμετρο 0 του PIC και το αφήνω να ξεχειλίσει. Με εσωτερικό ρολόι ταλαντωτή 8 MHz και προ -κλίμακα 64 ο τύπος είναι: Fosc / 4 /256 /64 = 2.000.000 / 256 /64 = 122 Hz ή 8, 2 ms. Η συχνότητα πρέπει να είναι αρκετά υψηλή, ώστε το ανθρώπινο μάτι να μην μπορεί να την εντοπίσει. Μια συχνότητα 122 Hz είναι αρκετά επαρκής για αυτό. Το μόνο που κάνει αυτή η ρουτίνα διακοπής χρονοδιακόπτη είναι να αντιγράψει τον κύκλο λειτουργίας για έναν νέο κύκλο PWM και να ενεργοποιήσει όλα τα LED. Το κάνει αυτό και για τα 5 LED ανεξάρτητα.
Η τιμή του χρονοδιακόπτη για τον χειρισμό του κύκλου λειτουργίας PWM εξαρτάται από τον τρόπο με τον οποίο κάνουμε το εφέ κερί. Στην προσέγγισή μου προσομοιώνω αυτό το αποτέλεσμα αυξάνοντας τον κύκλο λειτουργίας με μια τιμή 3 για να αυξήσω τη φωτεινότητα του LED και μειώνοντάς το με μια τιμή 25 για να μειώσω τη φωτεινότητα του LED. Με αυτόν τον τρόπο παίρνετε ένα αποτέλεσμα σαν κερί. Δεδομένου ότι χρησιμοποιώ μια ελάχιστη τιμή 3, ο αριθμός των βημάτων για τον έλεγχο του πλήρους κύκλου λειτουργίας με ένα byte είναι 255 /3 = 85. Αυτό σημαίνει ότι ο χρονοδιακόπτης κύκλου λειτουργίας PWM πρέπει να λειτουργεί με συχνότητα 85 φορές τη συχνότητα του Χρονοδιακόπτης συχνότητας PWM που είναι 85 * 122 = 10,370 Hz.
Για τον κύκλο εργασίας PWM χρησιμοποιώ το χρονοδιακόπτη 2 του PIC. Αυτό είναι ένα χρονόμετρο με αυτόματη επαναφόρτωση και χρησιμοποιεί τον ακόλουθο τύπο: Περίοδος = (Επαναφόρτωση + 1) * 4 * Tosc * Timer2 τιμή προεπιλογής. Με επαναφόρτωση 191 και προκαταρκτική κλίμακα 1 παίρνουμε περίοδο (191 + 1) * 4 * 1/8.000.000 * 1 = 96 us ή 10.416 Hz. Ο κύκλος λειτουργίας PWM διακόπτει τον ρουτίνα ελέγχων εάν ο κύκλος λειτουργίας έχει περάσει και απενεργοποιεί τη λυχνία LED για την οποία έχει ολοκληρωθεί ο κύκλος λειτουργίας. Εάν ο κύκλος εργασίας δεν έχει περάσει, μειώνει έναν μετρητή κύκλου εργασίας με 3 και τελειώνει τη ρουτίνα. Το κάνει αυτό για όλα τα LED ανεξάρτητα. Στην περίπτωσή μου, αυτή η ρουτίνα διακοπής μας παίρνει περίπου 25 άτομα και αφού καλείται κάθε 96 us, ήδη το 26% της CPU χρησιμοποιείται για τη διαχείριση του κύκλου λειτουργίας PWM στο λογισμικό.
Βήμα 2: Το υλικό και τα απαιτούμενα στοιχεία
Το σχηματικό διάγραμμα δείχνει το τελικό αποτέλεσμα. Αν και ελέγχω μόνο 5 LED ανεξάρτητα, πρόσθεσα ένα 6ο LED που λειτουργεί μαζί με ένα από τα 5 άλλα LED. Δεδομένου ότι ο PIC δεν μπορεί να οδηγήσει δύο LED σε μία καρφίτσα θύρας, πρόσθεσα ένα τρανζίστορ. Τα ηλεκτρονικά τροφοδοτούνται από έναν προσαρμογέα DC 6 volt / 100 mA και χρησιμοποιεί έναν ρυθμιστή τάσης χαμηλής πτώσης για να δημιουργήσει ένα σταθερό 5 Volt.
Χρειάζεστε τα ακόλουθα στοιχεία για αυτό το έργο:
- 1 μικροελεγκτής PIC 12F615
- 2 κεραμικοί πυκνωτές: 2 * 100nF
- Αντιστάσεις: 1 * 33k, 6 * 120 Ohm, 1 * 4k7
- 6 πορτοκαλί ή κίτρινα LED, υψηλής φωτεινότητας
- 1 τρανζίστορ BC557 ή ισοδύναμο
- 1 Ηλεκτρολυτικός πυκνωτής 100 uF / 16 V
- 1 ρυθμιστής χαμηλής πτώσης τάσης LP2950Z
Μπορείτε να χτίσετε το κύκλωμα σε ένα breadboard και δεν απαιτεί πολύ χώρο, όπως φαίνεται στην εικόνα.
Βήμα 3: Το λογισμικό που απομένει και το αποτέλεσμα
Το υπόλοιπο μέρος του λογισμικού είναι ο κύριος βρόχος. Ο κύριος βρόχος αυξάνει ή μειώνει τη φωτεινότητα των LED ρυθμίζοντας τον κύκλο λειτουργίας τυχαία. Δεδομένου ότι αυξάνουμε μόνο με μια τιμή 3 και μειώνουμε με μια τιμή 25, πρέπει να βεβαιωθούμε ότι οι μειώσεις δεν συμβαίνουν τόσο συχνά όσο οι αυξήσεις.
Δεδομένου ότι δεν χρησιμοποιούσα βιβλιοθήκες, έπρεπε να δημιουργήσω μια τυχαία γεννήτρια χρησιμοποιώντας έναν καταχωρητή αλλαγής γραμμικής ανάδρασης, δείτε:
en.wikipedia.org/wiki/Linear-feedback_shif…
Το εφέ κερί επηρεάζεται από το πόσο γρήγορα αλλάζει ο κύκλος λειτουργίας PWM, έτσι ώστε ο κύριος βρόχος χρησιμοποιεί καθυστέρηση περίπου 10 ms. Μπορείτε να ρυθμίσετε αυτήν τη φορά για να αλλάξετε το εφέ κερί στις ανάγκες σας.
Το συνημμένο βίντεο δείχνει το τελικό αποτέλεσμα όπου χρησιμοποίησα ένα καπάκι πάνω από το LED για να βελτιώσω το αποτέλεσμα.
Χρησιμοποίησα το JAL ως γλώσσα προγραμματισμού για αυτό το έργο και επισυνάπτω το αρχείο προέλευσης.
Διασκεδάστε κάνοντας αυτό το Instructable και ανυπομονώ για τις αντιδράσεις και τα αποτελέσματά σας.
Συνιστάται:
Συνδέστε πολλαπλά PZEM 004T με μονάδα Nodemcu: 3 βήματα
Συνδέστε πολλαπλά PZEM 004T με μονάδα Nodemcu: Η απαίτηση πολλαπλών μονάδων PZEM 004T σε ορισμένα έργα όπως το σύστημα ανίχνευσης κλοπής ισχύος ή το σύστημα παρακολούθησης ενέργειας είναι απαραίτητη, οπότε εδώ παρέδωσα τον κώδικα Nodemcu και τη σύνδεση 3 μονάδων PZEM 004T με το Nodemcu. Αν έχετε οποιαδήποτε ερώτηση τότε κ
Πώς να κάνετε μουσική αντιδραστική LED WS2812B με πολλαπλά μοτίβα: 4 βήματα
Πώς να κάνετε τη μουσική αντιδραστική WS2812B LED με πολλαπλά μοτίβα: WS2812, WS2812B είναι μια έξυπνη ελεγχόμενη πηγή φωτός LED. έχει ενσωματωμένο τσιπ ελέγχου και έχει 4 ακίδες. V+, V-, Din & Dout. Για τον έλεγχο αυτών των LED θέλουμε να χρησιμοποιήσουμε MCU όπως Arduino, PIC ή Rasberry pie. Χρησιμοποίησα το Arduino UNO για αυτό το έργο
Arduino Uno + SIM900 + DHT22 + Thingspeak [ENG /PL] ΠΟΛΛΑΠΛΑ ΔΕΔΟΜΕΝΑ ΑΙΣΘΗΤΗΡΑ!: 3 Βήματα
Arduino Uno + SIM900 + DHT22 + Thingspeak [ENG /PL] ΠΟΛΛΑΠΛΑ ΑΙΣΘΗΤΗΡΑ ΔΕΔΟΜΕΝΑ !: Γεια, είδα ότι υπάρχει έλλειψη πληροφοριών σχετικά με τον τρόπο μετάδοσης πολλαπλών δεδομένων αισθητήρα σε πράγματα από το Arduino Uno με μονάδα SIM900. Έτσι, έκανα σύντομο οδηγό σύνδεσης και διαμόρφωσης Arduino UNO με SIM900 και αισθητήρα DHT22. Δεδομένα από DHT22 (ιδιοσυγκρασία
Φως πουλόβερ Chanukah με ατομικά "κεριά": 7 βήματα (με εικόνες)
Light-up Chanukah πουλόβερ με ατομικά «κεριά»: Η περίοδος των γιορτών του είναι και φέτος μπορείτε να γίνετε το αστραφτερό αστέρι του πάρτι με ένα ελαφρύ πουλόβερ menorah! Αυτό είναι ένα ραμμένο σχέδιο κυκλώματος που χρησιμοποιεί σχετικά φθηνά υλικά που βρίσκονται εύκολα στο διαδίκτυο και στο κατάστημα χειροτεχνίας. Ακόμη καλύτερα
Πώς να χρησιμοποιήσετε το Wiimote ως ποντίκι υπολογιστή χρησιμοποιώντας κεριά ως αισθητήρα !!: 3 βήματα
Πώς να χρησιμοποιήσετε το Wiimote ως ποντίκι υπολογιστή χρησιμοποιώντας κεριά ως αισθητήρα !!: Αυτός ο οδηγός θα σας δείξει πώς να συνδέσετε το Wii Remote (Wiimote) με τον υπολογιστή σας και να το χρησιμοποιήσετε ως ποντίκι