- Απαιτούμενο υλικό:
- Έννοια εργασίας του ρομπότ πυρόσβεσης:
- Διάγραμμα κυκλώματος:
- Προγραμματισμός του Arduino:
- Εργασία ρομπότ καταπολέμησης πυρκαγιάς:
Σύμφωνα με το National Crime Records Bureau (NCRB), εκτιμάται ότι περισσότεροι από 1,2 εκατομμύρια θάνατοι έχουν προκληθεί εξαιτίας πυρκαϊκών ατυχημάτων στην Ινδία από το 2010-2014. Παρόλο που έχουν ληφθεί πολλές προφυλάξεις για ατυχήματα κατά της πυρκαγιάς, αυτές οι φυσικές / ανθρωπογενείς καταστροφές συμβαίνουν κατά καιρούς. Σε περίπτωση έκρηξης πυρκαγιάς, για να σώσουμε ανθρώπους και να σβήσουμε τη φωτιά είμαστε αναγκασμένοι να χρησιμοποιήσουμε ανθρώπινους πόρους που δεν είναι ασφαλείς. Με την πρόοδο της τεχνολογίας ειδικά στη Ρομποτική είναι πολύ πιθανό να αντικατασταθούν οι άνθρωποι με ρομπότ για την καταπολέμηση της φωτιάς. Αυτό θα βελτιώσει την αποτελεσματικότητα των πυροσβεστών και θα τους αποτρέψει επίσης να διακινδυνεύσουν ανθρώπινες ζωές. Σήμερα πρόκειται να δημιουργήσουμε ένα ρομπότ πυρόσβεσης χρησιμοποιώντας το Arduino, το οποίο θα αισθανθεί αυτόματα τη φωτιά και θα ξεκινήσει την αντλία νερού
Σε αυτό το έργο, θα μάθουμε πώς να φτιάχνουμε ένα απλό ρομπότ χρησιμοποιώντας το Arduino που θα μπορούσε να κινηθεί προς τη φωτιά και να αντλήσει νερό γύρω της για να σβήσει τη φωτιά. Είναι ένα πολύ απλό ρομπότ που θα μας διδάξει την υποκείμενη έννοια της ρομποτικής. θα μπορούσατε να δημιουργήσετε πιο εξελιγμένα ρομπότ μόλις καταλάβετε τα ακόλουθα βασικά. Ας ξεκινήσουμε λοιπόν…
Απαιτούμενο υλικό:
- Arduino UNO
- Αισθητήρας πυρκαγιάς ή αισθητήρας φλόγας (3 Nos)
- Σερβο κινητήρας (SG90)
- Μονάδα οδηγού κινητήρα L293D
- Υποβρύχια αντλία Mini DC
- Μικρό ψωμί
- Ρομπότ πλαίσιο με κινητήρες (2) και τροχούς (2) (οποιουδήποτε τύπου)
- Ένα μικρό κουτί
- Σύνδεση καλωδίων
Αγοράστε όλα τα παραπάνω απαιτούμενα εξαρτήματα για το ρομπότ πυρόσβεσης Arduino.
Έννοια εργασίας του ρομπότ πυρόσβεσης:
Ο κύριος εγκέφαλος αυτού του έργου είναι το Arduino, αλλά για να αισθανθούμε τη φωτιά χρησιμοποιούμε τη μονάδα αισθητήρα πυρκαγιάς (αισθητήρας φλόγας) που φαίνεται παρακάτω.
Όπως μπορείτε να δείτε, αυτοί οι αισθητήρες διαθέτουν δέκτη υπερύθρων (φωτοδίοδος) που χρησιμοποιείται για την ανίχνευση της φωτιάς. Πώς είναι αυτό δυνατόν? Όταν καίει φωτιά εκπέμπει μικρή ποσότητα υπέρυθρου φωτός, αυτό το φως θα ληφθεί από τον δέκτη υπερύθρων στη μονάδα αισθητήρα. Στη συνέχεια, χρησιμοποιούμε ένα Op-Amp για να ελέγξουμε την αλλαγή τάσης στον δέκτη υπερύθρων, έτσι ώστε αν ανιχνευθεί πυρκαγιά, ο πείρος εξόδου (DO) θα δώσει 0V (LOW) και εάν δεν υπάρχει φωτιά ο πείρος εξόδου θα είναι 5V ΥΨΗΛΟΣ).
Έτσι, τοποθετούμε τρεις τέτοιους αισθητήρες σε τρεις κατευθύνσεις του ρομπότ για να κατανοήσουμε σε ποια κατεύθυνση καίγεται η φωτιά.
Ανιχνεύουμε την κατεύθυνση της φωτιάς μπορούμε να χρησιμοποιήσουμε τους κινητήρες για να κινηθούμε κοντά στη φωτιά οδηγώντας τους κινητήρες μας μέσω της μονάδας L293D. Όταν πλησιάζουμε σε φωτιά πρέπει να την σβήσουμε χρησιμοποιώντας νερό. Χρησιμοποιώντας ένα μικρό δοχείο μπορούμε να μεταφέρουμε νερό, μια αντλία 5V τοποθετείται επίσης στο δοχείο και ολόκληρο το δοχείο τοποθετείται πάνω από έναν σερβοκινητήρα έτσι ώστε να μπορούμε να ελέγξουμε την κατεύθυνση προς την οποία πρέπει να ψεκάζεται το νερό. Ας προχωρήσουμε με τις συνδέσεις τώρα
Διάγραμμα κυκλώματος:
Το πλήρες διάγραμμα κυκλώματος για αυτό το ρομπότ πυρόσβεσης δίνεται παρακάτω
Μπορείτε είτε να συνδέσετε όλες τις εμφανιζόμενες συνδέσεις για να ανεβάσετε το πρόγραμμα για να ελέγξετε τη λειτουργία είτε μπορείτε να συναρμολογήσετε πλήρως το bot και στη συνέχεια να προχωρήσετε στις συνδέσεις. Και οι δύο τρόποι είναι πολύ απλοί και οι συνδέσεις πρέπει να είναι σωστές.
Με βάση το ρομποτικό πλαίσιο που χρησιμοποιείτε ενδέχεται να μην μπορείτε να χρησιμοποιήσετε τον ίδιο τύπο κοντέινερ που χρησιμοποιώ. Σε αυτήν την περίπτωση χρησιμοποιήστε τη δική σας δημιουργικότητα για να ρυθμίσετε το σύστημα άντλησης. Ωστόσο, ο κωδικός θα παραμείνει ίδιος. Χρησιμοποίησα ένα μικρό δοχείο αλουμινίου (δοχεία δροσερών ποτών) για να βάλω την αντλία μέσα της και έχυσα νερό μέσα της. Στη συνέχεια συναρμολόγησα ολόκληρο το δοχείο πάνω από έναν σερβοκινητήρα για να ελέγξω την κατεύθυνση του νερού. Το ρομπότ μου μοιάζει κάπως έτσι μετά τη συναρμολόγηση.
Όπως μπορείτε να δείτε, έχω σταθεροποιήσει το σερβο πτερύγιο στο κάτω μέρος του δοχείου χρησιμοποιώντας κόλλα και έχω σταθεροποιήσει το σερβοκινητήρα με σασί χρησιμοποιώντας παξιμάδια και μπουλόνια. Μπορούμε απλά να τοποθετήσουμε το δοχείο πάνω από τον κινητήρα και να ενεργοποιήσουμε την αντλία μέσα σε αυτό για να αντλήσουμε νερό έξω μέσω του σωλήνα. Ολόκληρο το δοχείο μπορεί στη συνέχεια να περιστραφεί χρησιμοποιώντας το σερβο για τον έλεγχο της κατεύθυνσης του νερού.
Προγραμματισμός του Arduino:
Μόλις είστε έτοιμοι με το υλικό σας, μπορείτε να ανεβάσετε τον κωδικό Arduino για κάποια ενέργεια. Το πλήρες πρόγραμμα δίνεται στο τέλος αυτής της σελίδας. Ωστόσο, εξήγησα περαιτέρω μερικά σημαντικά κομμάτια εδώ.
Όπως γνωρίζουμε, ο αισθητήρας πυρκαγιάς θα εκπέμπει ΥΨΗΛΟ όταν υπάρχει φωτιά και θα εκπέμπει χαμηλό όταν υπάρχει φωτιά. Επομένως, πρέπει να συνεχίσουμε να ελέγχουμε αυτούς τους αισθητήρες εάν έχει συμβεί πυρκαγιά. Εάν δεν υπάρχει φωτιά, ζητάμε από τους κινητήρες να παραμείνουν σταματημένοι κάνοντας όλες τις ακίδες ψηλές όπως φαίνεται παρακάτω
if (digitalRead (Left_S) == 1 && digitalRead (Right_S) == 1 && digitalRead (Forward_S) == 1) // Εάν δεν εντοπιστεί πυρκαγιά όλοι οι αισθητήρες είναι μηδέν {// Μην μετακινήσετε το ρομπότ digitalWrite (LM1, HIGH); digitalWrite (LM2, HIGH); digitalWrite (RM1, ΥΨΗΛΟ); digitalWrite (RM2, ΥΨΗΛΟΣ); }
Ομοίως, εάν υπάρχει φωτιά μπορούμε να ζητήσουμε από το ρομπότ να κινηθεί προς αυτή την κατεύθυνση περιστρέφοντας τον αντίστοιχο κινητήρα. Μόλις φτάσει στη φωτιά, ο αριστερός και ο δεξιός αισθητήρας δεν θα ανιχνεύσουν τη φωτιά, καθώς θα ήταν ευθεία μπροστά από τη φωτιά. Τώρα χρησιμοποιούμε τη μεταβλητή που ονομάζεται « φωτιά » που θα εκτελούσε τη λειτουργία για να σβήσει τη φωτιά.
αλλιώς εάν (digitalRead (Forward_S) == 0) // Εάν η φωτιά είναι ευθεία μπροστά {// Μετακινήστε το ρομπότ προς τα εμπρός digitalWrite (LM1, HIGH); digitalWrite (LM2, LOW); digitalWrite (RM1, ΥΨΗΛΟ); digitalWrite (RM2, LOW); fire = true; }
Όταν η μεταβλητή πυρκαγιά γίνει αληθινή, ο κωδικός arduino του ρομπότ πυρόσβεσης θα εκτελέσει τη λειτουργία put_off_fire έως ότου σβήσει η φωτιά. Αυτό γίνεται χρησιμοποιώντας τον παρακάτω κώδικα.
ενώ (fire == true) {put_off_fire (); }
Μέσα στο put_off_fire () πρέπει απλώς να σταματήσουμε το ρομπότ κάνοντας όλες τις ακίδες ψηλές. Στη συνέχεια, ενεργοποιήστε την αντλία για να σπρώξετε το νερό έξω από το δοχείο, ενώ αυτό γίνεται, μπορούμε επίσης να χρησιμοποιήσουμε τον σερβοκινητήρα για να περιστρέψουμε το δοχείο, έτσι ώστε το νερό να διαιρείται ομοιόμορφα. Αυτό γίνεται χρησιμοποιώντας τον παρακάτω κώδικα
void put_off_fire () {καθυστέρηση (500); digitalWrite (LM1, HIGH); digitalWrite (LM2, HIGH); digitalWrite (RM1, ΥΨΗΛΟ); digitalWrite (RM2, ΥΨΗΛΟΣ); digitalWrite (αντλία, ΥΨΗΛΟ); καθυστέρηση (500) για (pos = 50; pos <= 130; pos + = 1) {myservo.write (pos); καθυστέρηση (10) } για (pos = 130; pos> = 50; pos - = 1) {myservo.write (pos); καθυστέρηση (10) } digitalWrite (αντλία, ΧΑΜΗΛΗ); myservo.write (90); φωτιά = ψευδές; }
Εργασία ρομπότ καταπολέμησης πυρκαγιάς:
Συνιστάται να ελέγχετε την έξοδο του ρομπότ σε βήματα αντί να τα τρέχετε όλα μαζί για πρώτη φορά. Μπορείτε να δημιουργήσετε το ρομπότ μέχρι τον σερβο κινητήρα και να ελέγξετε αν μπορεί να ακολουθήσει με επιτυχία τη φωτιά. Στη συνέχεια, μπορείτε να ελέγξετε εάν η αντλία και ο σερβοκινητήρας λειτουργούν σωστά. Μόλις όλα λειτουργούν όπως αναμένεται, μπορείτε να εκτελέσετε το παρακάτω πρόγραμμα και να απολαύσετε την πλήρη λειτουργία του ρομπότ πυροσβεστών.
Η πλήρης λειτουργία του ρομπότ βρίσκεται στο παρακάτω βίντεο. Η μέγιστη απόσταση από την οποία μπορεί να ανιχνευθεί η φωτιά εξαρτάται από το μέγεθος της φωτιάς, για ένα μικρό σπίρτο η απόσταση είναι σχετικά μικρότερη. Μπορείτε επίσης να χρησιμοποιήσετε τα ποτενσιόμετρα πάνω από τις μονάδες για να ελέγξετε την ευαισθησία του ρομπότ. Έχω χρησιμοποιήσει μια τράπεζα ισχύος για να τροφοδοτήσω το ρομπότ, μπορείτε να χρησιμοποιήσετε μια μπαταρία ή ακόμα και να την τροφοδοτήσετε με μια μπαταρία 12V.
Ελπίζω να καταλάβατε το έργο και να απολαύσετε κάτι παρόμοιο. Εάν αντιμετωπίζετε προβλήματα με τη λήψη αυτής της έκδοσης, χρησιμοποιήστε την παρακάτω ενότητα σχολίων για να δημοσιεύσετε τα ερωτήματά σας ή χρησιμοποιήστε τα φόρουμ για τεχνική βοήθεια.
Ρίξτε μια ματιά στην ενότητα Ρομποτική για να βρείτε πιο δροσερά ρομπότ DIY.