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

DIY Smart LED Dimmer Controlled via Bluetooth: 7 Steps
DIY Smart LED Dimmer Controlled via Bluetooth: 7 Steps

Βίντεο: DIY Smart LED Dimmer Controlled via Bluetooth: 7 Steps

Βίντεο: DIY Smart LED Dimmer Controlled via Bluetooth: 7 Steps
Βίντεο: One word… Revolutionary #thesmartrevolution #fingerbot #gadget 2024, Νοέμβριος
Anonim
DIY Smart LED Dimmer Controlled μέσω Bluetooth
DIY Smart LED Dimmer Controlled μέσω Bluetooth

Αυτό το Instructable περιγράφει τον τρόπο δημιουργίας ενός έξυπνου ψηφιακού ρυθμιστή. Το ροοστάτη είναι ένας κοινός διακόπτης φωτός που χρησιμοποιείται σε σπίτια, ξενοδοχεία και πολλά άλλα κτίρια. Οι παλαιότερες εκδόσεις των διακόπτων dimmer ήταν χειροκίνητες και συνήθως περιλάμβαναν έναν περιστροφικό διακόπτη (ποτενσιόμετρο) ή κουμπιά για τον έλεγχο του επιπέδου φωτός. Αυτό το Instructable περιγράφει τον τρόπο δημιουργίας ενός ψηφιακού dimmer που έχει δύο τρόπους ελέγχου της έντασης του φωτός. ένα smartphone και φυσικά κουμπιά. Οι δύο λειτουργίες μπορούν να λειτουργούν άψογα μαζί, έτσι ώστε ο χρήστης να μπορεί να αυξήσει ή να μειώσει τη φωτεινότητα τόσο από ένα κουμπί όσο και από το smartphone. Το έργο υλοποιείται χρησιμοποιώντας μια μονάδα SLG46620V CMIC, μονάδα Bluetooth HC-06, κουμπιά και LED.

Θα χρησιμοποιήσουμε το SLG46620V CMIC καθώς βοηθά στην ελαχιστοποίηση των διακριτών στοιχείων του έργου. Τα IC του GreenPAK are είναι μικρά και διαθέτουν στοιχεία πολλαπλής χρήσης, τα οποία επιτρέπουν στον σχεδιαστή να μειώσει τα εξαρτήματα και να προσθέσει νέες δυνατότητες. Επιπλέον, το κόστος του έργου μειώνεται στη συνέχεια.

Το SLG46620V περιέχει επίσης μια διεπαφή σύνδεσης SPI, μπλοκ PWM, FSM και πολλά χρήσιμα πρόσθετα μπλοκ σε ένα μικροσκοπικό τσιπ. Αυτά τα εξαρτήματα επιτρέπουν στον χρήστη να κατασκευάσει ένα πρακτικό έξυπνο ρυθμιστή που μπορεί να ελεγχθεί μέσω συσκευής Bluetooth ή κουμπιών τοίχου, υποστηρίζει παρατεταμένη ρύθμιση φωτεινότητας και προσθήκη επιλογών χαρακτηριστικών χωρίς τη χρήση μικροελεγκτή ή ακριβών εξαρτημάτων.

Παρακάτω περιγράψαμε τα βήματα που απαιτούνται για να καταλάβουμε πώς έχει προγραμματιστεί η λύση για τη δημιουργία ενός έξυπνου ρυθμιστή LED που ελέγχεται μέσω Bluetooth. Ωστόσο, εάν θέλετε απλώς να λάβετε το αποτέλεσμα προγραμματισμού, κατεβάστε το λογισμικό GreenPAK για να δείτε το ήδη ολοκληρωμένο GreenPAK Design File. Συνδέστε το GreenPAK Development Kit στον υπολογιστή σας και πατήστε το πρόγραμμα για να δημιουργήσετε το έξυπνο φωτιστικό LED που ελέγχεται μέσω Bluetooth.

Βήμα 1: Χαρακτηριστικά έργου και διεπαφή

Χαρακτηριστικά έργου και διεπαφή
Χαρακτηριστικά έργου και διεπαφή

Χαρακτηριστικά έργου:

1. Δύο μέθοδοι ελέγχου. εφαρμογή για κινητά και πραγματικά κουμπιά.

2. Ομαλή μετάβαση on-off για το φως. Αυτό είναι πιο υγιεινό για τα μάτια του καταναλωτή. Δίνει επίσης μια πιο πολυτελή αίσθηση, η οποία είναι ελκυστική σε ξενοδοχεία και άλλες βιομηχανίες υπηρεσιών.

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

Διασύνδεση έργου

Η διεπαφή του έργου έχει τέσσερα κουμπιά, τα οποία χρησιμοποιούνται ως είσοδοι GreenPAK:

ΕΝΕΡΓΟΠΟΙΗΣΗ / ΑΠΕΝΕΡΓΟΠΟΙΗΣΗ: ανάψτε τη λυχνία ΕΝΕΡΓΟΠΟΙΗΜΕΝΗ / OFF (απαλή εκκίνηση / διακοπή).

UP: αύξηση του επιπέδου φωτός.

Κάτω: μείωση του επιπέδου φωτισμού.

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

Το σύστημα θα βγάλει ένα σήμα PWM, το οποίο θα περάσει σε μια εξωτερική ένδειξη LED και σε κατάσταση αναστολής λειτουργίας.

Ο σχεδιασμός GreenPAK αποτελείται από 4 κύρια μπλοκ. Ο πρώτος είναι ένας δέκτης UART, ο οποίος λαμβάνει δεδομένα από τη μονάδα Bluetooth, εξάγει παραγγελίες και τα στέλνει σε μια μονάδα ελέγχου. Το δεύτερο μπλοκ είναι μια μονάδα ελέγχου, η οποία λαμβάνει παραγγελίες που προέρχονται από τον δέκτη UART ή από τα εξωτερικά κουμπιά. Η μονάδα ελέγχου αποφασίζει την απαιτούμενη ενέργεια (Ενεργοποίηση/Απενεργοποίηση, Αύξηση, μείωση, ενεργοποίηση της λειτουργίας αναστολής λειτουργίας). Αυτή η μονάδα υλοποιείται χρησιμοποιώντας LUT.

Το τρίτο μπλοκ παρέχει τις γεννήτριες CLK. Σε αυτό το έργο, ένας μετρητής FSM χρησιμοποιείται για τον έλεγχο του PWM. Η τιμή του FSM θα αλλάξει (πάνω, κάτω) σύμφωνα με τις εντολές που δίνονται από 3 συχνότητες (υψηλή, μεσαία και χαμηλή). Σε αυτήν την ενότητα θα δημιουργηθούν οι τρεις συχνότητες και το απαιτούμενο CLK θα περάσει στο FSM σύμφωνα με την απαιτούμενη σειρά. Κατά την ενεργοποίηση/απενεργοποίηση της λειτουργίας, η υψηλή συχνότητα περνά στο FSM για απαλή εκκίνηση/διακοπή. Κατά τη διάρκεια της εξασθένισης, η μέση συχνότητα περνά. Η χαμηλή συχνότητα περνά σε κατάσταση αδράνειας για να μειώσει την τιμή FSM πιο αργά. Στη συνέχεια, η φωτεινότητα φωτός μειώνεται επίσης αργά. Το τέταρτο μπλοκ είναι η μονάδα PWM, η οποία παράγει παλμούς σε εξωτερικά LED.

Βήμα 2: Σχεδιασμός GreenPAK

Ο καλύτερος τρόπος για να δημιουργήσετε ένα dimmer χρησιμοποιώντας το GreenPAK είναι χρησιμοποιώντας το FSM των 8-bit και ένα PWM. Στο SLG46620, το FSM1 περιέχει 8 bit και μπορεί να χρησιμοποιηθεί με PWM1 και PWM2. Η μονάδα Bluetooth πρέπει να είναι συνδεδεμένη, πράγμα που σημαίνει ότι πρέπει να χρησιμοποιηθεί η παράλληλη έξοδος SPI. Τα bits παράλληλης εξόδου SPI 0 έως 7 συνδέονται με εξόδους DCMP1, DMCP2 και LF OSC CLK, OUT1, OUT0 OSC. Το PWM0 αποκτά την έξοδό του από το FSM0 (16 bit). Το FSM0 δεν σταματά στο 255. αυξάνεται έως 16383. Για να περιορίσετε την αντίθετη τιμή στα 8 bits, προστίθεται άλλο FSM. Το FSM1 χρησιμοποιείται ως δείκτης για να μάθετε πότε ο μετρητής φτάνει το 0 ή το 255. Το FSM0 χρησιμοποιήθηκε για τη δημιουργία του παλμού PWM. Καθώς οι δύο τιμές FSM πρέπει να αλλάξουν ταυτόχρονα για να έχουν την ίδια τιμή, ο σχεδιασμός γίνεται λίγο περίπλοκος, όπου και στα δύο FSM έχουν ένα προκαθορισμένο, περιορισμένο, επιλέξιμο CLK. Τα CNT1 και CNT3 χρησιμοποιούνται ως μεσολαβητές για να περάσουν το CLK και στους δύο FSM.

Ο σχεδιασμός αποτελείται από τις ακόλουθες ενότητες:

- δέκτης UART

- Μονάδα ελέγχου

- CLK Generators και multiplexer

- PWM

Βήμα 3: Δέκτης UART

Δέκτης UART
Δέκτης UART

Πρώτον, πρέπει να ρυθμίσουμε τη μονάδα Bluetooth HC06. Το HC06 χρησιμοποιεί το πρωτόκολλο UART για επικοινωνία. Το UART σημαίνει Universal Asynchronous Receiver / Transmitter. Το UART μπορεί να μετατρέψει δεδομένα εμπρός και πίσω μεταξύ παράλληλων και σειριακών μορφών. Περιλαμβάνει έναν σειριακό σε παράλληλο δέκτη και έναν παράλληλο σε σειριακό μετατροπέα, οι οποίοι χρονομετρούνται χωριστά. Τα δεδομένα που λαμβάνονται στο HC06 θα διαβιβαστούν στη συσκευή μας GreenPAK. Η κατάσταση αδράνειας για το pin 10 είναι Υ HIGHΗΛΗ. Κάθε χαρακτήρας που αποστέλλεται ξεκινά με ένα λογικό κομμάτι έναρξης LOW, ακολουθούμενο από έναν ρυθμιζόμενο αριθμό bit δεδομένων και ένα ή περισσότερα λογικά bit διακοπής.

Το HC06 στέλνει 1 bit εκκίνησης, 8 bit δεδομένων και ένα bit STOP. Ο προεπιλεγμένος ρυθμός baud είναι 9600. Θα στείλουμε τα byte δεδομένων από το HC06 στο μπλοκ SPI του GreenPAK SLG46620V.

Δεδομένου ότι το μπλοκ SPI δεν έχει έλεγχο μπιτ START ή STOP, τα bit αυτά χρησιμοποιούνται για να ενεργοποιήσουν και να απενεργοποιήσουν το σήμα ρολογιού SPI (SCLK). Όταν το Pin 10 πηγαίνει ΧΑΜΗΛΟ, το IC έχει λάβει ένα bit έναρξης, οπότε χρησιμοποιούμε τον ανιχνευτή πτώσης PDLY για να προσδιορίσουμε την έναρξη της επικοινωνίας. Αυτός ο ανιχνευτής ακμής πέφτει ρολόγια DFF0, το οποίο επιτρέπει στο σήμα SCLK να χρονομετρήσει το μπλοκ SPI.

Ο ρυθμός baud είναι 9600 bit ανά δευτερόλεπτο, οπότε η περίοδος SCLK πρέπει να είναι 1/9600 = 104 μs. Ως εκ τούτου, θέσαμε τη συχνότητα OSC στα 2 MHz και χρησιμοποιήσαμε το CNT0 ως διαχωριστή συχνότητας.

