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

IoT Moon Lamp: 5 Βήματα
IoT Moon Lamp: 5 Βήματα

Βίντεο: IoT Moon Lamp: 5 Βήματα

Βίντεο: IoT Moon Lamp: 5 Βήματα
Βίντεο: How to Moonwalk 2024, Νοέμβριος
Anonim
IoT Moon Lamp
IoT Moon Lamp

Σε αυτό το διδακτικό δείχνω πώς να μετατρέψετε μια απλή λάμπα LED με μπαταρία σε συσκευή IoT.

Το έργο αυτό περιλαμβάνει:

  • συγκόλληση;
  • προγραμματισμός ESP8266 με Arduino IDE.
  • δημιουργία εφαρμογής Android με MIT App Inventor.

Το αντικείμενο ενδιαφέροντος είναι αυτή η λάμπα σε σχήμα φεγγαριού που αγόρασα από το gearbest. Αλλά πραγματικά αυτό το σεμινάριο μπορεί να προσαρμοστεί σε οποιαδήποτε συσκευή χαμηλής τάσης DC (οι συσκευές που τροφοδοτούνται με AC απαιτούν πρόσθετα κυκλώματα).

Προμήθειες

  1. Smartphone Android (δοκιμασμένες εκδόσεις Android 7-9).
  2. Εργαλεία συγκόλλησης.
  3. Πρωτότυπο PCB (protoboard).
  4. Πλακέτα ESP-12E (ή άλλο πλακέτα με μικροελεγκτή ESP8266).
  5. Σειριακός μετατροπέας USB για προγραμματισμό.
  6. Διάφορες διαφορετικές τιμές παθητικών εξαρτημάτων (αντιστάσεις και πυκνωτές).

(Προαιρετικό. Δείτε την ενότητα "Αποκλεισμός διαγράμματος")

  1. 3.3V@500mA LDO IC.
  2. 3.3V-5V πλακέτα μετατροπέα λογικής στάθμης.
  3. Τροφοδοσία 5V DC.

Βήμα 1: Ιδέα

Ιδέα
Ιδέα

Ο λαμπτήρας Moon τροφοδοτείται από ένα κελί Li-ION 18650 και διαθέτει 3 τρόπους λειτουργίας:

  • μακριά από;
  • εγχειρίδιο;
  • αυτο.

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

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

Όταν τελείωσε το πρωτότυπο, έδιωξε ~ 80mA συνεχώς από την μπαταρία σε κατάσταση απενεργοποίησης (m 400mA σε πλήρη φωτεινότητα). Το ρεύμα αναμονής είναι υψηλό επειδή το ESP8266 λειτουργεί ως διακομιστής και είναι πάντα συνδεδεμένο σε WiFi και ακούει αιτήματα. Η μπαταρία εξαντλήθηκε μετά από μιάμιση ημέρα μόνο σε κατάσταση απενεργοποίησης, οπότε αργότερα αποφάσισα να χρησιμοποιήσω λαμπτήρες θύρα φόρτισης USB για να τροφοδοτήσω όλα τα ηλεκτρονικά από την εξωτερική τροφοδοσία 5V και την μπαταρία να τα βάλω όλα μαζί (αλλά αυτό είναι προαιρετικό).

Βήμα 2: Διάγραμμα αποκλεισμού

Αποκλεισμός διαγράμματος
Αποκλεισμός διαγράμματος

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

Σύμφωνα με την τεκμηρίωση, το ESP8266 ανέχεται μόνο 3.3V, ωστόσο υπάρχουν πολλά παραδείγματα όταν το ESP8266 λειτουργεί εντελώς καλά με 5V, οπότε ο μετατροπέας λογικής στάθμης και το LDO 3.3V μπορούν να μείνουν εκτός, ωστόσο παρέμεινα με τις βέλτιστες πρακτικές και πρόσθεσα αυτά τα εξαρτήματα.

Χρησιμοποίησα 3 ακίδες εισόδου/εξόδου ESP8266 και καρφίτσα ADC. Ένας ψηφιακός ακροδέκτης εξόδου προορίζεται για προσομοίωση πιέσεων κουμπιών, δύο ψηφιακές εισόδους είναι για τον εντοπισμό του χρώματος των λυχνιών LED (από αυτό μπορούμε να καταλάβουμε σε ποια κατάσταση βρίσκεται το MCU και ποια κατάσταση είναι μετά το πάτημα του κουμπιού). Ο πείρος ADC μετρά την τάση εισόδου (μέσω ενός διαχωριστή τάσης), έτσι μπορούμε να παρακολουθούμε το υπόλοιπο επίπεδο φόρτισης της μπαταρίας.

