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

MQTT φώτα διάθεσης με ESP32: 4 βήματα (με εικόνες)
MQTT φώτα διάθεσης με ESP32: 4 βήματα (με εικόνες)

Βίντεο: MQTT φώτα διάθεσης με ESP32: 4 βήματα (με εικόνες)

Βίντεο: MQTT φώτα διάθεσης με ESP32: 4 βήματα (με εικόνες)
Βίντεο: ESP32 Tutorial 52 - WS2812 CheerLights MQTT Global Sync with LCD | SunFounder ESP32 IoT Learnig kit 2024, Ιούλιος
Anonim
MQTT φώτα διάθεσης με ESP32
MQTT φώτα διάθεσης με ESP32

Είχα μπει στον πειρασμό εδώ και αρκετό καιρό να μπω στο LED bandwagon, οπότε τελείωσα και πήρα μια λωρίδα LED για να παίξω. Κατέληξα να φτιάχνω αυτά τα φώτα διάθεσης. Μπορούν να ελεγχθούν με MQTT, καθιστώντας δυνατή την προσθήκη όλων των ειδών έξυπνων.

Αυτό είναι ένα καλό έργο για το Σαββατοκύριακο, αν δεν έχετε τίποτα άλλο και θέλετε να λερώσετε τα χέρια σας κάνοντας κάτι.

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

Προμήθειες

ΗΛΕΚΤΡΟΝΙΚΑ ΕΙΔΗ:

  • 1x πίνακας ανάπτυξης ESP32
  • 1x OLED οθόνη 0,96 "I2C
  • 1x Buzzer
  • 1x γρύλος βαρελιού
  • Τροφοδοσία 1x 12V (το ρεύμα εξαρτάται από το μήκος της ταινίας σας)
  • Μετατροπέας 1x LM2596 buck
  • 1x λωρίδα LED RGB Common-anode
  • 3x MOSFET IRFZ44N
  • 3x τρανζίστορ BC547
  • Αντιστάσεις 3x 10kΩ
  • 4x αντιστάσεις 100Ω
  • 1x σανίδα πρωτοτύπων
  • 4x βιδωτοί ακροδέκτες
  • Κεφαλίδες ανδρών και γυναικών
  • Wire (χρησιμοποίησα μονόκλωνο)

Άλλο υλικό και εργαλεία:

  • Το υλικό που θέλετε για ένα περίβλημα (χρησιμοποίησα MDF)
  • Επίπεδο, αγώγιμο υλικό για επαφές αφής (χρησιμοποίησα λεπτό φύλλο αλουμινίου)
  • Πριόνια, τρυπάνια, γυαλόχαρτο κ.λπ.
  • Συγκολλητικό σίδερο και φίλοι
  • Ζεστή κόλλα

Θα συνιστούσα ανεπιφύλακτα να μην χρησιμοποιείτε ESP32 με ενσωματωμένη οθόνη OLED, γιατί καθίσταται πολύ δύσκολο να κάνετε μια καλά ευθυγραμμισμένη διακοπή στο περίβλημα σας γι 'αυτό.

Βήμα 1: Ηλεκτρονικά

ΗΛΕΚΤΡΟΝΙΚΑ ΕΙΔΗ
ΗΛΕΚΤΡΟΝΙΚΑ ΕΙΔΗ
ΗΛΕΚΤΡΟΝΙΚΑ ΕΙΔΗ
ΗΛΕΚΤΡΟΝΙΚΑ ΕΙΔΗ

Το σχηματικό συνημμένο δείχνει όλες τις απαιτούμενες συνδέσεις, εκτός από τις εισόδους αφής. Υπάρχει επίσης ένα σχετικά ασαφές διάγραμμα breadboard που δείχνει πώς να συνδέσετε ένα MOSFET, σε περίπτωση που το σχήμα είναι ανεπαρκές.

Εξουσία

Ένας μετατροπέας buck LM2596 κατεβάζει τα 12V από την παροχή ρεύματος σε 5V για το VIN του ESP. Βεβαιωθείτε ότι το τροφοδοτικό είναι σωστά βαθμολογημένο για το μήκος της λωρίδας LED που χρησιμοποιείτε. Η λωρίδα μου μήκους 2 μέτρων τραβά λίγο περισσότερο από 2 αμπέρ.

Καρφίτσες και περιφερειακά

Τέσσερις ακίδες αφής χρησιμοποιούνται για εισόδους αφής. Ο πίνακας μου ESP32 συνοδεύτηκε από μια οθόνη OLED, των οποίων οι ακίδες I2C ήταν συνδεδεμένες. Χρησιμοποιεί τέσσερις ακίδες PWM, μία για κάθε στοιχείο χρώματος (κόκκινο, πράσινο και μπλε) και μία για το βομβητή.

Το MOSFET μπερδεύεται

Τα MOSFET επιλέχθηκαν για να χειρίζονται τους γρήγορους χρόνους μεταγωγής για PWM και σχετικά υψηλό ρεύμα. Υπάρχει ένα MOSFET για κάθε συστατικό χρώματος. Χρησιμοποίησα ξεχωριστά NPN BJT (BC547) μαζί με μια αντίσταση έλξης για να οδηγήσω τα IRFZ44N, καθώς τα ψηφιακά σήματα 3.3V από το ESP32 μπορεί να μην ήταν αρκετά για τα MOSFET να μεταφέρουν τόσο ρεύμα όσο χρειάζεται. MOSFET λογικού επιπέδου όπως το IRLZ44N υπάρχουν, αλλά τα έμαθα μόνο αφού είχα ολοκληρώσει τη συγκόλληση των πάντων. Είτε έτσι είτε αλλιώς, η λωρίδα μου που τραβάει ~ 2Α λειτουργεί καλά.

Συγκόλληση

Οι ακροδέκτες βίδας χρησιμοποιούνται για τη σύνδεση με τη λωρίδα LED και οι γυναικείες κεφαλίδες για να συνδέσετε το ESP32, σε περίπτωση που ήθελα να αντικαταστήσω κανένα από αυτά χωρίς να ξεκολλήσουμε. Η συγκόλληση κράτησε περίπου δύο ώρες και ήταν πολύ απλή. Έδωσα επίσης στη λωρίδα LED μερικά μακρύτερα καλώδια.

Γιατί επέλεξα το ESP32

Διαθέτει WiFi και Bluetooth επί του σκάφους (αν και έχω χρησιμοποιήσει μόνο WiFi αυτήν τη στιγμή), και είχα ένα ξαπλωμένο γύρω από το οποίο με έτρωγε να το χρησιμοποιήσω. Οι είσοδοι αφής ήταν επίσης χρήσιμες για τη διασύνδεση στο χειριστήριο, καθώς χρειάζονται μόνο ένα καλώδιο που πηγαίνει σε μια επαφή. Αν το θέλατε, ωστόσο, το ESP32 θα μπορούσε εύκολα να αντικατασταθεί από έναν μικροελεγκτή όπως το ESP8266.

Βήμα 2: Κωδικός

Χρησιμοποίησα το σύνολο εργαλείων Arduino (στην πραγματικότητα την επέκταση Arduino για τον κώδικα VS:)) για να το προγραμματίσω. Υπάρχουν υπέροχα σεμινάρια όπως αυτό για το πώς να ξεκινήσετε με το ESP32 και το Arduino IDE, αν δεν το έχετε κάνει ήδη.

Υπάρχουν τέσσερις διαφορετικές λειτουργίες για χειρισμό: στατικό χρώμα, τυχαίο χρώμα, Κόκκινο συναγερμό και Μπλε ειδοποίηση. Υπάρχουν τέσσερις είσοδοι αφής για πάνω, κάτω, επόμενο και Red Alert. Το άγγιγμα χρησιμοποιεί διακοπές.

Πρόσθεσα MQTT και στα έργα, έτσι ώστε να μπορώ να το ελέγξω μέσω WiFi. Προσπαθώ να έχω μια αίσθηση για τις τρεις μεγάλες ιστοσελίδες (HTML, CSS, JS), έτσι σχεδίασα μια ιστοσελίδα με θέμα το Star Trek (αλλά μάλλον άσχημο) που επικοινωνεί με έναν μεσίτη MQTT για να ελέγξει τα φώτα της διάθεσης.

Όλος ο κώδικάς μου μπορεί να βρεθεί συνημμένος, μαζί με ένα γρήγορο φύλλο αναφοράς, του οποίου το όνομα αρχείου μπορεί να θέλετε να αλλάξετε για να το κάνετε markdown. Μετακινήστε όλα τα αρχεία σε ένα φάκελο με το όνομα "ESP32MQTTMoodLighting" πριν ανοίξετε με το Arduino.

Σημειώστε ότι ο κωδικός μου λειτουργεί, αλλά μάλλον δεν είναι ο μεγαλύτερος. Αλλά αυτό δεν πρέπει να έχει σημασία, γιατί έτσι κι αλλιώς θα γράψεις το δικό σου, σωστά;:)

Βήμα 3: Περίβλημα και συναρμολόγηση

Περίβλημα και συναρμολόγηση
Περίβλημα και συναρμολόγηση
Περίβλημα και συναρμολόγηση
Περίβλημα και συναρμολόγηση
Περίβλημα και συναρμολόγηση
Περίβλημα και συναρμολόγηση
Περίβλημα και συναρμολόγηση
Περίβλημα και συναρμολόγηση

Κατά τη διάρκεια του κλειδώματος, το μόνο υλικό που μπορούσα να πιάσω ήταν ένα φύλλο MDF 5 χιλιοστών. Έκανα τις μεγάλες περικοπές με ένα κανονικό πριόνι, και έδωσα σε όλα μια καλή άμμο. Ένα διπλό στρώμα χρώματος σμάλτου τελείωσε την κύρια προετοιμασία.

Πίσω Πάνελ

Iθελα το κουτί μου να ανοίγει εύκολα, οπότε τοποθέτησα όλα τα ηλεκτρονικά μου στον πίσω πίνακα με τέσσερις στάσεις M2 PCB. Ο πίνακας μου είχε ήδη ανοίξει τρύπες Μ2. Οι αντιδράσεις μου είχαν μικρά νήματα με σπείρωμα στο κάτω μέρος, τα οποία σκόπευα να στερεώσω στο MDF. Αλλά, δεν είχα τρυπάνι Μ2. Έτσι, σημειώνοντας τη θέση κάθε οπής, χρησιμοποίησα ένα μικρό κατσαβίδι επίπεδης κεφαλής για να βγάλω τις τρύπες με το χέρι. Ακατέργαστο αλλά αποτελεσματικό. Οι διάμετροι των οπών ήταν λίγο μικρότερες από αυτές του κοχλιωτού τμήματος της στεγανότητας. Έστριψα τις στάσεις μέσα και έξω από τις τρύπες μερικές φορές, οι οποίες διευρύνθηκαν και σχεδόν τις σπείρωσαν.

Τελικά, οι αντιδράσεις κάθισαν σταθερά στις τρύπες τους και κράτησαν τη σανίδα στη θέση τους. Επειδή το MDF μου ήταν πολύ παχύ, τίποτα δεν φάνηκε στην άλλη πλευρά.

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

Πρόσοψη

OLED Display Cutout

Ξεκίνησα την αποκοπή μου για το OLED με μερικές τρύπες εκκίνησης και τις κατέθεσα σε μέγεθος. Κατέληξε να είναι πολύ ασταθές και μη ευθυγραμμισμένο. Οχι ο διπλός έλεγχος των μετρήσεων μπορεί να έπαιξε ρόλο σε αυτό, αλλά γλιτώστε τον εαυτό σας από κάποιο πρόβλημα αν δεν χρησιμοποιήσετε έναν πίνακα ανάπτυξης με ενσωματωμένο OLED. Είναι πολύ πιο εύκολο να τοποθετήσετε την οθόνη στην τρύπα σας.

Συνδετήρας

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

Μαξιλάρια αφής

Οι επαφές αφής έγιναν από κάποιο φύλλο αλουμινίου. Το έκοψα για να πάρω τα τέσσερα μαξιλάρια που χρειάζομαι και επαληθεύω ότι δεν υπήρχαν οδοντωτές άκρες. Στη συνέχεια, άνοιξα τρύπες στον μπροστινό πίνακα, αρκετά μεγάλο για ένα σύρμα. Για να αφήσω το συγκολλητικό να κολλήσει στα τακάκια, έτριψα ένα μικρό τμήμα της μίας πλευράς με γυαλόχαρτο για να αφαιρέσω το οξειδωμένο στρώμα και έπειτα του έδωσα ένα γρήγορο σκούπισμα για να αφαιρέσω τυχόν σωματίδια. Τρέχοντας κάθε σύρμα μέσω της αντίστοιχης οπής του στον μπροστινό πίνακα, κόλλησα το καθένα στο τακάκι του. Βεβαιωθείτε ότι η συγκόλλησή σας δεν δημιουργεί πολύ μεγάλη διόγκωση στο πίσω μέρος, καθώς αυτό δεν θα επιτρέψει στο μαξιλάρι να κάθεται στο ίδιο επίπεδο με το πάνελ.

Τέλος, προσθέστε λίγη θερμή κόλλα στο πίσω μέρος κάθε μαξιλαριού και σπρώξτε τα στο μπροστινό πλαίσιο. Προσθέτοντας πάρα πολύ, τα μαξιλάρια θα κάθονται ανασηκωμένα από τον πίνακα. Καθαρίστε τυχόν περίσσεια κόλλας που μπορεί να έχει σπρωχτεί κάτω από τα τακάκια.

Το υπόλοιπο

Τα πλαϊνά πάνελ είναι αρκετά απλά. Μια τρύπα γρήγορης πρόσβασης στους βιδωτούς ακροδέκτες ήταν περισσότερο πρόβλημα από ό, τι άξιζε. Κόλλησα ζεστά τα πλαϊνά πάνελ στο μπροστινό πλαίσιο.

Το Velcro σε δύο άκρες συγκρατεί το μπροστινό τμήμα στο πίσω πλαίσιο. Τα κενά επιτρέπουν τη διαφυγή του ήχου του βομβητή. Εάν κάνετε καλύτερη δουλειά από μένα, δεν πρέπει να καταλήξετε σε κάτι που μοιάζει με προσχολική τέχνη ενός 5χρονου:)

Η λωρίδα LED μου είχε κολλητική πλάτη (είμαι σίγουρος ότι και η δική σας). Τοποθέτησα το δικό μου έτσι ώστε το φως να διαχέεται από τον τοίχο.

Βήμα 4: Συνδέστε το

Συνέδεσε το!
Συνέδεσε το!

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

Ελπίζω να σας άρεσε να διαβάζετε αυτό το Instructable και να έχετε μερικές ιδέες για τα δικά σας έργα. Όπως προανέφερα, είμαι αρχάριος και αυτό είναι το πρώτο μου εκπαιδευτικό. Θα εκτιμούσα τυχόν συμβουλές και σχόλια.

Συνιστάται: