- Απαιτούμενα υλικά
- Αισθητήρας βροχής
- Εργασία του αισθητήρα βροχής
- Διάγραμμα κυκλώματος
- Επεξήγηση κώδικα
- Εργασία συστήματος ανίχνευσης βροχής με βάση το Arduino
Ένα απλό Σύστημα Ανίχνευσης Βροχής μπορεί να κατασκευαστεί εύκολα με διασύνδεση ενός Arduino με Αισθητήρα Βροχής. Ο αισθητήρας θα ανιχνεύσει τυχόν βροχοπτώσεις που πέφτουν πάνω του και ο πίνακας Arduino θα το αισθανθεί και μπορεί να εκτελέσει τις απαιτούμενες ενέργειες. Ένα τέτοιο σύστημα μπορεί να χρησιμοποιηθεί σε πολλούς διαφορετικούς τομείς, όπως η γεωργία και τα αυτοκίνητα. Η ανίχνευση βροχόπτωσης μπορεί να χρησιμοποιηθεί για την αυτόματη ρύθμιση της διαδικασίας άρδευσης. Επίσης, δεδομένα συνεχούς βροχόπτωσηςμπορεί να βοηθήσει τους αγρότες να χρησιμοποιούν αυτό το έξυπνο σύστημα για να ποτίζουν αυτόματα τη σοδειά μόνο όταν είναι απολύτως απαραίτητο. Ομοίως, στον τομέα των αυτοκινήτων, οι υαλοκαθαριστήρες μπορούν να κατασκευαστούν πλήρως αυτόματα χρησιμοποιώντας το σύστημα ανίχνευσης βροχής. Και τα συστήματα οικιακού αυτοματισμού μπορούν επίσης να χρησιμοποιήσουν την ανίχνευση βροχής για να κλείσουν αυτόματα τα παράθυρα και να προσαρμόσουν τη θερμοκρασία δωματίου. Σε αυτό το σεμινάριο, θα δημιουργήσουμε έναν βασικό αισθητήρα βροχής χρησιμοποιώντας το Arduino με έναν βομβητή. Στη συνέχεια, μπορείτε να χρησιμοποιήσετε αυτήν τη ρύθμιση για να δημιουργήσετε οτιδήποτε επιθυμείτε. Επίσης, σημειώνει ότι η μονάδα αισθητήρα βροχής είναι επίσης γνωστή και ως αισθητήρας βροχής ή του αισθητήρα βροχόμετρο ή αισθητήρα όμβριων υδάτων με βάση τη χρήση, αλλά όλοι αναφέρονται στο ίδιο αισθητήρα που χρησιμοποιείται σε αυτό το έργο και όλες οι εργασίες για την ίδια αρχή.
Έχουμε επίσης δημιουργήσει έναν απλό συναγερμό βροχής και ένα αυτόματο υαλοκαθαριστήρα χρησιμοποιώντας μόνο το χρονοδιακόπτη 555, ίσως θελήσετε να το ελέγξετε επίσης εάν δεν θέλετε να χρησιμοποιήσετε ένα Arduino. Τούτου λεχθέντος, ας επιστρέψουμε σε αυτό το έργο και αρχίστε να χτίζουμε το Arduino Rain Gauge.
Απαιτούμενα υλικά
- Arduino UNO
- Αισθητήρας βροχής
- Βομβητής
- Ψωμί
- Σύνδεση καλωδίων
Αισθητήρας βροχής
Η ενότητα Raindrops αποτελείται από δύο πίνακες, συγκεκριμένα το Rain Board και το Control Board.
Η μονάδα πλακέτας βροχής αποτελείται από δύο κομμάτια χαλκού, σχεδιασμένα με τέτοιο τρόπο ώστε υπό συνθήκες ξηρού να παρέχουν υψηλή αντίσταση στην τάση τροφοδοσίας και αυτή η τάση εξόδου αυτής της μονάδας θα είναι 5V. Η αντίσταση αυτής της μονάδας μειώνεται σταδιακά σε σχέση με την αύξηση της υγρασίας στο ταμπλό. Καθώς μειώνεται η αντίσταση, η τάση εξόδου της μειώνεται επίσης σε σχέση με την υγρασία στη μονάδα. Η μονάδα πλακέτας βροχής αποτελείται από δύο ακίδες που χρησιμοποιούνται για τη σύνδεση στον πίνακα ελέγχου, όπως φαίνεται παρακάτω.
Η μονάδα του πίνακα ελέγχου ελέγχει την ευαισθησία και μετατρέπει την αναλογική έξοδο σε ψηφιακή έξοδο. Εάν η αναλογική τιμή είναι χαμηλότερη από την τιμή κατωφλίου του πίνακα ελέγχου, η έξοδος είναι ψηφιακή χαμηλή και Εάν η αναλογική τιμή είναι υψηλότερη από την τιμή κατωφλίου, η έξοδος είναι ψηφιακή υψηλή. Για αυτήν τη σύγκριση και μετατροπή, χρησιμοποιείται ένας LM393 OP-Amp Comparator. Ένας συγκριτής Op-Amp είναι ένα ενδιαφέρον κύκλωμα που μπορεί να χρησιμοποιηθεί για τη σύγκριση δύο διαφορετικών τιμών τάσης, έχουμε ήδη χρησιμοποιήσει σε αυτό το κύκλωμα σε πολλά έργα όπως το Smart Electronic Candle, το Laser Security Alarm, το Line Follower Robot και πολλά άλλα.
Η μονάδα ελέγχου βροχής που φαίνεται παρακάτω αποτελείται από 4 ακίδες για τη σύνδεση του Arduino, δηλαδή VCC, GND, D0, A0 και δύο ακόμη ακίδες για τη σύνδεση της μονάδας του πίνακα βροχής. Συνοπτικά, η μονάδα της πλακέτας βροχής ανιχνεύει το νερό της βροχής και η μονάδα της πλακέτας ελέγχου χρησιμοποιείται για τον έλεγχο της ευαισθησίας και τη σύγκριση και μετατροπή των αναλογικών τιμών σε ψηφιακές τιμές.
Εργασία του αισθητήρα βροχής
Η εργασία της μονάδας αισθητήρα βροχής είναι απλή στην κατανόηση. Κατά τη διάρκεια μιας ηλιόλουστης ημέρας, λόγω της ξηρότητας στη μονάδα του πίνακα βροχής, προσφέρει υψηλή αντίσταση στην τάση τροφοδοσίας. Αυτή η τάση εμφανίζεται στον πείρο εξόδου της μονάδας του πίνακα βροχής ως 5V. Αυτό το 5V διαβάζεται ως 1023 εάν διαβαστεί από αναλογικό πείρο του Arduino. Κατά τη διάρκεια της βροχής, το νερό της βροχής προκαλεί αύξηση της υγρασίας στον πίνακα βροχής, το οποίο με τη σειρά του οδηγεί στη μείωση της αντίστασης που προσφέρεται για την παροχή. Καθώς η αντίσταση μειώνεται σταδιακά, η τάση εξόδου αρχίζει να μειώνεται.
Όταν η πλακέτα βροχής είναι πλήρως βρεγμένη και η αντίσταση που προσφέρει είναι ελάχιστη, η τάση εξόδου θα είναι όσο το δυνατόν χαμηλότερη (περίπου 0). Αυτό το 0V διαβάζεται ως τιμή 0 εάν διαβαστεί από έναν αναλογικό πείρο του Arduino. Εάν η μονάδα πλακέτας βροχής είναι μερικώς υγρή, η έξοδος αυτής της μονάδας πλακέτας βροχής θα είναι σε σχέση με την αντίσταση που προσφέρει. Εάν η αντίσταση που προσφέρεται από τη μονάδα του πίνακα βροχής είναι κατά τέτοιο τρόπο ώστε η έξοδος να είναι 3V, η αναλογική τιμή ανάγνωσης θα είναι 613. Ο τύπος για εύρεση ADC μπορεί να δοθεί από, ADC = (τιμή αναλογικής τάσης X 1023) / 5. Χρησιμοποιώντας αυτόν τον τύπο μπορείτε να μετατρέψετε οποιαδήποτε αναλογική τάση σε t Arduino αναλογική τιμή ανάγνωσης.
Διάγραμμα κυκλώματος
Το παρακάτω διάγραμμα κυκλώματος σας δείχνει τις συνδέσεις κυκλώματος για τον αισθητήρα πτώσης βροχής με το Arduino. Ο σχεδιασμός γίνεται χρησιμοποιώντας πρωτότυπο, οι φυσικές μονάδες είναι παρόμοιες με τις ενότητες που φαίνονται στο διάγραμμα κυκλώματος.
Η μονάδα μετρητή βροχής, η οποία φαίνεται στο διάγραμμα κυκλώματος συνδέεται στον πίνακα ελέγχου. Ο πείρος VCC του πίνακα ελέγχου είναι συνδεδεμένος στην τροφοδοσία 5V. Ο πείρος γείωσης συνδέεται με τη γείωση. Εάν χρειαστεί, ο ακροδέκτης D0 είναι συνδεδεμένος με οποιονδήποτε ψηφιακό ακροδέκτη του Arduino και αυτός ο ακροδέκτης πρέπει να δηλωθεί ως ακίδα εξόδου στο πρόγραμμα. Το πρόβλημα που αντιμετωπίζουμε με τον πείρο D0 είναι ότι δεν μπορούμε να πάρουμε την ακριβή τιμή της τάσης εξόδου. Εάν η έξοδος διασχίσει την τάση κατωφλίου, τότε η μονάδα ελέγχου μπορεί να ανιχνεύσει την αλλαγή στην έξοδο. Πρέπει να λειτουργήσουμε το βομβητή, ακόμα και αν υπάρχει σημαντική αλλαγή στην τάση εξόδου στη μονάδα του πίνακα βροχής. Λόγω αυτών των λόγων, ο ακροδέκτης Α0 συνδέεται με τον αναλογικό πείρο του Arduino, γεγονός που καθιστά εύκολη την παρακολούθηση της αλλαγής στην έξοδο. Ο βομβητής, που χρησιμοποιείται ως σήμα προς τον χρήστη,μπορεί να συνδεθεί με οποιονδήποτε ψηφιακό πείρο του Arduino. Εάν ο βομβητής χρειάζεται περισσότερα από 5V, δοκιμάστε να συνδέσετε ένα κύκλωμα ρελέ ή ένα τρανζίστορ και στη συνέχεια να συνδέσετε το φορτίο σε αυτό.
Επεξήγηση κώδικα
Ο κωδικός Arduino για τον αισθητήρα βροχής γράφτηκε χρησιμοποιώντας το Arduino IDE. Ο πλήρης κωδικός για αυτό το έργο δίνεται στο τέλος της σελίδας.
# καθορισμός βροχόπτωσης A0 # καθορισμός βομβητή 5 int τιμή; int σύνολο = 10;
Ορισμός του ακροδέκτη A0 ως βροχόπτωσης, και του ακροδέκτη 5 ως βομβητή και δηλώνοντας τη μεταβλητή "τιμή" και "σετ" ως ακέραιους αριθμούς και ρυθμίζοντας τη μεταβλητή καθορισμένη τιμή σε 10. Αυτή η τιμή μπορεί να αλλάξει σύμφωνα με το απαιτούμενο επίπεδο λειτουργίας. Εάν θέλετε να ενεργοποιηθεί ο βομβητής, ακόμα και όταν υπάρχει λίγη βροχή, ορίστε την στην ελάχιστη τιμή
άκυρη ρύθμιση () {Serial.begin (9600); pinMode (βομβητής, ΕΞΟΔΟΣ); pinMode (βροχόπτωση, INPUT); }
Αρχικοποίηση της σειριακής επικοινωνίας και ρύθμιση του βομβητή. Ορισμός του πείρου βροχής ως πείρου εξόδου και πείρου εισόδου.
void loop () {value = analogRead (βροχόπτωση); Serial.println (τιμή); τιμή = χάρτης (τιμή, 0,1023,225,0);
η λειτουργία analogRead διαβάζει την τιμή του αισθητήρα βροχής. Ο χάρτης λειτουργίας χαρτογραφεί την τιμή του αισθητήρα βροχής από τον πείρο εξόδου και εκχωρεί μια τιμή στη μεταβλητή, που κυμαίνεται από 0 έως 225.
if (value> = set) {Serial.println ("εντοπίστηκε βροχή"); digitalWrite (βομβητής, ΥΨΗΛΟΣ);
Εάν η τιμή του αισθητήρα ανάγνωσης είναι μεγαλύτερη από την καθορισμένη τιμή, τότε το πρόγραμμα μπαίνει στο βρόχο, εκτυπώνει το μήνυμα στη σειριακή οθόνη και ενεργοποιεί το βομβητή
αλλιώς {digitalWrite (βομβητής, LOW);
Το πρόγραμμα εισέρχεται στην άλλη λειτουργία μόνο όταν η τιμή είναι μικρότερη από την καθορισμένη τιμή. Αυτή η λειτουργία θα απενεργοποιήσει τον βομβητή όταν η καθορισμένη τιμή είναι υψηλότερη από την τιμή του αισθητήρα, πράγμα που σημαίνει ότι δεν υπάρχει βροχή.
Εργασία συστήματος ανίχνευσης βροχής με βάση το Arduino
Αυτό το σύστημα λειτουργεί με τέτοιο τρόπο ώστε, όταν υπάρχει βροχή, το νερό της βροχής να λειτουργεί ως σκανδάλη, η οποία ενεργοποιεί τον βομβητή. Στο Rain Drop Sensor Arduino Code, ορίσαμε ότι οι ακίδες 5 και το A0 είναι βομβητές και βροχοπτώσεις. Με αυτόν τον τρόπο, μπορούμε να αλλάξουμε τις καρφίτσες στο καθορισμένο μέρος της συνάρτησης και το υπόλοιπο μέρος του κώδικα δεν θα αγγιστεί. Αυτό θα κάνει τον προγραμματιστή να επεξεργάζεται εύκολα τις καρφίτσες.
Στον κενό κύκλο, η εντολή analogRead διαβάζει την τιμή από τον αισθητήρα. Στην επόμενη γραμμή, η εντολή Serial.println (τιμή), εκτυπώνει την τιμή στη σειριακή οθόνη. Αυτό θα είναι χρήσιμο κατά τον εντοπισμό σφαλμάτων. Η συνάρτηση χαρτών χαρτογραφεί την εισερχόμενη τιμή μεταξύ 0 -225. Η μορφή λειτουργίας για τον χάρτη είναι ένας χάρτης (τιμή, ελάχιστη τιμή, μέγιστη τιμή, τιμή που αντιστοιχεί στην ελάχιστη τιμή, τιμή που αντιστοιχεί στη μέγιστη τιμή). Ο βομβητής θα ενεργοποιηθεί ή απενεργοποιηθεί, ανάλογα με την καθορισμένη τιμή και την έξοδο του αισθητήρα. Αυτή η τιμή συγκρίνεται στη συνάρτηση if, με την καθορισμένη τιμή. Εάν η τιμή είναι μεγαλύτερη από την καθορισμένη τιμή, θα ενεργοποιηθεί ο βομβητής. Εάν η τιμή είναι μικρότερη από την καθορισμένη τιμή, ο βομβητής θα απενεργοποιηθεί.
Η πλήρης εργασία βρίσκεται στο παρακάτω βίντεο. Αυτή είναι μια εφαρμογή μεταξύ των πολλών, η ίδια αρχή θα φανεί σε υαλοκαθαριστήρες, άλλους αυτοματισμούς σπιτιού, τομείς γεωργίας κ.λπ. Ελπίζω να καταλάβετε το έργο και να απολαύσατε την κατασκευή κάτι χρήσιμο. Εάν έχετε απορίες, χρησιμοποιήστε την παρακάτω ενότητα σχολίων ή χρησιμοποιήστε τα φόρουμ μας για άλλες τεχνικές ερωτήσεις.