- Απαιτείται υλικό:
- Σχηματική εξήγηση:
- ΣΥΜΒΟΥΛΕΣ ΧΡΗΣΗΣ ESP8266 GPIO PINS:
- από το CircuitDigest
- Παραγωγή:
Ο οικιακός αυτοματισμός ήταν πάντα εμπνευσμένος για τους περισσότερους από μας έργα. Η εναλλαγή ενός φορτίου εναλλασσόμενου ρεύματος από την άνεση των καρεκλών μας ή του κρεβατιού οποιουδήποτε δωματίου χωρίς να φτάσουμε στο διακόπτη σε άλλο δωμάτιο ακούγεται κουλ!
Σε αυτό το έργο ας μάθουμε πώς να φτιάχνουμε ένα Junction Box του οποίου οι διακόπτες μπορούν να εναλλάσσονται από απόσταση χρησιμοποιώντας το τηλέφωνο ή τον υπολογιστή σας με ενεργή σύνδεση στο Διαδίκτυο. Αυτό το έργο έχει τη δυνατότητα εναλλαγής δύο φορτίων AC των οποίων η τρέχουσα βαθμολογία δεν υπερβαίνει τα 5A ή ~ 800Watts. Μόλις καταλάβετε την ιδέα, μπορείτε να επεκτείνετε τον αριθμό ή τα φορτία AC χρησιμοποιώντας προηγμένες μονάδες ESP και επίσης να αυξήσετε την ισχύ ισχύος των φορτίων χρησιμοποιώντας ρελέ υψηλής βαθμολογίας.
Αυτό το σεμινάριο προϋποθέτει ότι έχετε εμπειρία χρησιμοποιώντας ESP8266 modules με το Arduino IDE. Εάν δεν επισκεφτείτε την ενότητα Ξεκινώντας με τον πομποδέκτη WiFi ESP8266 (Μέρος 1) και Ξεκινώντας με τον ESP8266 (Μέρος 3): Προγραμματισμός του ESP8266 με το Arduino IDE και αναβοσβήνει τα σεμινάρια μνήμης του προτού συνεχίσετε.
Απαιτείται υλικό:
Το υλικό που απαιτείται για αυτό το έργο παρατίθεται παρακάτω:
- ESP8266
- Ενότητα FTDI (για προγραμματισμό)
- Ηλεκτρομαγνητικό ρελέ 3V 5A (2Nos)
- Μονάδα μετατροπέα AC-DC (5V / 700mA ή παραπάνω)
- BC547 (2Nos)
- Ρυθμιστής LM317
- Αντίσταση 220ohm και 360ohm
- Πυκνωτής 0.1 και 10uf
- Δίοδος IN007 (2Nos)
- Κουτί σύνδεσης
- Καλώδια για σύνδεση
Σχηματική εξήγηση:
Το πλήρες Σχέδιο αυτού του έργου φαίνεται παρακάτω:
Το Σχέδιο αποτελείται από μια μονάδα μετατροπέα AC σε DC της οποίας η έξοδος θα είναι 5V και 700mA. Δεδομένου ότι οι μονάδες ESP8266 λειτουργούν σε 3.3V πρέπει να μετατρέψουμε το 5V σε 3.3V. Ως εκ τούτου, ένας ρυθμιστής τάσης μεταβλητής τάσης LM317 χρησιμοποιείται για τη ρύθμιση 3.3V για τις μονάδες ESP. Για εναλλαγή των φορτίων εναλλασσόμενου ρεύματος έχουμε χρησιμοποιήσει ένα ηλεκτρομαγνητικό ρελέ, αυτό το ρελέ απαιτεί 3V για ενεργοποίηση και μπορεί να αντέξει έως και 5Α που ρέει μέσω του Common (C) και του κανονικά ανοικτού (NO) πείρου του ρελέ. Για την οδήγηση των ρελέ χρησιμοποιήσαμε ένα τρανζίστορ BC547 NPN το οποίο αλλάζει από τις ακίδες GPIO των μονάδων ESP.
Δεδομένου ότι τα ESP8266 Modules έρχονται με ενσωματωμένες καρφίτσες GPIO, το έργο κατέληξε να είναι αρκετά απλό. Ωστόσο, θα πρέπει να προσέχετε κατά τη χρήση των καρφιών GPIO μιας μονάδας ESP, συζητούνται παρακάτω.
ΣΥΜΒΟΥΛΕΣ ΧΡΗΣΗΣ ESP8266 GPIO PINS:
- Η μονάδα ESP8266-01 έχει δύο ακίδες GPIO που είναι οι ακίδες GPIO0 και GPIO2 αντίστοιχα.
- Το μέγιστο ρεύμα πηγής των ακίδων GPIO είναι 12mA.
- Το μέγιστο ρεύμα νεροχύτη των ακίδων GPIO είναι 20mA.
- Λόγω αυτού του χαμηλού ρεύματος δεν μπορούμε να οδηγήσουμε αξιοπρεπή φορτία όπως ένα ρελέ απευθείας από τους πείρους, ένα κύκλωμα οδήγησης είναι υποχρεωτικό.
- Δεν πρέπει να συνδέεται φορτίο με τους ακροδέκτες GPIO όταν είναι ενεργοποιημένη η μονάδα ESP. Το Else module θα κολλήσει σε βρόχο επαναφοράς.
- Το να βυθίζετε περισσότερο ρεύμα από το συνιστώμενο ρεύμα θα τηγανίσει τις καρφίτσες GPIO της μονάδας ESP8266, ώστε να είστε προσεκτικοί
Για να ξεπεράσουμε τις παραπάνω ελλείψεις της μονάδας ESP8266 χρησιμοποιήσαμε ένα BC547 για να οδηγήσουμε τα ρελέ και χρησιμοποιήσαμε έναν διακόπτη μεταξύ του πομπού και της γείωσης των τρανζίστορ BC547. Αυτή η σύνδεση πρέπει να είναι ανοιχτή όταν η μονάδα ESP είναι ενεργοποιημένη, τότε μπορεί να κλείσει και να αφεθεί ως έχει.
Σκεύη, εξαρτήματα:
Μόλις καταλάβετε τα σχήματα, κολλήστε απλά το κύκλωμα σε ένα κομμάτι του Perf Board. Αλλά βεβαιωθείτε ότι το ταμπλό σας θα χωρέσει και στο κουτί Junction.
Ο μετατροπέας AC-DC που χρησιμοποιείται σε αυτό το έργο εξάγει 5V με συνεχές ρεύμα 700mA και μέγιστο ρεύμα 800mA. Μπορείτε εύκολα να αγοράσετε ένα παρόμοιο online, καθώς είναι εύκολα διαθέσιμα. Ο σχεδιασμός του μετατροπέα μας ή η χρήση μπαταρίας θα είναι λιγότερο αποτελεσματικός για το Έργο μας Μόλις αγοράσετε αυτήν τη μονάδα, απλά κολλήστε ένα καλώδιο στο τερματικό εισόδου και θα πρέπει να είστε έτοιμοι να πάτε με το υπόλοιπο κύκλωμα.
Μόλις συγκολληθούν όλα θα πρέπει να μοιάζει με αυτό.
Όπως μπορείτε να παρατηρήσετε, έχω χρησιμοποιήσει τρία ακροδέκτες 2 ακίδων. Από τα οποία το ένα χρησιμοποιείται για τροφοδοσία στο + V από τη μονάδα μετατροπέα AC-DC και τα άλλα δύο χρησιμοποιούνται για τη σύνδεση των φορτίων AC στο ρελέ.
Τώρα ας συνδέσουμε τα τερματικά στο πλαίσιο διασταύρωσης με τον πίνακα Perf.
Μπορείτε να παρατηρήσετε ότι το κουτί διακλάδωσης μου έχει τρεις ακροδέκτες (σημεία βύσματος). Από τα οποία ένα (το σωστό περισσότερο) χρησιμοποιείται για την τροφοδοσία της μονάδας μετατροπέα AC-Dc, τα άλλα δύο χρησιμοποιούνται για τη σύνδεση των φορτίων AC. Όπως μπορείτε να δείτε, το Ουδέτερο καλώδιο (μαύρο καλώδιο) είναι συνδεδεμένο και στα τρία σημεία βύσματος. Αλλά το καλώδιο φάσης είναι (κίτρινο καλώδιο) αφήνεται ελεύθερο Τα άκρα φάσης των δύο σημείων βύσματος (δύο κόκκινα καλώδια) αφήνονται επίσης ελεύθερα. Και τα τρία αυτά ελεύθερα καλώδια θα πρέπει να συνδεθούν με τους ακροδέκτες ρελέ που προσθέσαμε στον πίνακα Perf όπως φαίνεται παρακάτω
Η πλακέτα Perf μου ταιριάζει απόλυτα στο κουτί διασταύρωσης, βεβαιωθείτε ότι το κάνει και το δικό σας. Μόλις πραγματοποιηθούν οι συνδέσεις, ανεβάστε το πρόγραμμα στη μονάδα ESP, τοποθετήστε το στον πίνακα Perf και βιδώστε το κουτί Junction.
Πρόγραμμα ESP8266:
Η μονάδα ESP8266 έχει προγραμματιστεί χρησιμοποιώντας το Arduino IDE. Όπως ειπώθηκε νωρίτερα, εάν θέλετε να μάθετε πώς να προγραμματίσετε το ESP σας χρησιμοποιώντας το Arduino IDE, επισκεφθείτε το σεμινάριο στον σύνδεσμο. Το πλήρες πρόγραμμα δίνεται στο τέλος αυτού του σεμιναρίου. Η ιδέα του προγράμματος είναι αυτονόητη, ωστόσο μερικές σημαντικές γραμμές συζητούνται παρακάτω.
const char * ssid = "BPAS σπίτι"; // Εισαγάγετε το Wifi SSID εδώ const char * password = "cracksun"; // Εισαγάγετε τον κωδικό πρόσβασής σας εδώ
Η μονάδα ESP θα λειτουργεί ως σταθμός και σημείο πρόσβασης στο έργο μας. Πρέπει λοιπόν να συνδεθεί με το δρομολογητή μας όταν λειτουργεί ως σταθμός. Οι παραπάνω γραμμές κώδικα χρησιμοποιούνται για τροφοδοσία στο SSID και τον κωδικό πρόσβασης του δρομολογητή μας. Αλλάξτε το σύμφωνα με το δρομολογητή σας.
mainPage + = "
Έξυπνο κουτί διακλάδωσης
από το CircuitDigest
Διακόπτης 1
"; mainPage + ="Διακόπτης 2
"; σχόλια ="Τόσο ο διακόπτης 1 όσο και ο διακόπτης 2 είναι απενεργοποιημένοι
";Όταν συνδεθούμε με τη διεύθυνση IP της ενότητας, θα εμφανιστεί μια ιστοσελίδα που εκτελείται σε HTML. Αυτός ο κώδικας HTML πρέπει να οριστεί στο πλάι του προγράμματος Arduino όπως φαίνεται παραπάνω. Αυτό δεν απαιτεί από εσάς να γνωρίζετε HTML πριν από το χέρι, απλώς διαβάστε τις ετικέτες HTML και συγκρίνετέ τις με την έξοδο που θα καταλάβετε τι αντιπροσωπεύει κάθε ετικέτα.
Μπορείτε επίσης να αντιγράψετε αυτόν τον κώδικα HTML και να τον επικολλήσετε σε ένα αρχείο txt και να τον εκτελέσετε ως αρχείο HTML για σκοπούς εντοπισμού σφαλμάτων.
ενώ (WiFi.status ()! = WL_CONNECTED) {καθυστέρηση (500); Serial.print ("."); } Serial.println (""); Serial.print ("Connected to"); Serial.println (SSD); Serial.print ("Διεύθυνση IP:"); Serial.println (WiFi.localIP ());
Χρησιμοποιούμε επίσης την επιλογή Serial monitor για τον εντοπισμό σφαλμάτων της μονάδας ESP και γνωρίζουμε ποια κατάσταση λειτουργεί το πρόγραμμα. Η σειριακή οθόνη θα εμφανίσει "." Μέχρι το ESP να δημιουργήσει σύνδεση με το δρομολογητή. Μόλις δημιουργηθεί η σύνδεση, θα σας δώσει τη διεύθυνση IP του διακομιστή Ιστού, ο κωδικός για τον ίδιο εμφανίζεται παραπάνω.
server.on ("/ switch1On", () {feedback = "
Ο διακόπτης 1 ενεργοποιήθηκε
"; currentPage = mainPage + feedback; server.send (200," text / html ", currentPage); currentPage =" "; digitalWrite (GPIO_0, HIGH); καθυστέρηση (1000);});Μόλις γνωρίζουμε τη διεύθυνση IP, μπορούμε να αποκτήσουμε πρόσβαση στον κώδικα HTML χρησιμοποιώντας αυτήν την IP στο πρόγραμμα περιήγησής μας. Τώρα όταν πατηθεί κάθε κουμπί, ένα αίτημα θα σταλεί στη μονάδα ESP ως πελάτης. Με βάση αυτό το αίτημα πελάτη, η ενότητα θα ανταποκριθεί. Για παράδειγμα, εάν ο πελάτης έχει ζητήσει το "/ switchOn", η λειτουργική μονάδα θα ενημερώσει τον κώδικα HTML και θα τον στείλει στον πελάτη και θα γυρίσει επίσης τον ακροδέκτη GPIO HIGH. Ο κωδικός για το ίδιο φαίνεται παραπάνω. Ομοίως για κάθε ενέργεια ορίζεται ένα server.on ().
Παραγωγή:
Μόλις είστε έτοιμοι με το υλικό και το πρόγραμμα, ανεβάστε το πρόγραμμα στη μονάδα ESP8266 όπως φαίνεται σε αυτό το σεμινάριο. Στη συνέχεια, κάντε κλικ στο σειριακό μόνιτορ του Arduino IDE, θα πρέπει να δείτε κάτι τέτοιο εάν ταιριάζουν με το SSID και τον κωδικό πρόσβασης
Σημειώστε τη διεύθυνση IP που εμφανίζεται στη σειριακή οθόνη. Στην περίπτωσή μου η διεύθυνση IP είναι "http://192.168.2.103" Πρέπει να χρησιμοποιήσουμε αυτήν την IP στο πρόγραμμα περιήγησής μας για πρόσβαση στην ιστοσελίδα ESP.
Τώρα, τοποθετήστε τη μονάδα ESP στην πλακέτα ρελέ μας, κλείστε το κουτί διακλάδωσης και ενεργοποιήστε το και, στη συνέχεια, βραχύνετε τους ακροδέκτες GPIO στο φορτίο. Εάν όλα λειτουργούσαν σωστά όταν εισάγετε τη διεύθυνση IP στο πρόγραμμα περιήγησής σας, θα πρέπει να δείτε την ακόλουθη οθόνη
Τώρα απλώς ενεργοποιήστε / απενεργοποιήστε το διακόπτη που σας αρέσει και θα πρέπει να αντικατοπτρίζεται στο πραγματικό υλικό. Δηλαδή δεν μπορείτε να Εναλλαγή του αγαπημένου σας φορτίου AC απλώς συνδέοντάς τα στο σημείο σύνδεσης. Ελπίζω να σας άρεσε το έργο και να το λειτουργήσει, αν δεν χρησιμοποιήσετε την ενότητα σχολίων, θα χαρώ να σας βοηθήσω.
Η ολοκληρωμένη εργασία αυτού του έργου DIY smart junction box εμφανίζεται στο παρακάτω βίντεο.