2 MHz - 1 = 0,5 μs

(104 μs / 0,5 μs) - 1 = 207

Επομένως, θέλουμε η τιμή του μετρητή CNT0 να είναι 207. Για να διασφαλιστεί ότι δεν χάνονται τα δεδομένα, προστίθεται μια καθυστέρηση κύκλου μισού ρολογιού στο ρολόι SPI, έτσι ώστε το μπλοκ SPI να χρονομετρείται την κατάλληλη στιγμή. Αυτό επιτυγχάνεται με τη χρήση CNT6, 2-bit LUT1 και του εξωτερικού ρολογιού του μπλοκ OSC. Η έξοδος του CNT6 δεν ανεβαίνει μέχρι τα 52 μs μετά το χρονομέτρηση του DFF0, που είναι ακριβώς το ήμισυ της περιόδου SCLK των 104 μs. Όταν ανεβαίνει ψηλά, η πύλη 2-bit LUT1 AND επιτρέπει στο σήμα OSC 2 MHz να περάσει στο EXT. Είσοδος CLK0, η έξοδος του οποίου συνδέεται με CNT0.

Βήμα 4: Μονάδα ελέγχου

Μονάδα ελέγχου
Μονάδα ελέγχου

Σε αυτήν την ενότητα, οι εντολές θα εκτελεστούν σύμφωνα με το ληφθέν byte από τον δέκτη UART ή σύμφωνα με τα σήματα από τα εξωτερικά κουμπιά. Οι ακίδες 12, 13, 14, 15 αρχικοποιούνται ως είσοδοι και συνδέονται με εξωτερικά κουμπιά.

Κάθε ακίδα είναι εσωτερικά συνδεδεμένη με μια είσοδο πύλης OR, ενώ η δεύτερη είσοδος της πύλης συνδέεται με το αντίστοιχο σήμα που προέρχεται από το smartphone μέσω Bluetooth και θα εμφανιστεί στην παράλληλη έξοδο SPI.

Το DFF6 χρησιμοποιείται για την ενεργοποίηση της κατάστασης ύπνου όπου η έξοδός της αλλάζει σε υψηλή με την ανερχόμενη άκρη να προέρχεται από 2-bit LUT4, ενώ η DFF10 χρησιμοποιείται για τη διατήρηση της κατάστασης φωτισμού και η έξοδός της αλλάζει από χαμηλή σε υψηλή και αντίστροφα με κάθε άνοδο του άκρου από έξοδο 3-bit LUT10.

Το FSM1 είναι ένας μετρητής 8 bit. δίνει υψηλό παλμό στην έξοδο όταν η τιμή του φτάσει στο 0 ή 255. Κατά συνέπεια, χρησιμοποιείται για να αποτρέψει το FSM0 (16-bit) να ξεπεράσει την τιμή 255, καθώς η έξοδός του επαναφέρει τους DFF και αλλάζει την κατάσταση DFF10 από on σε off και το αντίστροφο εάν ο φωτισμός ελέγχεται από τα κουμπιά +, - και έχει επιτευχθεί το μέγιστο/ελάχιστο επίπεδο.

Τα σήματα που συνδέονται με τις εισόδους FSM1 διατηρούνται, επάνω θα φτάσουν στο FSM0 έως το P11 και το P12 για συγχρονισμό και διατήρηση της ίδιας τιμής και στους δύο μετρητές.

Βήμα 5: CLK Generators και Multiplexer

CLK Generators και Multiplexer
CLK Generators και Multiplexer

Σε αυτήν την ενότητα, θα δημιουργηθούν τρεις συχνότητες, αλλά μόνο μία θα χρονομετρήσει τα FSM ανά πάσα στιγμή. Η πρώτη συχνότητα είναι RC OSC, η οποία λαμβάνεται από τη μήτρα 0 έως P0. Η δεύτερη συχνότητα είναι το LF OSC, το οποίο επίσης λαμβάνεται από τη μήτρα 0 έως P1. η τρίτη συχνότητα είναι η έξοδος CNT7.

Το 3-bit LUT9 και το 3-bit LUT11 επιτρέπουν να περάσει μία συχνότητα, σύμφωνα με την έξοδο 3-bit LUT14. Μετά από αυτό, το επιλεγμένο ρολόι μεταδίδεται σε FSM0 και FSM1 μέσω CNT1 και CNT3.

Βήμα 6: PWM

PWM
PWM

Τέλος, η τιμή FSM0 μετατρέπεται σε σήμα PWM για να εμφανιστεί μέσω του ακροδέκτη 20 που αρχικοποιείται ως έξοδος και συνδέεται με τα εξωτερικά LED.

Βήμα 7: Εφαρμογή Android

Εφαρμογή Android
Εφαρμογή Android
Εφαρμογή Android
Εφαρμογή Android
Εφαρμογή Android
Εφαρμογή Android

Η εφαρμογή Android διαθέτει μια εικονική διεπαφή ελέγχου παρόμοια με την πραγματική διεπαφή. Έχει πέντε κουμπιά. ON / OFF, UP, DOWN, Sleep mode και Connect. Αυτή η εφαρμογή Android θα μπορεί να μετατρέπει τα πατήματα κουμπιών σε εντολή και θα στέλνει τις εντολές στη μονάδα Bluetooth για εκτέλεση.

Αυτή η εφαρμογή δημιουργήθηκε με το MIT App Inventor, το οποίο δεν απαιτεί εμπειρία προγραμματισμού. Το App Inventor επιτρέπει στον προγραμματιστή να δημιουργήσει μια εφαρμογή για συσκευές με λειτουργικό σύστημα Android χρησιμοποιώντας ένα πρόγραμμα περιήγησης ιστού συνδέοντας μπλοκ προγραμματισμού. Μπορείτε να εισαγάγετε την εφαρμογή μας στο MIT App Inventor κάνοντας κλικ στην επιλογή Έργα -> Εισαγωγή έργου (.aia) από τον υπολογιστή μου και επιλέγοντας το αρχείο.aia που περιλαμβάνεται σε αυτήν τη Σημείωση εφαρμογής.

Για να δημιουργήσετε την εφαρμογή Android, πρέπει να ξεκινήσετε ένα νέο έργο. Απαιτούνται πέντε κουμπιά: το ένα είναι επιλογέας λίστας για συσκευές Bluetooth και τα άλλα είναι τα κουμπιά ελέγχου. Πρέπει επίσης να προσθέσουμε ένα πρόγραμμα -πελάτη Bluetooth. Το Σχήμα 6 είναι μια λήψη οθόνης της διεπαφής χρήστη της εφαρμογής μας Android.

Αφού προσθέσουμε τα κουμπιά, πρόκειται να εκχωρήσουμε μια λειτουργία λογισμικού για κάθε κουμπί. Θα χρησιμοποιήσουμε 4 bit για να αναπαραστήσουμε την κατάσταση των κουμπιών. Ένα bit για κάθε κουμπί, επομένως, όταν πατάτε το κουμπί, ένας συγκεκριμένος αριθμός θα σταλεί μέσω Bluetooth στο φυσικό κύκλωμα.

Αυτοί οι αριθμοί φαίνονται στον Πίνακα 1.

συμπέρασμα

Αυτό το Instructable περιγράφει έναν έξυπνο ρυθμιστή που μπορεί να ελεγχθεί με δύο τρόπους. μια εφαρμογή Android και πραγματικά κουμπιά. Τέσσερα ξεχωριστά μπλοκ περιγράφονται μέσα στο GreenPAK SLG46620V που ελέγχουν τη ροή της διαδικασίας για την αύξηση ή τη μείωση του PWM ενός φωτός. Επιπλέον, μια λειτουργία ύπνου περιγράφεται ως παράδειγμα πρόσθετης διαμόρφωσης που διατίθεται για την εφαρμογή. Το παράδειγμα που παρουσιάζεται είναι χαμηλής τάσης, αλλά μπορεί να τροποποιηθεί για υλοποιήσεις υψηλότερης τάσης.

Συνιστάται: