Πίνακας περιεχομένων:
Βίντεο: Plant Monitor χρησιμοποιώντας ESP32 Thing and Blynk: 5 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:32
ΣΦΑΙΡΙΚΗ ΕΙΚΟΝΑ
Ο στόχος αυτού του έργου είναι να δημιουργήσει μια συμπαγή συσκευή ικανή να παρακολουθεί τις συνθήκες ενός φυτού εσωτερικού χώρου. Η συσκευή δίνει τη δυνατότητα στον χρήστη να ελέγχει το επίπεδο υγρασίας του εδάφους, το επίπεδο υγρασίας, τη θερμοκρασία και τη θερμοκρασία "που μοιάζει" από ένα smartphone χρησιμοποιώντας την εφαρμογή Blynk. Επιπλέον, ο χρήστης θα λάβει ειδοποίηση μέσω email όταν οι συνθήκες καταστούν ακατάλληλες για το εργοστάσιο. Για παράδειγμα, ο χρήστης θα λάβει μια υπενθύμιση για το πότισμα του φυτού όταν τα επίπεδα υγρασίας του εδάφους πέσουν κάτω από το κατάλληλο επίπεδο.
Βήμα 1: Απαιτήσεις
Αυτό το έργο χρησιμοποιεί ένα αντικείμενο Sparkfun ESP32, έναν αισθητήρα DHT22 και έναν ηλεκτρονικό αισθητήρα υγρασίας από τούβλα. Επιπλέον, απαιτείται ένα δίκτυο wifi και η εφαρμογή Blynk. Κατά προτίμηση, πρέπει να δημιουργηθεί ένα αδιάβροχο περίβλημα που να περιέχει το αντικείμενο ESP32. Ενώ αυτό το παράδειγμα χρησιμοποιεί μια τυπική πρίζα για μια πηγή ενέργειας, η προσθήκη επαναφορτιζόμενης μπαταρίας, ηλιακού συλλέκτη και ελεγκτή φόρτισης θα επιτρέψει στη συσκευή να τροφοδοτείται μέσω ανανεώσιμων πηγών ενέργειας.
Βήμα 2: Blynk
Για να είστε, κατεβάστε την εφαρμογή Blynk και δημιουργήστε ένα νέο έργο. Σημειώστε το διακριτικό ελέγχου ταυτότητας-θα χρησιμοποιηθεί στον κώδικα. Δημιουργήστε νέα γραφικά στοιχεία εμφάνισης στην εφαρμογή Blynk και επιλέξτε τις αντίστοιχες εικονικές ακίδες που ορίζονται στον κώδικα. Ρυθμίστε το διάστημα ανανέωσης σε ώθηση. Σε κάθε widget θα πρέπει να εκχωρηθεί το δικό του εικονικό pin.
Βήμα 3: Arduino IDE
Κατεβάστε το Arduino IDE. Ακολουθήστε τις οδηγίες λήψης για το πρόγραμμα οδήγησης ESP32 και την επίδειξη για να διασφαλίσετε τη σύνδεση wifi. Κατεβάστε τις βιβλιοθήκες Blynk και DHT που περιλαμβάνονται στον κώδικα. Συμπληρώστε το διακριτικό ελέγχου ταυτότητας, τον κωδικό πρόσβασης wifi, το όνομα χρήστη wifi και το email στον τελικό κωδικό. Χρησιμοποιήστε τον κωδικό επίδειξης για τον αισθητήρα υγρασίας εδάφους για να βρείτε τις ελάχιστες και μέγιστες τιμές για τον τύπο του εδάφους. Καταγράψτε και αντικαταστήστε αυτές τις τιμές στον τελικό κώδικα. Αντικαταστήστε τις ελάχιστες τιμές για τη θερμοκρασία, την υγρασία του εδάφους και την υγρασία για το φυτό στον τελικό κωδικό. Ανεβάστε τον κωδικό.
Βήμα 4: Δημιουργήστε το
Πρώτον, συνδέστε τον αισθητήρα υγρασίας του εδάφους με 3,3V, γείωση και ακίδα εισόδου 34. Σημείωση, είναι αναπόσπαστο ο διακόπτης έχει οριστεί σε Α, επειδή θα χρησιμοποιηθεί η αναλογική ρύθμιση για αυτόν τον αισθητήρα. Στη συνέχεια, συνδέστε τον αισθητήρα DHT σε ακίδα 3,3V, γείωσης και εισόδου 27. Ο αισθητήρας DHT22 απαιτεί αντίσταση 10K Ohm μεταξύ του VCC και του πείρου εξόδου δεδομένων. Βεβαιωθείτε ότι έχετε ελέγξει το διάγραμμα DHT για να βεβαιωθείτε ότι έχει συνδεθεί σωστά. Διαμορφώστε το ESP32 μέσα σε ένα αδιάβροχο περίβλημα με τον αισθητήρα υγρασίας στο χώμα και τον αισθητήρα DHT πάνω από την επιφάνεια. Συνδεθείτε σε μια πηγή ενέργειας και απολαύστε δεδομένα σχετικά με το περιβάλλον του εργοστασίου σας.
Βήμα 5: Κωδικός
// Περιλαμβάνονται βιβλιοθήκες
#define Σειριακό BLYNK_PRINT
#include #include #include #include "DHT.h"
// Πληροφορίες αισθητήρα DHT
#define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321 #define DHTPIN 27 // Digitalηφιακή καρφίτσα συνδεδεμένη με τον αισθητήρα DHT DHT dht (DHTPIN, DHTTYPE). // Αρχικοποίηση αισθητήρα DHT.
// καθορισμός ακίδων και εξόδων εισόδου
int αισθητήρας χώματος = 34; // καθορισμός αναλογικού αριθμού καρφιτσών εισόδου συνδεδεμένου στον αισθητήρα υγρασίας
int output_value; // ορίστε ως έξοδο
int υγρασία; // ορίστε ως έξοδο
int ειδοποιημένο = 0; // ορισμός που ειδοποιείται ως 0
int timedelay = 60000L; // ρυθμίστε το χρονόμετρο να λειτουργεί για λήψη δεδομένων μία φορά κάθε λεπτό ή 60, 000 χιλιοστά του δευτερολέπτου
// ορίστε ελάχιστες τιμές για το φυτό
int min_moisture = 20; int min_temperature = 75; int ελάχιστη υγρασία = 60;
// Θα πρέπει να λάβετε το Auth Token στην εφαρμογή Blynk.
char auth = "Auth_Token_Here";
// Τα διαπιστευτήριά σας WiFi.
char ssid = "Wifi_Network_Here"; char pass = "Wifi_Password_Here";
Χρονοδιακόπτης BlynkTimer.
// Αυτή η λειτουργία αποστέλλει τον χρόνο αύξησης του Arduino κάθε δευτερόλεπτο στο Virtual Pin (5).
// Στην εφαρμογή, η συχνότητα ανάγνωσης του Widget πρέπει να οριστεί σε PUSH. Αυτό σημαίνει // ότι ορίζετε τη συχνότητα αποστολής δεδομένων στην εφαρμογή Blynk.
void Αισθητήρες () // κύρια λειτουργία ανάγνωσης αισθητήρων και ώθηση στο blynk
{output_value = analogRead (ground_sensor); // Διαβάστε το αναλογικό σήμα από τον αισθητήρα χώματος και ορίστε ως έξοδο_τιμής // Χάρτης output_vlaue από min, μέγιστες τιμές έως 100, 0 και περιορισμός μεταξύ 0, 100 // Χρησιμοποιήστε δείγμα κώδικα και σειριακή οθόνη για να βρείτε min και μέγιστες τιμές για τον μεμονωμένο αισθητήρα και τον τύπο του εδάφους για καλύτερη βαθμονόμηση επίπεδο υγρασίας = περιορισμός (χάρτης (τιμή_εξόδου, 1000, 4095, 100, 0), 0, 100) · float h = dht.readHumidity (); // Διαβάστε την υγρασία float t = dht.readTemperature (); // Διαβάστε τη θερμοκρασία ως Κελσίου (η προεπιλογή) επιπλέει f = dht.readTemperature (true); // Διαβάστε τη θερμοκρασία ως Φαρενάιτ (isFahrenheit = true) // Υπολογίστε τον δείκτη θερμότητας σε Φαρενάιτ (προεπιλογή) float hif = dht.computeHeatIndex (f, h); // Ελέγξτε αν απέτυχε η ανάγνωση και βγείτε νωρίς (για να προσπαθήσετε ξανά). if (isnan (h) || isnan (t) || isnan (f)) {Serial.println (F ("Απέτυχε η ανάγνωση από τον αισθητήρα DHT!")); ΕΠΙΣΤΡΟΦΗ; } // Αυτό συνδέει τα vales με εικονικές ακίδες που ορίζονται στα widget στην εφαρμογή Blynk Blynk.virtualWrite (V5, επίπεδο υγρασίας); // Αποστολή επιπέδου υγρασίας στον εικονικό πείρο 5 Blynk.virtualWrite (V6, f); // Αποστολή θερμοκρασίας στο εικονικό pin 6 Blynk.virtualWrite (V7, h); // Αποστολή υγρασίας στον εικονικό pin 7 Blynk.virtualWrite (V8, hif); // Αποστολή ευρετηρίου θερμότητας στον εικονικό pin 8
αν (ειδοποιήθηκε == 0)
{εάν (επίπεδο υγρασίας <= min_moisture) // Εάν το επίπεδο υγρασίας είναι ίσο ή χαμηλότερο από την τιμή {Blynk.email ("Email_Here", "Plant Monitor", "Water Plant!"); // Αποστολή email στο εργοστάσιο ύδρευσης} καθυστέρηση (15000); // Τα μηνύματα ηλεκτρονικού ταχυδρομείου Blynk πρέπει να απέχουν 15 δευτερόλεπτα. Καθυστέρηση 15000 χιλιοστών του δευτερολέπτου εάν (f <= min_temperature) // Εάν η θερμοκρασία είναι ίση ή χαμηλότερη από την τιμή {Blynk.email ("Email_Here", "Plant Monitor", "Temperature Low!"); // Στείλτε email ότι η θερμοκρασία είναι χαμηλή
}
καθυστέρηση (15000)? // Τα μηνύματα ηλεκτρονικού ταχυδρομείου Blynk πρέπει να απέχουν 15 δευτερόλεπτα. Καθυστέρηση 15000 χιλιοστών του δευτερολέπτου εάν (h <= min_hidity) // Εάν η υγρασία είναι ίση ή χαμηλότερη από την τιμή {Blynk.email ("Emial_Here", "Plant Monitor", "Humidity Low!"); // Στείλτε email ότι η υγρασία είναι χαμηλή} ειδοποιήθηκε = 1; timer.setTimeout (timedelay *5, resetNotified); // πολλαπλασιάστε την χρονική καθυστέρηση κατά τον αριθμό των λεπτών μεταξύ των επαναλαμβανόμενων μηνυμάτων προειδοποίησης}}
void resetNotified () // συνάρτηση που καλείται για επαναφορά της συχνότητας email
{κοινοποιήθηκε = 0; }
void setup ()
{Serial.begin (9600); // Κονσόλα εντοπισμού σφαλμάτων Blynk.begin (auth, ssid, pass); // σύνδεση στο χρονοδιακόπτη blynk.setInterval (χρονική καθυστέρηση, Αισθητήρες); // Ρυθμίστε μια λειτουργία που θα καλείται κάθε λεπτό ή τι χρονική καθυστέρηση έχει οριστεί σε dht.begin (); // εκτελέστε αισθητήρα DHT}
// Ο κενός βρόχος πρέπει να περιέχει μόνο το blynk.run και το χρονόμετρο
void loop () {Blynk.run (); // Εκτέλεση blynk timer.run (); // Ξεκινά το BlynkTimer}
Συνιστάται:
DIY -- Πώς να φτιάξετε ένα ρομπότ αράχνη το οποίο μπορεί να ελεγχθεί χρησιμοποιώντας το smartphone χρησιμοποιώντας το Arduino Uno: 6 βήματα
DIY || Πώς να φτιάξετε ένα ρομπότ αράχνη το οποίο μπορεί να ελεγχθεί χρησιμοποιώντας το smartphone χρησιμοποιώντας το Arduino Uno: Ενώ φτιάχνετε ένα ρομπότ αράχνη, μπορείτε να μάθετε τόσα πολλά πράγματα για τη ρομποτική. Όπως και η κατασκευή ρομπότ είναι τόσο διασκεδαστική όσο και προκλητική. Σε αυτό το βίντεο θα σας δείξουμε πώς να φτιάξετε ένα ρομπότ Spider, το οποίο μπορούμε να λειτουργήσουμε χρησιμοποιώντας το smartphone μας (Androi
Arduino Keyboard Joystick Extender Box and Sound Controller Thing Using Deej: 8 βήματα
Arduino Keyboard Joystick Extender Box and Sound Controller Thing Using Deej: Why Εδώ και λίγο καιρό ήθελα να προσθέσω ένα μικρό joystick στο πληκτρολόγιό μου για τον έλεγχο στοιχείων διεπαφής ή άλλες μικρότερες εργασίες σε παιχνίδια και προσομοιωτές (MS Flight Sim, Elite: Dangerous, Πόλεμοι των Άστρων: Μοίρες, κλπ). Επίσης, για το Elite: Dangerous, έχω πάει
Control Led σε όλο τον κόσμο χρησιμοποιώντας το Διαδίκτυο χρησιμοποιώντας το Arduino: 4 βήματα
Control Led σε όλο τον κόσμο χρησιμοποιώντας το Διαδίκτυο χρησιμοποιώντας το Arduino: Γεια, είμαι ο Rithik. Θα κάνουμε ένα ελεγχόμενο από το Διαδίκτυο led χρησιμοποιώντας το τηλέφωνό σας. Θα χρησιμοποιήσουμε λογισμικό όπως το Arduino IDE και το Blynk. Είναι απλό και αν το πετύχατε μπορείτε να ελέγξετε όσα ηλεκτρονικά εξαρτήματα θέλετε
Μεταφόρτωση τιμής δόνησης αισθητήρα στο IOT Thing Μιλήστε χρησιμοποιώντας το NodeMCU: 4 βήματα
Μεταφόρτωση Αξίας Αισθητήρα Δόνησης στο IOT ThingSpeak χρησιμοποιώντας το NodeMCU: Υπάρχουν αρκετά κρίσιμα μηχανήματα ή ακριβός εξοπλισμός που υφίστανται ζημιές λόγω κραδασμών. Σε μια τέτοια περίπτωση, απαιτείται ένας αισθητήρας δόνησης για να διαπιστωθεί εάν το μηχάνημα ή ο εξοπλισμός παράγει κραδασμούς ή όχι. Αναγνώριση του αντικειμένου που
Rolling Robot With ESP32 Thing and TB6612FNG Driver, Controlled by Android Over BLE: 11 Steps
Rolling Robot With ESP32 Thing and TB6612FNG Driver, Controlled by Android Over BLE: Γεια σε όλους Αυτό είναι το πρώτο μου εκπαιδευτικό. Κυλιόμενο ρομπότ (με το παρατσούκλι Raidho - από τον ρούνο που σχετίζεται με την κίνηση) βασισμένο στα ESP32 Thing, TB6612 FNG και BLE. Ένα μέρος που μπορεί να φαίνεται περίεργο είναι ότι οι φωτογραφίες δεν προέρχονται από τη διαδικασία