- Απαιτούμενα συστατικά για το έργο Arduino Plant Watering System
- Επεξήγηση κυκλώματος:
- Επεξήγηση εργασίας:
- Επεξήγηση προγραμματισμού:
Όποτε βγαίνουμε έξω από την πόλη για λίγες μέρες, πάντα ανησυχούσαμε για τα φυτά μας καθώς χρειάζονται νερό σε τακτική βάση. Εδώ φτιάχνουμε το Αυτόματο Σύστημα Άρδευσης Φυτών χρησιμοποιώντας το Arduino, το οποίο παρέχει αυτόματα νερό στις εγκαταστάσεις σας και σας ενημερώνουμε στέλνοντας μήνυμα στο κινητό σας.
Σε αυτό το σύστημα ποτίσματος εγκαταστάσεων, ο αισθητήρας υγρασίας εδάφους ελέγχει το επίπεδο υγρασίας στο έδαφος και εάν το επίπεδο υγρασίας είναι χαμηλό, τότε το Arduino ενεργοποιεί μια αντλία νερού για να παρέχει νερό στο εργοστάσιο. Η αντλία νερού σβήνει αυτόματα όταν το σύστημα εντοπίσει αρκετή υγρασία στο έδαφος. Κάθε φορά που το σύστημα ενεργοποιεί ή απενεργοποιεί την αντλία, αποστέλλεται ένα μήνυμα στον χρήστη μέσω της μονάδας GSM, ενημερώνοντας την κατάσταση της αντλίας νερού και της υγρασίας του εδάφους. Αυτό το σύστημα είναι πολύ χρήσιμο σε αγροκτήματα, κήπους, σπίτι κ.λπ. Αυτό το σύστημα είναι πλήρως αυτοματοποιημένο και δεν υπάρχει ανάγκη για ανθρώπινη παρέμβαση.
Απαιτούμενα συστατικά για το έργο Arduino Plant Watering System
- Arduino Uno
- Ενότητα GSM
- Τρανζίστορ BC547 (2)
- Σύνδεση καλωδίων
- LCD 16x2 (προαιρετικό)
- Τροφοδοσία 12v 1A
- Ρελέ 12v
- Αντλία ψύξης νερού
- Αισθητήρας υγρασίας εδάφους
- Αντίσταση (1k, 10k)
- Μεταβλητό Resister (10k, 100k)
- Υποδοχή τερματικού
- Ρυθμιστής τάσης IC LM317
Ενότητα GSM:
Εδώ έχουμε χρησιμοποιήσει τη μονάδα TTL SIM800 GSM. Το SIM800 είναι ένα πλήρες Quad-band GSM / GPRS Module το οποίο μπορεί να ενσωματωθεί εύκολα από τον πελάτη ή τον χόμπι. Το SIM900 GSM Module παρέχει ένα βιομηχανικό πρότυπο διεπαφή. το SIM800 παρέχει απόδοση GSM / GPRS 850/900/1800 / 1900MHz για φωνή, SMS, δεδομένα με χαμηλή κατανάλωση ενέργειας. Ο σχεδιασμός αυτής της μονάδας SIM800 GSM είναι λεπτός και συμπαγής. Είναι εύκολα διαθέσιμο στην αγορά ή online από το eBay.
- Τετραπλή ζώνη GSM / GPRS module σε μικρό μέγεθος.
- Το GPRS ενεργοποιήθηκε
- Έξοδος TTL
Μάθετε περισσότερα για τις εντολές GSM module και AT εδώ. Ελέγξτε επίσης τα διάφορα έργα μας χρησιμοποιώντας το GSM και το Arduino για να κατανοήσετε σωστά τη διασύνδεσή τους.
Επεξήγηση κυκλώματος:
Σε αυτό το Σύστημα Άρδευσης Φυτών, χρησιμοποιήσαμε ένα σπιτικό αισθητήρα υγρασίας εδάφους για να ανιχνεύσουμε το επίπεδο υγρασίας του εδάφους. Για να κάνουμε ανιχνευτή, κόψαμε και χαράξαμε έναν Χαλκό με επένδυση σανίδα σύμφωνα με την παρακάτω εικόνα. Η μία πλευρά του καθετήρα συνδέεται απευθείας με το Vcc και άλλο τερματικό ανιχνευτή πηγαίνει στη βάση του τρανζίστορ BC547. Ένα ποτενσιόμετρο συνδέεται στη βάση του τρανζίστορ για να ρυθμίσει την ευαισθησία του αισθητήρα.
Το Arduino χρησιμοποιείται για τον έλεγχο ολόκληρης της διαδικασίας αυτού του αυτόματου συστήματος ποτίσματος. Η έξοδος του κυκλώματος αισθητήρα εδάφους συνδέεται απευθείας με τον ψηφιακό πείρο D7 του Arduino. Ένα LED χρησιμοποιείται στο κύκλωμα αισθητήρα, αυτή η κατάσταση ON του LED δείχνει την παρουσία υγρασίας στο έδαφος και η κατάσταση OFF δείχνει την απουσία υγρασίας στο έδαφος.
Η μονάδα GSM χρησιμοποιείται για την αποστολή SMS στον χρήστη. Εδώ έχουμε χρησιμοποιήσει τη μονάδα TTL SIM800 GSM, η οποία δίνει και παίρνει τη λογική TTL απευθείας (ο χρήστης μπορεί να χρησιμοποιήσει οποιαδήποτε μονάδα GSM). Ένας ρυθμιστής τάσης LM317 χρησιμοποιείται για την τροφοδοσία της μονάδας SIM800 GSM. Το LM317 είναι πολύ ευαίσθητο στην ονομαστική τάση και συνιστάται να διαβάσετε το φύλλο δεδομένων πριν από τη χρήση. Η ονομαστική τάση λειτουργίας είναι 3,8v έως 4,2v (προτιμάτε 3,8v για να το χρησιμοποιήσετε) Ακολουθεί το διάγραμμα κυκλώματος τροφοδοσίας που δίνεται στην μονάδα TTL sim800 GSM:
Εάν ο χρήστης θέλει να χρησιμοποιήσει το SIM900 TTL Module τότε θα πρέπει να χρησιμοποιήσει το 5V και αν ο χρήστης θέλει να χρησιμοποιήσει το SIM900 Module τότε εφαρμόστε 12v στην υποδοχή DC Jack του πίνακα.
Ένα ρελέ 12V χρησιμοποιείται για τον έλεγχο της αντλίας νερού 220VAC. Το ρελέ οδηγείται από ένα τρανζίστορ BC547 το οποίο συνδέεται περαιτέρω με τον ψηφιακό πείρο 11 του Arduino.
Μια προαιρετική οθόνη LCD χρησιμοποιείται επίσης για την εμφάνιση της κατάστασης και των μηνυμάτων. Οι ακίδες ελέγχου των LCD, RS και EN συνδέονται με τους ακροδέκτες 14 και 15 του Arduino και οι ακίδες δεδομένων του LCD D4-D7 συνδέονται απευθείας στους ακροδέκτες 16, 17, 18 και 19 του Arduino. Το LCD χρησιμοποιείται σε λειτουργία 4-bit και οδηγείται από την ενσωματωμένη βιβλιοθήκη LCD του Arduino.
Ακολουθεί το διάγραμμα κυκλώματος αυτού του συστήματος άρδευσης με αισθητήρα υγρασίας arduino και εδάφους:
Επεξήγηση εργασίας:
Η εργασία αυτού του αυτόματου συστήματος άρδευσης φυτών είναι αρκετά απλή. Πρώτα απ 'όλα, είναι ένα πλήρως αυτοματοποιημένο σύστημα και δεν υπάρχει ανάγκη ανθρώπινου δυναμικού για τον έλεγχο του συστήματος. Το Arduino χρησιμοποιείται για τον έλεγχο ολόκληρης της διαδικασίας και η μονάδα GSM χρησιμοποιείται για την αποστολή μηνυμάτων ειδοποίησης στον χρήστη στο κινητό του τηλέφωνο.
Εάν υπάρχει υγρασία στο έδαφος, τότε υπάρχει αγωγιμότητα μεταξύ των δύο ανιχνευτών του αισθητήρα υγρασίας εδάφους και λόγω αυτής της αγωγιμότητας, το τρανζίστορ Q2 παραμένει σε κατάσταση ενεργοποίησης / ενεργοποίησης και το Arduino Pin D7 παραμένει χαμηλό. Όταν το Arduino διαβάζει το σήμα LOW στο D7, τότε στέλνει SMS στον χρήστη σχετικά με το "Soil Moisture is Normal. Ο κινητήρας απενεργοποιήθηκε »και η αντλία νερού παραμένει σε κατάσταση απενεργοποίησης
Τώρα, εάν δεν υπάρχει υγρασία στο έδαφος, τότε το τρανζίστορ Q2 απενεργοποιείται και το Pin D7 γίνεται υψηλό. Στη συνέχεια, ο Arduino διαβάζει το Pin D7 και ανάβει τον κινητήρα νερού και στέλνει επίσης μήνυμα στον χρήστη σχετικά με το "Εντοπίστηκε χαμηλή υγρασία εδάφους. Ο κινητήρας ενεργοποιήθηκε ». Ο κινητήρας σβήνει αυτόματα όταν υπάρχει επαρκής υγρασία στο έδαφος. Περαιτέρω ελέγξτε το βίντεο επίδειξης και τον κώδικα (δίνονται στο τέλος) για καλύτερη κατανόηση της διαδικασίας εργασίας του έργου.
Επεξήγηση προγραμματισμού:
Ο κώδικας για αυτό το πρόγραμμα είναι εύκολα κατανοητός. Πρώτα απ 'όλα συμπεριλάβαμε τη βιβλιοθήκη SoftwareSerial για να φτιάξουμε τα pin 2 και 3 ως Rx & Tx και επίσης συμπεριλάβαμε το LiquidCrystal για LCD. Στη συνέχεια, ορίσαμε ορισμένες μεταβλητές για κινητήρα, αισθητήρα υγρασίας εδάφους, LED κ.λπ.
#περιλαμβάνω
Στη συνέχεια, στη λειτουργία κενής ρύθμισης () , η σειριακή επικοινωνία αρχικοποιείται στα 9600 bps και οι οδηγίες δίδονται στις διάφορες ακίδες. Η συνάρτηση gsmInit καλείται για αρχικοποίηση της μονάδας GSM.
Serial1.begin (9600); Serial.begin (9600); pinMode (led, OUTPUT); pinMode (κινητήρας, ΕΞΟΔΟΣ); pinMode (αισθητήρας, INPUT_PULLUP); lcd.print ("Water Irrigaton"); lcd.setCursor (4,1); καθυστέρηση (2000); lcd.clear (); lcd.print ("Circuit Digest"); lcd.setCursor (0,1); lcd.print ("Σας καλωσορίζει"); καθυστέρηση (2000); gsmInit ();
Στη συνέχεια, ο αισθητήρας διαβάζεται σε λειτουργία κενών βρόχων () και ο κινητήρας ενεργοποιείται ή απενεργοποιείται σύμφωνα με την κατάσταση του αισθητήρα και ένα SMS αποστέλλεται επίσης στο χρήστη χρησιμοποιώντας τη λειτουργία sendSMS . Ελέγξτε τις διάφορες λειτουργίες με πλήρη κωδικό που δίνεται στο τέλος.
void loop () {lcd.setCursor (0,0); lcd.print ("Αυτόματη λειτουργία"); if (digitalRead (αισθητήρας) == 1 && flag == 0) {καθυστέρηση (1000); if (digitalRead (αισθητήρας) == 1) {digitalWrite (led, HIGH); sendSMS ("Εντοπίστηκε χαμηλή υγρασία εδάφους. Ο κινητήρας ενεργοποιήθηκε"); lcd.begin (16,2); lcd.setCursor (0,1);…………………
Εδώ η συνάρτηση gsmInit () είναι σημαντική και οι χρήστες δυσκολεύονται συνήθως να ρυθμίσουν εάν είναι σωστά. Χρησιμοποιείται για την προετοιμασία της μονάδας GSM, όπου πρώτα ελέγχεται η ενότητα GSM εάν είναι συνδεδεμένη ή όχι αποστέλλοντας εντολή «AT» στη μονάδα GSM. Εάν ληφθεί απάντηση ΟΚ, σημαίνει ότι είναι έτοιμη. Το σύστημα ελέγχει συνεχώς τη μονάδα έως ότου ετοιμαστεί ή έως ότου ληφθεί το «OK» Στη συνέχεια, το ECHO απενεργοποιείται στέλνοντας την εντολή ATE0, διαφορετικά η μονάδα GSM θα επαναλάβει όλες τις εντολές. Τελικά ελέγχεται η διαθεσιμότητα δικτύου μέσω του "AT + CPIN;" εντολή, εάν η κάρτα που έχει εισαχθεί είναι κάρτα SIM και υπάρχει PIN, δίνει την απάντηση ΕΤΟΙΜΑ. Αυτό ελέγχεται επίσης επανειλημμένα έως ότου βρεθεί το δίκτυο. Αυτό μπορεί να γίνει κατανοητό από το παρακάτω βίντεο.
void gsmInit () {lcd.clear (); lcd.print ("Εύρεση μονάδας.."); boolean at_flag = 1; ενώ (at_flag) {Serial1.println ("AT"); ενώ (Serial1.available ()> 0) {if (Serial1.find ("OK")) at_flag = 0; } καθυστέρηση (1000) }……………….
Έτσι, με αυτό το αυτόματο σύστημα άρδευσης, δεν χρειάζεται να ανησυχείτε για τα φυτά σας όταν βρίσκεστε μακριά από το σπίτι σας. Μπορεί να βελτιωθεί περαιτέρω ώστε να λειτουργεί και να παρακολουθείται μέσω Διαδικτύου.