Περίπου το 71% της γης καλύπτεται με νερό, αλλά δυστυχώς μόνο το 2,5% είναι πόσιμο νερό. Με την αύξηση του πληθυσμού, της ρύπανσης και της κλιματικής αλλαγής, αναμένεται ότι μέχρι το 2025 θα βιώσουμε πολυετή έλλειψη νερού. Από τη μία πλευρά υπάρχουν ήδη μικρές διαφορές μεταξύ των εθνών και των κρατών για την κοινή χρήση νερού του ποταμού από την άλλη, εμείς ως άνθρωποι σπαταλάμε πολύ πόσιμο νερό λόγω της αμέλειας μας.
Μπορεί να μην φαίνεται μεγάλο για πρώτη φορά, αλλά αν η βρύση σας στάζει μια σταγόνα νερό μία φορά κάθε δευτερόλεπτο, θα χρειαστούν μόνο περίπου πέντε ώρες για να σπαταλήσετε ένα γαλόνι νερού, δηλαδή αρκετό νερό για έναν μέσο άνθρωπο να επιβιώσει για δύο μέρες. Τι μπορεί να γίνει λοιπόν για να σταματήσει αυτό; Όπως πάντα η απάντηση, γι 'αυτό έγκειται στη βελτίωση της τεχνολογίας. Αν αντικαταστήσουμε όλες τις χειροκίνητες βρύσες με μια έξυπνη που ανοίγει και κλείνει μόνη της, όχι μόνο μπορούμε να εξοικονομήσουμε νερό, αλλά και να έχουμε έναν πιο υγιεινό τρόπο ζωής, αφού δεν χρειάζεται να λειτουργούμε τη βρύση με τα βρώμικα χέρια μας. Έτσι, σε αυτό το έργο θα κατασκευάσουμε έναν αυτόματο διανομέα νερού χρησιμοποιώντας το Arduino και μια βαλβίδα ηλεκτρομαγνητικής βαλβίδας που μπορεί να σας δώσει αυτόματα νερό όταν τοποθετείται ένα ποτήρι κοντά του. Ακούγεται δροσερό! Ας φτιάξουμε λοιπόν…
Απαιτούμενα υλικά
- Ηλεκτρομαγνητική βαλβίδα
- Arduino Uno (οποιαδήποτε έκδοση)
- HCSR04 - Αισθητήρας υπερήχων
- IRF540 MOSFET
- Αντίσταση 1k και 10k
- Ψωμί
- Σύνδεση καλωδίων
Έννοια εργασίας
Η ιδέα πίσω από τον αυτόματο διανομέα νερού είναι πολύ απλή. Θα χρησιμοποιήσουμε έναν αισθητήρα υπερήχων HCSR04 για να ελέγξουμε εάν υπάρχει κάποιο αντικείμενο τέτοιο ώστε το γυαλί να τοποθετηθεί πριν από το διανομέα. Μια ηλεκτρομαγνητική βαλβίδα θα χρησιμοποιηθεί για τον έλεγχο της ροής του νερού, δηλαδή όταν ενεργοποιείται το νερό θα ρέει έξω και όταν απενεργοποιείται το νερό θα σταματήσει. Θα γράψουμε λοιπόν ένα πρόγραμμα Arduino το οποίο ελέγχει πάντα αν υπάρχει κάποιο αντικείμενο κοντά στη βρύση, αν ναι τότε το πηνίο θα ενεργοποιηθεί και θα περιμένουμε μέχρι να αφαιρεθεί το αντικείμενο, μόλις αφαιρεθεί το αντικείμενο, η ηλεκτρομαγνητική βαλβίδα θα απενεργοποιηθεί αυτόματα κλείνοντας έτσι το παροχή νερού. Μάθετε περισσότερα σχετικά με τη χρήση του αισθητήρα υπερήχων με το Arduino εδώ.
Διάγραμμα κυκλώματος
Το πλήρες διάγραμμα κυκλώματος για το Arduino Water Dispenser φαίνεται παρακάτω
Η ηλεκτρομαγνητική βαλβίδα που χρησιμοποιείται σε αυτό το έργο είναι μια βαλβίδα 12V με μέγιστη ένταση ρεύματος 1,2Α και συνεχή ένταση ρεύματος 700mA. Αυτό είναι όταν η βαλβίδα είναι ενεργοποιημένη θα καταναλώσει περίπου 700mA για να διατηρήσει τη βαλβίδα ενεργοποιημένη. Όπως γνωρίζουμε, ένα Arduino είναι ένας πίνακας ανάπτυξης που λειτουργεί με 5V και ως εκ τούτου χρειαζόμαστε ένα κύκλωμα οδήγησης εναλλαγής για το Solenoid για να το ενεργοποιήσετε και να το απενεργοποιήσετε.
Η συσκευή μεταγωγής που χρησιμοποιείται σε αυτό το έργο είναι το IRF540N N-Channel MOSFET. Διαθέτει την πύλη, την πηγή και την αποστράγγιση των 3 ακίδων από τον πείρο 1 αντίστοιχα. Όπως φαίνεται στο διάγραμμα κυκλώματος, ο θετικός ακροδέκτης της ηλεκτρομαγνητικής βαλβίδας τροφοδοτείται με τον πείρο Vin του Arduino. Επειδή θα χρησιμοποιήσουμε έναν προσαρμογέα 12V για να τροφοδοτήσουμε το Arduino και έτσι ο πείρος Vin θα εξάγει 12V ο οποίος μπορεί να χρησιμοποιηθεί για τον έλεγχο της ηλεκτρομαγνητικής βαλβίδας. Ο αρνητικός ακροδέκτης της ηλεκτρομαγνητικής βαλβίδας συνδέεται στο έδαφος μέσω των ακίδων πηγής και αποστράγγισης του MOSFET. Έτσι, η ηλεκτρομαγνητική βαλβίδα θα ενεργοποιηθεί μόνο εάν το MOSFET είναι ενεργοποιημένο.
Ο πείρος πύλης του MOSFET χρησιμοποιείται για να τον ενεργοποιήσετε ή να τον απενεργοποιήσετε. Θα παραμείνει απενεργοποιημένο εάν ο πείρος πύλης είναι γειωμένος και θα ανάψει εάν εφαρμοστεί τάση πύλης. Για να διατηρηθεί το MOSFET απενεργοποιημένο όταν δεν εφαρμόζεται τάση στον πείρο πύλης, ο πείρος πύλης τραβιέται στη γείωση μέσω μιας αντίστασης 10k. Ο πείρος Arduino 12 χρησιμοποιείται για την ενεργοποίηση ή απενεργοποίηση του MOSFET, οπότε ο πείρος D12 συνδέεται με τον πείρο πύλης μέσω αντίστασης 1Κ. Αυτή η αντίσταση 1K χρησιμοποιείται για τρέχοντα περιοριστικό σκοπό.
Ο Υπερηχητικός Αισθητήρας τροφοδοτείται από τους + 5V και τους ακροδέκτες γείωσης του Arduino. Ο πείρος Echo και Trigger συνδέεται στον πείρο 8 και τον πείρο 9 αντίστοιχα. Στη συνέχεια, μπορούμε να προγραμματίσουμε το Arduino για να χρησιμοποιήσουμε τον αισθητήρα υπερήχων για να μετρήσουμε την απόσταση και να ενεργοποιήσουμε το MOSFET όταν εντοπίζεται ένα αντικείμενο. Ολόκληρο το κύκλωμα είναι απλό και ως εκ τούτου μπορεί εύκολα να κατασκευαστεί πάνω από ένα breadboard Η δική μου έμοιαζε κάπως έτσι παρακάτω αφού έκανε τις συνδέσεις.
Προγραμματισμός του Arduino Board
Για αυτό το έργο πρέπει να γράψουμε ένα πρόγραμμα που χρησιμοποιεί τον αισθητήρα υπερήχων HCSR-04 για να μετρήσει την απόσταση του αντικειμένου μπροστά του. Όταν η απόσταση είναι μικρότερη από 10 εκατοστά πρέπει να ενεργοποιήσουμε το MOSFET και αλλιώς πρέπει να απενεργοποιήσουμε το MOSFET. Θα χρησιμοποιήσουμε επίσης το ενσωματωμένο LED που είναι συνδεδεμένο στον ακροδέκτη 13 και θα το αλλάξουμε μαζί με το MOSFET, ώστε να μπορούμε να διασφαλίσουμε εάν το MOSFET είναι σε κατάσταση ενεργοποίησης ή απενεργοποίησης. Το πλήρες πρόγραμμα για να κάνετε το ίδιο δίνεται στο τέλος αυτής της σελίδας. Ακριβώς παρακάτω, εξήγησα το πρόγραμμα χωρίζοντάς το σε μικρά νόημα αποσπάσματα.
Το πρόγραμμα ξεκινά με ορισμό μακροεντολών. Έχουμε τον πείρο σκανδάλης και ηχούς για τον αισθητήρα υπερήχων και τον πείρο πύλης MOSFET και LED ως I / O για το Arduino μας. Έχουμε, λοιπόν, καθορίσει σε ποιον πείρο θα συνδεθούν. Στο υλικό μας έχουμε συνδέσει τον πείρο Echo και Trigger στον 8ο και 9 ο ψηφιακό πείρο αντίστοιχα. Στη συνέχεια, ο ακροδέκτης MOSFET συνδέεται στον ακροδέκτη 12 και από προεπιλογή το ενσωματωμένο LED στον ακροδέκτη 13. Ορίζουμε το ίδιο χρησιμοποιώντας τις ακόλουθες γραμμές
# καθορισμός σκανδάλης 9 # καθορισμός ηχούς 8 # καθορισμός LED 13 # καθορισμός MOSFET 12
Μέσα στη λειτουργία εγκατάστασης δηλώνουμε ποιες ακίδες εισάγονται και ποιες εξάγονται. Στο υλικό μας μόνο ο ακροδέκτης Echo του αισθητήρα υπερήχων (ΗΠΑ) είναι ο πείρος εισόδου και τα υπόλοιπα είναι ακίδες εξόδου. Χρησιμοποιούμε λοιπόν τη λειτουργία pinMode του Arduino για να καθορίσουμε το ίδιο όπως φαίνεται παρακάτω
pinMode (σκανδάλη, ΕΞΟΔΟΣ); pinMode (echo, INPUT); pinMode (LED, OUTPUT); pinMode (MOSFET, OUTPUT);
Μέσα στη λειτουργία του κύριου βρόχου απαιτούμε τη συνάρτηση που ονομάζεται μέτρηση_απόσταση (). Αυτή η συνάρτηση χρησιμοποιεί τον αισθητήρα ΗΠΑ για τη μέτρηση της απόστασης του αντικειμένου μπροστά του και ενημερώνει την τιμή στη μεταβλητή « απόσταση» . Για τη μέτρηση της απόστασης χρησιμοποιώντας τον αισθητήρα ΗΠΑ, ο πείρος σκανδάλης πρέπει πρώτα να κρατηθεί χαμηλός για δύο μικροδευτερόλεπτα και μετά να κρατηθεί ψηλά για δέκα μικροδευτερόλεπτα και πάλι να διατηρηθεί χαμηλός για δύο μικρο δευτερόλεπτα. Αυτό θα στείλει μια ηχητική έκρηξη υπερηχητικών σημάτων στον αέρα που θα αντανακλάται από το αντικείμενο μπροστά του και ο πείρος ηχούς θα πάρει τα σήματα που αντανακλάται από αυτό. Στη συνέχεια, χρησιμοποιούμε την απαιτούμενη τιμή για να υπολογίσουμε την απόσταση του αντικειμένου μπροστά από τον αισθητήρα. Αν θέλετε να μάθετε