Ως εξωτερική τροφοδοσία χρησιμοποιώ παλιό φορτιστή τηλεφώνου 5V@1A (μην χρησιμοποιείτε γρήγορους φορτιστές).

Βήμα 3: Προγραμματισμός

Προγραμματισμός
Προγραμματισμός
Προγραμματισμός
Προγραμματισμός

Με λίγα λόγια το πρόγραμμα λειτουργεί έτσι (για περισσότερες πληροφορίες δείτε τον ίδιο τον κώδικα):

Το ESP8266 συνδέεται με το σημείο πρόσβασης WiFi, τα διαπιστευτήρια που πρέπει να εισαγάγετε στην αρχή του προηγούμενου προγραμματισμού κώδικα, λαμβάνει διεύθυνση IP από τον διακομιστή DHCP των δρομολογητών σας, για να μάθετε την IP που θα χρειαστείτε αργότερα, μπορείτε να ελέγξετε τις ρυθμίσεις διεπαφής Ιστού δρομολογητών ή να ορίσετε εντοπισμός σφαλμάτων στον κωδικό στο 1 και θα δείτε τι IP ESP πήρε στη σειριακή οθόνη (θα πρέπει να κρατήσετε αυτήν την IP στις ρυθμίσεις των δρομολογητών σας, ώστε το ESP να λαμβάνει πάντα την ίδια IP κατά την εκκίνηση).

Όταν προετοιμάζεται το MCU εκτελεί πάντα την ίδια ρουτίνα για πάντα:

  1. Ελέγξτε εάν εξακολουθείτε να είστε συνδεδεμένοι στο AP, εάν όχι, προσπαθήστε να επανασυνδεθείτε μέχρι την επιτυχία.
  2. Περιμένετε μέχρι ο πελάτης να υποβάλει αίτημα HTTP. Όταν συμβεί το αίτημα:

    1. Ελέγξτε την τάση εισόδου.
    2. Ελέγξτε σε ποια κατάσταση βρίσκονται οι λυχνίες LED.
    3. Αντιστοιχίστε το αίτημα HTTP με γνωστές καταστάσεις LED (μπλε ενεργοποιημένο, πορτοκαλί ενεργοποιημένο, αμφότερα ενεργοποιημένο, απενεργοποιημένο).
    4. Προσομοιώστε τόσα πατήματα κουμπιών όσο χρειάζεται για να επιτύχετε την επιθυμητή κατάσταση.

Θα περιγράψω εν συντομία τις οδηγίες προγραμματισμού, εάν είναι η πρώτη φορά που προγραμματίζετε ESP8266 MCU αναζητήστε περισσότερες λεπτομερείς οδηγίες.

Θα χρειαστείτε Arduino IDE και μετατροπέα σειριακής διεπαφής USB (για παράδειγμα FT232RL). Για να προετοιμάσετε το IDE ακολουθήστε αυτές τις οδηγίες.

Ακολουθήστε το διάγραμμα κυκλώματος για να συνδέσετε τη μονάδα ESP-12E για προγραμματισμό. Μερικές συμβουλές:

  • χρησιμοποιήστε εξωτερικό τροφοδοτικό 3.3V@500mA (στις περισσότερες περιπτώσεις η σειριακή τροφοδοσία USB δεν είναι αρκετή).
  • Ελέγξτε εάν ο σειριακός μετατροπέας USB είναι συμβατός σε επίπεδο λογικής 3.3V.
  • Ελέγξτε εάν τα προγράμματα οδήγησης μετατροπέα USB-serial εγκαταστάθηκαν με επιτυχία (από τον διαχειριστή συσκευών Windows), μπορείτε επίσης να ελέγξετε αν λειτουργεί σωστά από το IDE, απλώς σύντομες ακίδες RX και TX, παρά από το IDE επιλέξτε θύρα COM, ανοίξτε σειριακή οθόνη και γράψτε κάτι, αν όλα λειτουργούν θα πρέπει να δείτε το κείμενο που στέλνετε να εμφανίζεται στην κονσόλα.
  • Για κάποιο λόγο μπόρεσα να προγραμματίσω το ESP μόνο όταν συνδέσα για πρώτη φορά τον σειριακό μετατροπέα USB σε υπολογιστή και στη συνέχεια τροφοδοτήθηκα με ESP από εξωτερική πηγή 3.3V.
  • μετά τον επιτυχημένο προγραμματισμό μην ξεχάσετε να τραβήξετε το GPIO0 ψηλά στην επόμενη εκκίνηση.

Βήμα 4: Σχηματική και συγκόλληση

Σχηματική και συγκόλληση
Σχηματική και συγκόλληση
Σχηματική και συγκόλληση
Σχηματική και συγκόλληση
Σχηματική και συγκόλληση
Σχηματική και συγκόλληση

Ακολουθήστε το σχηματικό σχήμα για να κολλήσετε όλα τα εξαρτήματα στο protoboard. Όπως προαναφέρθηκε, ορισμένα εξαρτήματα είναι προαιρετικά. Χρησιμοποίησα το KA78M33 3.3V LDO IC και αυτόν τον πίνακα μετατροπέα λογικού επιπέδου από sparkfun, εναλλακτικά, μπορείτε να κάνετε μετατροπέα μόνοι σας όπως φαίνεται στο σχήμα (μπορείτε να χρησιμοποιήσετε οποιοδήποτε mosfet καναλιού Ν αντί για BSS138). Σε περίπτωση που συνεχίσετε να χρησιμοποιείτε μπαταρία Li-ION, το δίκτυο ισχύος +5V θα είναι θετικό τερματικό μπαταρίας. Η τάση αναφοράς ESP8266 ADC είναι 1V, οι επιλεγμένες τιμές διαχωριστή αντίστασης επιτρέπουν τη μέτρηση της τάσης εισόδου έως και 5,7V.

Θα πρέπει να υπάρχουν 5 συνδέσεις με το αρχικό PCB λαμπτήρων: +5V (ή +Μπαταρία), GND, κουμπί πίεσης, σήματα PWM από λαμπτήρες MCU για έλεγχο μπλε και πορτοκαλί LED. Εάν τροφοδοτείτε τη λάμπα από πηγή 5V, όπως έκανα, θα θέλετε να βραχυκυκλώσετε τους ακροδέκτες IC VCC με καρφίτσα OUTPUT, έτσι όλα τα ηλεκτρονικά θα τροφοδοτούνται απευθείας από +5V και όχι από φορτιστή μπαταρίας OUTPUT.

Ακολουθήστε τη δεύτερη εικόνα για όλα τα σημεία συγκόλλησης που θα χρειαστεί να κάνετε σε λαμπτήρες PCB.

ΣΗΜΕΙΩΣΕΙΣ:

  1. Εάν αποφασίσατε να κάνετε βραχυκύκλωμα +5V με έξοδο IC φορτιστή μπαταρίας, αφαιρέστε εντελώς την μπαταρία προτού το κάνετε, δεν θέλετε να συνδέσετε +5V απευθείας σε μια μπαταρία.
  2. Δώστε προσοχή σε ποια καρφίτσα κουμπιού συγκολλάτε την έξοδο ESP, επειδή 2 ακίδες ενός κουμπιού είναι συνδεδεμένες στη γείωση και δεν θέλετε να βραχυκυκλώσετε όταν η έξοδος ESP ανεβαίνει Υ HIGHΗΛΗ, καλύτερα διπλός έλεγχος με πολύμετρο.

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

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

Η εφαρμογή Android δημιουργήθηκε με εφευρέτη εφαρμογών MIT, για να κατεβάσετε μια εφαρμογή ή/και να κλωνοποιήσετε ένα έργο για τον εαυτό σας, μεταβείτε σε αυτόν τον σύνδεσμο (θα χρειαστείτε λογαριασμό Google για να αποκτήσετε πρόσβαση σε αυτόν).

Κατά την πρώτη εκκίνηση θα πρέπει να ανοίξετε τις ρυθμίσεις και να εισαγάγετε τη διεύθυνση IP ESP8266. Αυτή η IP θα αποθηκευτεί, οπότε δεν χρειάζεται να την εισαγάγετε ξανά μετά την επανεκκίνηση του προγράμματος.

Η εφαρμογή δοκιμάστηκε με πολλές συσκευές Android 9 και Android 7.

Συνιστάται: