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

Χριστουγεννιάτικο δέντρο NeoPixel ελεγχόμενο μέσω Bluetooth: 5 βήματα
Χριστουγεννιάτικο δέντρο NeoPixel ελεγχόμενο μέσω Bluetooth: 5 βήματα

Βίντεο: Χριστουγεννιάτικο δέντρο NeoPixel ελεγχόμενο μέσω Bluetooth: 5 βήματα

Βίντεο: Χριστουγεννιάτικο δέντρο NeoPixel ελεγχόμενο μέσω Bluetooth: 5 βήματα
Βίντεο: Easy ESP32 Neopixel Christmas Tree 2024, Ιούλιος
Anonim

Έχετε αναρωτηθεί πώς να προσθέσετε IoT (Internet of Things) στο χριστουγεννιάτικο δέντρο σας φέτος; Λοιπόν, είναι απολύτως δυνατό! Προσωπικά ονομάζω αυτό το έργο "ArduXmas" και αποτελείται από μια λωρίδα led RGB NeoPixel που ελέγχεται από έναν πίνακα Arduino μέσω Bluetooth. Αυτό είναι ένα φιλικό για αρχάριους έργο και μια μεγάλη εισαγωγή στο Arduino e IoT, οπότε πάρτε τα εργαλεία σας και ας τα καταφέρουμε!

Προμήθειες:

Για αυτό το έργο θα χρειαστείτε:

  • Arduino (χρησιμοποίησα το Nano, αλλά οποιαδήποτε έκδοση θα λειτουργήσει, απλώς φροντίστε να τροφοδοτήσετε σωστά την πλακέτα σας)
  • Λωρίδα LED NeoPixel WS2812b
  • HC-06 μονάδα Bluetooth
  • Τροφοδοτικό 5V 2A DC
  • DC Barrel Power Jack/Connector
  • Πλάκα φαινολίτη για συγκράτηση των συστατικών
  • Θήκη περιβλήματος
  • Smartphone Android με εγκατεστημένη την εφαρμογή Blynk

Βήμα 1: Το κύκλωμα

Το Κύκλωμα
Το Κύκλωμα
Το Κύκλωμα
Το Κύκλωμα
Το Κύκλωμα
Το Κύκλωμα

Τα ηλεκτρονικά αυτού του έργου είναι πολύ απλά. Το Arduino, η μονάδα Bluetooth και η λωρίδα LED τροφοδοτούνται από την τροφοδοσία 5V (βεβαιωθείτε ότι όλα τα GND είναι συνδεδεμένα μεταξύ τους). Ο πίνακας Arduino τροφοδοτείται μέσω της θύρας 5V (ΠΡΟΣΟΧΗ: Η τροφοδοσία του Arduino χρησιμοποιώντας τη θύρα 5V μπορεί να προκαλέσει ζημιά στην πλακέτα σας εάν δεν είστε προσεκτικοί. Βεβαιωθείτε ότι χρησιμοποιείτε ρυθμιζόμενο τροφοδοτικό 5V και μην ανακατεύετε το +5V και καλώδια GND). Το ρεύμα που παρέχεται από το τροφοδοτικό σας θα εξαρτηθεί από το μήκος της λωρίδας LED. Χρησιμοποιώ 180 led με το 40% της πλήρους φωτεινότητας και 2 αμπέρ κρατούν καλά, αλλά φροντίζετε πάντα να παρέχετε το απαραίτητο ρεύμα (Θυμηθείτε: Κάθε LED RGB χρησιμοποιεί περίπου 20mA + 20mA + 20mA = 60mA).

Η μονάδα Bluetooth HC-06 είναι συνδεδεμένη με τις ακίδες 0 και 1 (RX, TX) του Arduino, απλά να θυμάστε ότι για να χρησιμοποιήσετε αυτήν την ενότητα, η καρφίτσα RX του HC-06 συνδέεται με το Arduino's TX και η ακίδα TX του HC-06 είναι συνδεδεμένο με το RX του Arduino. Αυτές είναι οι σειριακές ακίδες σύνδεσης της πλακέτας και χρησιμοποιούνται για τη λήψη εντολών από το smartphone. Πρόσθεσα ένα διακόπτη για εύκολη ενεργοποίηση/απενεργοποίηση της μονάδας, ώστε να μπορώ να την απενεργοποιήσω κατά τον προγραμματισμό της πλακέτας, διαφορετικά ο υπολογιστής δεν μπορεί να επικοινωνήσει με το Arduino.

Στο κύκλωμα, ο πείρος εξόδου δεδομένων που πηγαίνει στη λωρίδα LED είναι ο ψηφιακός ακροδέκτης 2, αλλά μπορείτε να επιλέξετε οποιονδήποτε πείρο PWM και να τον αλλάξετε ανάλογα στον κώδικα (ΘΥΜΗΘΕΙΤΕ: Οι λωρίδες LED του NeoPixel έχουν κατεύθυνση για το σήμα δεδομένων. Πάντα αναζητήστε το εικονίδια βέλους στη λωρίδα σας).

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

Βήμα 2: Το περίβλημα

Το περίβλημα
Το περίβλημα
Το περίβλημα
Το περίβλημα
Το περίβλημα
Το περίβλημα

Για το περίβλημα χρησιμοποιώ απλώς μια θήκη τροφοδοσίας ενός παλιού φορητού υπολογιστή που ταιριάζει όμορφα στα εξαρτήματα. Ασφαλίστε τα πάντα με ζεστή κόλλα και αφήστε τρύπες για τη θύρα USB του Arduino, το διακόπτη του HC-06, το βύσμα DC και το βύσμα λωρίδας LED.

Βήμα 3: Εφαρμογή Blynk

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

Για επικοινωνία με το Arduino χρησιμοποιούμε την εφαρμογή Blynk. Με το Blynk μπορείτε εύκολα να δημιουργήσετε διεπαφές για την αποστολή δεδομένων από το smartphone στο υλικό ή το αντίστροφο, είναι επίσης δυνατό να ελέγχετε άμεσα τις θύρες του μικροελεγκτή χωρίς να αλλάζετε μία γραμμή κώδικα!

ΑΠΟΠΟΙΗΣΗ: Δυστυχώς, αυτή η εφαρμογή θα λειτουργεί μόνο για smarphones Android επειδή η λειτουργία Bluetooth είναι ακόμα σε έκδοση Beta και δεν είναι ακόμα διαθέσιμη για IOS, αυτό σημαίνει επίσης ότι δεν θα είναι δυνατή η εξαγωγή του έργου ως αυτόνομη εφαρμογή.

Ρυθμίστε την εφαρμογή σας για να λαμβάνετε το διακριτικό ελέγχου ταυτότητας για το έργο σας στα εισερχόμενά σας ηλεκτρονικού ταχυδρομείου (αυτή η εγγραφή θα χρειαστεί αργότερα στον κώδικα του Arduino). Ο ιστότοπος του Blynk έχει ένα μεγάλο βήμα-βήμα φροντιστήριο για αυτό, ελέγξτε το:

Για αυτό το έργο, χρησιμοποιώ δύο κουμπιά για να ενεργοποιήσω 2 κινούμενα σχέδια προ-κωδικοποιημένου φωτός. ένα στοιχείο RGB για να ορίσετε το χρώμα της λωρίδας LED. ένα ρυθμιστικό για τον έλεγχο της φωτεινότητας και ένα στοιχείο bluetooth για σύνδεση στο Arduino. Ελέγξτε τις εικόνες για να δείτε πώς έχει ρυθμιστεί κάθε στοιχείο. Δώστε προσοχή στις καρφίτσες που χρησιμοποιούνται για αυτό το έργο καθώς χρησιμοποιούμε τους εικονικούς πείρους του Blynk, αυτό είναι ένα ωραίο χαρακτηριστικό που επιτρέπει την αποστολή δεδομένων από την εφαρμογή στο υλικό. Για περισσότερες πληροφορίες σχετικά με τις εικονικές καρφίτσες:

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

Κωδικός Arduino
Κωδικός Arduino

It'sρθε η ώρα να ολοκληρώσετε τον κώδικα! Το αρχείο που παρείχα έχει τη βασική δομή για την εκτέλεση του έργου, αλλά μπορείτε να το αλλάξετε όπως θέλετε. Ωστόσο, για να λειτουργήσει σωστά, πρέπει να αντικαταστήσετε το γράμμα author με το διακριτικό που λάβατε στα εισερχόμενα email σας. Θυμηθείτε επίσης να αλλάξετε τις μεταβλητές LED_PIN και LED_COUNT ανάλογα με τη ρύθμισή σας.

Η συμπεριφορά των LED καθορίζεται από τη μεταβλητή anim που αλλάζει όταν λαμβάνεται ένα αίτημα από την εφαρμογή. Μπορείτε να προσθέσετε όσες δυνατότητες για κινούμενα σχέδια θέλετε, απλώς προσθέστε τη λειτουργία σας στη δομή του διακόπτη στη συνάρτηση toggleAnimation () και εκχωρήστε την αντίστοιχη ανάγνωση του Virtual Pin στο επάνω μέρος του κώδικα.

Η κίνηση που εκτελείται σε βρόχο () είναι συνδεδεμένη με ένα χρονόμετρο που εκτελείται σε διαστήματα 100ms. Αυτό είναι απαραίτητο και δεν συνιστώ να το αλλάξετε, επειδή παρεμβαίνει στην εντολή Blynk.run () και η σύνδεση διακόπτεται εάν η βιβλιοθήκη Blynk εντοπίσει πάρα πολλά αιτήματα σε σύντομο χρονικό διάστημα.

Συνιστάται: