Πίνακας περιεχομένων:
- Βήμα 1: Συγκεντρώστε τα εξαρτήματα
- Βήμα 2: Το πλήρες σχήμα
- Βήμα 3: Λήψη της σωστής ρύθμισης
- Βήμα 4: Σύνδεση του DHT-22
- Βήμα 5: Σύνδεση της οθόνης OLED
- Βήμα 6: Παρακολούθηση της υγρασίας του εδάφους
- Βήμα 7: Παρακολούθηση VBAT (μπαταρία 9V)
- Βήμα 8: Παρακολούθηση VBAT (2 Lipos Configuration)
- Βήμα 9: Το περίβλημα
- Βήμα 10: Προοπτικές βελτίωσης
- Βήμα 11: Ευχαριστώ
2025 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2025-01-13 06:57
Γεια σας παιδιά ! Για να ξεκινήσετε με τον καλύτερο τρόπο, μια μικρή ιστορία για το έργο. Πρόσφατα αποφοίτησα και μετακόμισα στην Αυστρία για την πρώτη μου θέση ως μηχανικός. Η χώρα είναι όμορφη αλλά πολύ κρύα και υγρή τη χειμερινή περίοδο. Γρήγορα άρχισα να παρατηρώ κάποια συμπύκνωση στα παράθυρα κάθε πρωί όταν ξυπνούσα, καθώς και κάποια μούχλα που σέρνεται στους τοίχους του όμορφου διαμερίσματος που νοικιάζω. Ταν η πρώτη μου συνάντηση με τόσο υψηλό επίπεδο υγρασίας ποτέ, που προερχόταν από τη νότια Γαλλία, δεν έχουμε πραγματικά τέτοιο ζήτημα εκεί. Αναζητούσα λοιπόν λύσεις στο διαδίκτυο και αποφάσισα να συγκεντρώσω μερικά κομμάτια και να φτιάξω το δικό μου σύστημα παρακολούθησης, προκειμένου να ελέγξω το επίπεδο υγρασίας κάθε δωματίου του διαμερίσματός μου καθώς και τη θερμοκρασία περιβάλλοντος. Το παρακάτω έργο είχε κάποιες σημαντικές κατευθυντήριες γραμμές:
- Πρέπει να είναι φθηνό.
- Πρέπει να είναι αρκετά ακριβής.
- Wantedθελα κάτι λίγο, εύκολο στη μεταφορά και με μπαταρία.
- Λατρεύω τα φυτά και αποφάσισα ότι θα ήταν σε θέση να ελέγξει για την υγρασία του εδάφους για να μάθω αν ήμουν περισσότερο ή όχι για να ποτίσω τα φυτά μου. (Εκτός πλαισίου αλλά απλά μου άρεσε η ιδέα!: D)
Αυτό είναι ένα αρκετά εύκολο έργο, ωστόσο αυτό είναι το πιο χρήσιμο που έχω κάνει ποτέ. Είμαι σε θέση να ελέγξω κάθε υγρασία σε κάθε δωμάτιο και να δω αν πρέπει να αντιδράσω για να σταματήσω τη μούχλα. Ας ξεκινήσουμε λοιπόν.
Βήμα 1: Συγκεντρώστε τα εξαρτήματα
Το έργο μας είναι αρκετά απλό. Θα χρησιμοποιήσουμε ένα Arduino (στην περίπτωσή μου nano) ως εγκέφαλο, καθώς είναι πολύ απλό στον προγραμματισμό, φθηνό και αντικαταστάσιμο αν χρειαστεί.
Ένα DHT-22 ως αισθητήρας θερμοκρασίας και υγρασίας, υπάρχει μια χαμηλότερη έκδοση που ονομάζεται DHT-11, η οποία είναι αρκετά χάλια κατά τη γνώμη μου μιλώντας για ακρίβεια και για 3 επιπλέον ευρώ μπορείτε να πάρετε το DHT-22 που είναι πολύ πιο ακριβές, ακριβές & μπορεί να λειτουργήσει σε μεγαλύτερη ποικιλία θερμοκρασιών. Οθόνη OLED για την εμφάνιση των δεδομένων και την οπτική διασύνδεση μεταξύ των αισθητήρων και του ανθρώπου που είμαι. Διαπίστωσα ότι το 64 επί 128 είναι τέλειο καθώς είναι λίγο, θα μπορούσα να χωρέσω αρκετά δεδομένα σε αυτό και πολύ εύκολο στη διασύνδεση.
Ένας αισθητήρας υγρασίας χώματος YL-69, για να ελέγχετε όποτε χρειάζεται να ποτίζω τα υπέροχα φυτά μου. Και αυτό είναι βασικά το μόνο που χρειάζεστε για το έργο. Προαιρετικά ήθελα το έργο να τροφοδοτηθεί χρησιμοποιώντας το Lipos που είχα γύρω μου. -Μπορείτε επίσης να το κάνετε να λειτουργεί με μια κανονική μπαταρία 9V πολύ εύκολα. Wantedθελα να μπορώ να παρακολουθώ την τάση των μπαταριών Lipo χρησιμοποιώντας κάποιες αναλογικές εισόδους στο arduino. Θα δώσω περισσότερες πληροφορίες στις επόμενες σελίδες.
Επιπλέον θα χρειαστείτε τα εξής:
- Ένα κομμάτι ψωμιού.
- Διακόπτης ON/OFF *1
- Υποδοχή μπαταρίας 9V
- Μπαταρία 9V
Και αν θέλετε να εφαρμόσετε το lipos & την παρακολούθηση:
- 10K αντιστάσεις *3
- 330R αντιστάσεις *1
- LED *1
- Ρυθμιστικός διακόπτης *1
- Κάτοχοι Lipo (Or θα σας δείξω μια τρισδιάστατη εκτυπωμένη έκδοση που χρησιμοποιώ αυτήν τη στιγμή)
- 2 Λιποκύτταρα.
Βήμα 2: Το πλήρες σχήμα
Επισυνάπτεται το πλήρες σχήμα. Παρακαλώ μην προφανώς επιλέγετε είτε το τμήμα μπαταρίας 9V του κυκλώματος είτε το μέρος μπαταρίας LIPO που είναι συνδεδεμένο στο VBAT. Ξεχώρισα και τα δύο κυκλώματα με κόκκινα τετράγωνα και έβαλα κόκκινο τίτλο για να τονίσω το καθένα.
Μην ανησυχείτε ότι κάθε σύνδεση θα εξηγηθεί σωστά στα ακόλουθα βήματα.
Βήμα 3: Λήψη της σωστής ρύθμισης
Βεβαιωθείτε ότι έχετε εγκαταστήσει το Arduino IDE. Και κατεβάστε τις βιβλιοθήκες που έρχονται με αυτό το βήμα. Θα βάλω επίσης τον πλήρη κώδικα, εάν δεν θέλετε να μπείτε στον κόπο να συνεχίσετε τη δοκιμή κάθε στοιχείου στα παρακάτω βήματα.
Βήμα 4: Σύνδεση του DHT-22
Το πρώτο βήμα του έργου είναι η σύνδεση του DHT-22 με το arduino. Η σύνδεση είναι αρκετά απλή: DHT-22 ------ Arduino
VCC ------ +5V
ΔΕΔΟΜΕΝΑ ------ D5
GND ------ GND
Για να δοκιμάσετε τη σύνδεση DHT-22 στο Arduino σας, θα εφαρμόσουμε τον κωδικό που είναι ενσωματωμένος σε αυτό το βήμα.
Βήμα 5: Σύνδεση της οθόνης OLED
Το επόμενο βήμα είναι να συνδέσετε την οθόνη OLED. Αυτό το είδος οθόνης συνδέεται χρησιμοποιώντας το πρωτόκολλο I2C. Η πρώτη μας δουλειά είναι να βρούμε τις σωστές ακίδες I2C για το arduino σας, εάν χρησιμοποιείτε το Arduino nano, οι ακίδες I2C είναι A4 (SDA) & A5 (SCL). Εάν χρησιμοποιείτε άλλο arduino όπως UNO ή MEGA, αναζητήστε τον επίσημο ιστότοπο arduino ή το φύλλο δεδομένων για τις ακίδες I2C.
Η σύνδεση έχει ως εξής: OLED ------ Arduino
GND ------ GND
VCC ------ 3V3
SCL ------ Α5
SDA ------ A4
Για να δοκιμάσετε το OLED, θα εμφανίσουμε τα δεδομένα DHT στην οθόνη OLED απευθείας ανεβάζοντας τον κωδικό που είναι ενσωματωμένος σε αυτό το βήμα.
Θα πρέπει να δείτε τη θερμοκρασία και την υγρασία που εμφανίζονται στην οθόνη OLED με πολύ γρήγορο ρυθμό δειγματοληψίας, καθώς δεν είχαμε καθυστερήσει ακόμα.
Βήμα 6: Παρακολούθηση της υγρασίας του εδάφους
Καθώς ήθελα να παρακολουθώ την υγρασία του εδάφους των φυτών μου, πρέπει να συνδέσουμε το YL-69.
Αυτός ο αισθητήρας είναι πολύ ενδιαφέρον για μένα και συμπεριφέρεται όπως όταν το χώμα είναι:
Υγρό: η τάση εξόδου μειώνεται.
Στεγνό: η τάση εξόδου αυξάνεται.
Η σύνδεση έχει ως εξής:
YL69 ------ Arduino
VCC ------ D7
GND ------ GND
D0 ------ ΜΗΝ ΣΥΝΔΕΣΕΤΕ
A0 ------ A7
Όπως μπορείτε να δείτε, συνδέουμε τον πείρο VCC της μονάδας σε έναν ψηφιακό πείρο του Arduino. Η ιδέα πίσω από αυτό είναι να τροφοδοτήσουμε τη μονάδα ακριβώς όταν θέλουμε να κάνουμε τη μέτρηση και όχι συνεχώς. Αυτό οφείλεται στο γεγονός ότι ο αισθητήρας λειτουργεί μετρώντας το ρεύμα που πηγαίνει από το ένα πόδι του αισθητήρα στο άλλο. Εξαιτίας αυτού συμβαίνει ηλεκτρόλυση και μπορεί να καταστρέψει τον αισθητήρα αρκετά γρήγορα σε εδάφη υψηλής υγρασίας.
Τώρα θα προσθέσουμε τον αισθητήρα υγρασίας στον κωδικό μας και θα εμφανίσουμε τα δεδομένα υγρασίας με τα δεδομένα DHT στο OLED. Ανεβάστε τον κωδικό που είναι ενσωματωμένος σε αυτό το βήμα.
Βήμα 7: Παρακολούθηση VBAT (μπαταρία 9V)
Wantedθελα να μάθω πόσο χαμηλή ήταν η μπαταρία για να μην έχω καμία έκπληξη μια μέρα και να τελειώσει χωρίς να μπορώ να το προβλέψω. Ο τρόπος παρακολούθησης της τάσης εισόδου είναι να χρησιμοποιήσετε ορισμένες αναλογικές ακίδες του arduino για να γνωρίζετε πόση τάση λαμβάνεται. Οι ακίδες εισόδου του Arduino μπορούν να πάρουν 5V το πολύ, αλλά η μπαταρία που χρησιμοποιείται παράγει 9V. Εάν συνδέσουμε απευθείας αυτήν την υψηλότερη τάση θα καταστρέψουμε ορισμένα εξαρτήματα υλικού, πρέπει να χρησιμοποιήσουμε ένα διαχωριστή τάσης για να φέρουμε το 9V κάτω από το όριο των 5V.
Χρησιμοποίησα δύο αντιστάσεις 10k για να κάνω το διαχωριστή τάσης και διαιρώντας με έναν συντελεστή 2 τα 9V και να το φέρω στα 4,5V max.
Για να εμφανιστεί το γεγονός ότι η μπαταρία εξαντλείται χρησιμοποιώντας ένα κανονικό LED με αντίσταση περιορισμού ρεύματος 330 ohm.
Θα χρησιμοποιήσουμε το Analog pin A0 για την παρακολούθηση του VBAT.
Ακολουθήστε το σχήμα για να μάθετε πώς να συνδέετε τα στοιχεία:
Τώρα θα το προσθέσουμε στον κωδικό κώδικα που είναι ενσωματωμένος σε αυτό το βήμα.
Βήμα 8: Παρακολούθηση VBAT (2 Lipos Configuration)
Wantedθελα να μάθω πόσο χαμηλή ήταν η μπαταρία για να μην έχω καμία έκπληξη μια μέρα και να τελειώσει χωρίς να μπορώ να το προβλέψω.
Ο τρόπος παρακολούθησης της τάσης εισόδου είναι να χρησιμοποιήσετε ορισμένες αναλογικές ακίδες του arduino για να γνωρίζετε πόση τάση λαμβάνεται. Οι ακίδες εισόδου του Arduino μπορούν να πάρουν το μέγιστο 5V, αλλά οι Lipos παράγουν στο μέγιστο 4,2*2 = 8,4V.
Η διαφορά με το προηγούμενο βήμα είναι ότι σε περίπτωση χρήσης 2 λιπών σε σειρά για τη δημιουργία τάσης> 5V για την τροφοδοσία της πλακέτας Arduino, πρέπει να παρακολουθούμε κάθε λιποκύτταρο καθώς θα μπορούσαν να εκφορτιστούν με διαφορετικό ρυθμό. Λάβετε υπόψη ότι δεν θέλετε να αποφορτίσετε υπερβολικά μια μπαταρία λιπό, είναι πολύ επικίνδυνο.
Για το πρώτο Lipo δεν υπάρχει πρόβλημα επειδή η ονομαστική τάση των 4,2V είναι κάτω από το όριο των 5V που μπορεί να αντέξει τις ακίδες εισόδου του arduino. Ωστόσο, όταν βάζετε 2 μπαταρίες σε σειρά, η τάση τους αυξάνεται: Vtot = V1 + V2 = 4,2 + 4,2 = 8,4 μέγιστο.
Εάν συνδέσουμε απευθείας αυτήν την υψηλότερη τάση στον αναλογικό πείρο, θα καταστρέψουμε ορισμένα εξαρτήματα υλικού, πρέπει να χρησιμοποιήσουμε ένα διαχωριστή τάσης για να φέρουμε τα 8,4V κάτω από το όριο των 5V. Χρησιμοποίησα δύο αντιστάσεις 10k για να κάνω το διαχωριστή τάσης και να το διαιρέσω με έναν συντελεστή 2 τα 8,4V και να το φέρω στα 4,2V max.
Θα χρησιμοποιήσουμε το Analog pin A0 για την παρακολούθηση του VBAT. Ακολουθήστε το σχήμα για να μάθετε πώς να συνδέετε τα στοιχεία:
Για να εμφανίσετε το γεγονός ότι η μπαταρία εξαντλείται χρησιμοποιώντας ένα κανονικό LED με αντίσταση περιορισμού ρεύματος 330 ohm.
Τώρα θα το προσθέσουμε στον κωδικό μας που είναι ενσωματωμένος σε αυτό το βήμα.
Βήμα 9: Το περίβλημα
Έχω την ευκαιρία να κατέχω έναν 3D εκτυπωτή, οπότε αποφάσισα να εκτυπώσω μια θήκη χρησιμοποιώντας τυπικό PLA.
Θα βρείτε τα συνημμένα αρχεία, σχεδίασα το περίβλημα χρησιμοποιώντας το Autodesk Inventor & Fusion360.
Μπορείτε επίσης να δημιουργήσετε το δικό σας σχέδιο ή απλώς να διατηρήσετε το breadboard όπως είναι, το ίδιο το κουτί δεν προσθέτει τίποτα στις λειτουργίες. Δυστυχώς, ο τρισδιάστατος εκτυπωτής μου μόλις πέθανε, οπότε δεν μπορούσα να εκτυπώσω το περίβλημα ακόμα, θα ενημερώσω την ανάρτησή μου όποτε λάβετε τα μέρη που ελήφθησαν στο Amazon. Επεξεργασία: τώρα είναι τυπωμένο και μπορείτε να το δείτε στις εικόνες.
Βήμα 10: Προοπτικές βελτίωσης
Προς το παρόν το έργο ταιριάζει απόλυτα στις ανάγκες μου. Ωστόσο, μπορούμε να σκεφτούμε κάποια σημεία που θα μπορούσαμε να βελτιώσουμε:
- Μειώστε την κατανάλωση μπαταρίας, θα μπορούσαμε να βελτιώσουμε την τρέχουσα κατανάλωση είτε να αλλάξουμε υλικό είτε να βελτιώσουμε το λογισμικό.
- Προσθέστε bluetooth για σύνδεση είτε σε APP είτε για αποθήκευση δεδομένων και κάντε περισσότερη ανάλυση με την πάροδο του χρόνου.
- Προσθέστε κύκλωμα φόρτισης LIPO για να το επαναφορτίσετε συνδέοντας απευθείας στον τοίχο.
Αν σκέφτεστε κάτι, μη διστάσετε να το γράψετε στην ενότητα σχολίων.
Βήμα 11: Ευχαριστώ
Σας ευχαριστούμε που διαβάσατε αυτό το σεμινάριο, μη διστάσετε να αλληλεπιδράσετε μαζί μου και με άλλους στην ενότητα σχολίων. Ελπίζω να σας άρεσε το έργο και θα σας δω την επόμενη φορά για άλλο έργο!