Πίνακας περιεχομένων:

ΡΟΜΠΟΤ ΦΥΤΩΝ: 10 Βήματα
ΡΟΜΠΟΤ ΦΥΤΩΝ: 10 Βήματα

Βίντεο: ΡΟΜΠΟΤ ΦΥΤΩΝ: 10 Βήματα

Βίντεο: ΡΟΜΠΟΤ ΦΥΤΩΝ: 10 Βήματα
Βίντεο: Top 10 αληθινά έξυπνα ρομπότ | A.I. Τεχνητή Νοημοσύνη 2024, Ιούλιος
Anonim
Image
Image
ΡΟΜΠΟΤ ΦΥΤΟΥ
ΡΟΜΠΟΤ ΦΥΤΟΥ

Όλοι απολαμβάνουν να έχουν φυτά στο σπίτι, αλλά μερικές φορές με την πολυάσχολη ζωή μας δεν βρίσκουμε το χρόνο να τα φροντίζουμε καλά. Από αυτό το πρόβλημα μας ήρθε μια ιδέα: Γιατί να μην φτιάξουμε ένα ρομπότ που θα το φροντίζει για εμάς;

Αυτό το έργο αποτελείται από ένα εργοστάσιο-ρομπότ που φροντίζει τον εαυτό του. Το εργοστάσιο είναι ενσωματωμένο στο ρομπότ και θα μπορεί να ποτίζεται και να βρίσκει φως αποφεύγοντας τα εμπόδια. Αυτό κατέστη δυνατό με τη χρήση αρκετών αισθητήρων στο ρομπότ και το εργοστάσιο. Αυτό το Instructable στοχεύει να σας καθοδηγήσει στη διαδικασία δημιουργίας ενός ρομπότ φυτών, ώστε να μην χρειάζεται να ανησυχείτε για τα φυτά σας κάθε μέρα!

Αυτό το έργο είναι μέρος της Bruface Mechatronics και έχει υλοποιηθεί από:

Mercedes Arévalo Suárez

Ντάνιελ Μπλάνκεζ

Baudouin Cornelis

Kaat Leemans

Μάρκος Μαρτίνεθ Χιμένεθ

Basile Thisse

(Ομάδα 4)

Βήμα 1: ΚΑΤΑΛΟΓΟΣ ΑΓΟΡΩΝ

ΛΙΣΤΑ ΜΕ ΤΑ ΨΩΝΙΑ
ΛΙΣΤΑ ΜΕ ΤΑ ΨΩΝΙΑ
ΛΙΣΤΑ ΜΕ ΤΑ ΨΩΝΙΑ
ΛΙΣΤΑ ΜΕ ΤΑ ΨΩΝΙΑ
ΛΙΣΤΑ ΜΕ ΤΑ ΨΩΝΙΑ
ΛΙΣΤΑ ΜΕ ΤΑ ΨΩΝΙΑ

Ακολουθεί μια λίστα με κάθε προϊόν που θα χρειαστείτε για να φτιάξετε αυτό το ρομπότ. Για κάθε κομμάτι που υπογραμμίζεται υπάρχει ένας σύνδεσμος:

3D εκτυπωμένοι κινητήρες υποστηρίζουν X1 (αντιγραφή σε 3D)

Τρισδιάστατη εκτύπωση τροχών + σύνδεση τροχού-κινητήρα X2 (αντιγραφή σε 3D)

Μπαταρίες AA Nimh X8

Λειαντικό ρολό χαρτιού X1

Arduino Mega X1

Ρολό τροχού X1

Θήκη μπαταρίας X2

Breadboard για δοκιμές X1

Breadboard για συγκόλληση X1

Κινητήρες συνεχούς ρεύματος (με κωδικοποιητή) X2

Μεντεσέδες X2

Υγρόμετρο Χ1

Αντιστάσεις εξαρτώμενες από το φως X3

Άνδρες-άνδρες και άνδρες-γυναίκες άλτες

Ασπίδα κινητήρα X1

Φυτό X1 (εξαρτάται από εσάς)

Δοχείο φυτών X1

Υποστήριξη φυτών X1 (τρισδιάστατη εκτύπωση)

Πλαστικός σωλήνας X1

Αντιστάσεις διαφορετικών τιμών

Ξυστό χαρτί X1

Βίδες

Sharp αισθητήρες X3 (GP2Y0A21YK0F 10-80 cm)

Διακόπτης X1

Αντλία νερού X1

Δεξαμενή δεξαμενής νερού (μικρό Tupperware) X1

Καλώδια

Λάβετε υπόψη ότι αυτές οι επιλογές είναι αποτέλεσμα χρονικών και δημοσιονομικών περιορισμών (3 μήνες και 200 €). Άλλες επιλογές μπορούν να γίνουν κατά την κρίση σας.

ΕΠΕΞΗΓΗΣΗ ΤΩΝ ΔΙΑΦΟΡΕΤΙΚΩΝ ΕΠΙΛΟΓΩΝ

Arduino Mega πέρα από το Arduino Uno: Πρώτον, θα πρέπει επίσης να εξηγήσουμε τον λόγο για τον οποίο χρησιμοποιήσαμε καθόλου το Arduino. Το Arduino είναι μια ηλεκτρονική πλατφόρμα πρωτοτύπων ανοιχτού κώδικα που επιτρέπει στους χρήστες να δημιουργούν διαδραστικά ηλεκτρονικά αντικείμενα. Είναι πολύ δημοφιλές τόσο μεταξύ ειδικών όσο και αρχάριων, γεγονός που συμβάλλει στην εύρεση πολλών πληροφοριών σχετικά με αυτό στο Διαδίκτυο. Αυτό μπορεί να είναι χρήσιμο όταν αντιμετωπίζετε πρόβλημα με το έργο σας. Επιλέξαμε ένα Arduino Mega αντί για Uno επειδή έχει περισσότερες καρφίτσες. Στην πραγματικότητα, για τον αριθμό των αισθητήρων που χρησιμοποιούμε ένα Uno δεν προσέφερε αρκετές καρφίτσες. Ένα Mega είναι επίσης πιο ισχυρό και θα μπορούσε να είναι χρήσιμο αν προσθέσουμε κάποιες βελτιώσεις όπως μια ενότητα WIFI.

Μπαταρίες Nimh: Μια πρώτη ιδέα ήταν να χρησιμοποιήσετε μπαταρίες LiPo όπως σε πολλά ρομποτικά έργα. Τα LiPo έχουν καλό ρυθμό εκφόρτισης και είναι εύκολα επαναφορτιζόμενα. Αλλά σύντομα συνειδητοποιήσαμε ότι το LiPo και ο φορτιστής ήταν πολύ ακριβά. Οι μόνες άλλες μπαταρίες κατάλληλες για αυτό το έργο όπου το Nimh. Πράγματι, είναι φθηνά, επαναφορτιζόμενα και ελαφριά. Για να τροφοδοτήσουμε τον κινητήρα θα χρειαστούμε 8 από αυτά για να επιτύχουμε τάση τροφοδοσίας από 9,6V (αποφορτισμένο) έως 12V (πλήρως φορτισμένο).

Κινητήρες DC με κωδικοποιητές: Λαμβάνοντας υπόψη τον κύριο στόχο αυτού του ενεργοποιητή, η περιστροφική ενέργεια στους τροχούς, επιλέξαμε δύο DC Motors και όχι Servo Motors που έχουν περιορισμό στη γωνία περιστροφής και έχουν σχεδιαστεί για πιο συγκεκριμένες εργασίες όπου πρέπει να οριστεί η θέση με ακρίβεια. Το γεγονός της ύπαρξης κωδικοποιητών προσθέτει επίσης τη δυνατότητα να έχετε υψηλότερη ακρίβεια εάν χρειαστεί. Σημειώστε ότι τελικά δεν χρησιμοποιήσαμε τους κωδικοποιητές επειδή συνειδητοποιήσαμε ότι οι κινητήρες ήταν αρκετά παρόμοιοι και δεν χρειαζόμασταν το ρομπότ να ακολουθήσει ακριβώς μια ευθεία γραμμή.

Υπάρχουν πολλοί κινητήρες DC στην αγορά και ψάχναμε έναν που να ταιριάζει στον προϋπολογισμό και το ρομπότ μας. Προκειμένου να ικανοποιηθούν αυτοί οι περιορισμοί, δύο σημαντικές παράμετροι μας βοήθησαν να επιλέξουμε τον κινητήρα: τη ροπή που απαιτείται για τη μετακίνηση του ρομπότ και την ταχύτητα του ρομπότ (για να βρούμε τις στροφές που απαιτούνται).

1) Υπολογίστε τις στροφές

Αυτό το ρομπότ δεν θα χρειαστεί να σπάσει το φράγμα του ήχου. Για να ακολουθήσετε το φως ή να ακολουθήσετε κάποιον σε ένα σπίτι, μια ταχύτητα 1 m/s ή 3,6 km/h φαίνεται λογική. Για να το μεταφράσουμε σε rpm χρησιμοποιούμε τη διάμετρο των τροχών: 9cm. Οι στροφές ανά λεπτό δίνονται με: rpm = (60*ταχύτητα (m/s))/(2*pi*r) = (60*1)/(2*pi*0,045) = 212 rpm.

2) Υπολογίστε τη μέγιστη απαιτούμενη ροπή

Δεδομένου ότι αυτό το ρομπότ θα εξελιχθεί σε ένα επίπεδο περιβάλλον, η μέγιστη ροπή που απαιτείται είναι αυτή για να ξεκινήσει το ρομπότ να κινείται. Αν σκεφτούμε ότι το βάρος του ρομπότ με το εργοστάσιο και κάθε εξάρτημα είναι γύρω στα 3 κιλά και χρησιμοποιώντας τις δυνάμεις τριβής μεταξύ των τροχών και του εδάφους μπορούμε εύκολα να βρούμε τη ροπή. Λαμβάνοντας υπόψη έναν συντελεστή τριβής 1 μεταξύ του εδάφους και των τροχών: Δυνάμεις τριβής (Fr) = συντελεστής τριβής. * Ν (όπου Ν είναι το βάρος του ρομπότ) αυτό μας δίνει Fr = 1 * 3 * 10 = 30 Ν. Η ροπή για κάθε κινητήρα μπορεί να βρεθεί ως εξής: T = (Fr * r)/2 όπου r είναι το ακτίνα των τροχών έτσι T = (30*0,045)/2 = 0,675 Nm = 6,88 kg cm.

Αυτά είναι τα χαρακτηριστικά του κινητήρα που επιλέξαμε: στις 6V 175 σ.α.λ. και 4 kg cm στις 12V 350 rpm και 8 kg cm. Γνωρίζοντας ότι θα τροφοδοτείται μεταξύ 9,6 και 12V, κάνοντας μια γραμμική παρεμβολή, φαίνεται σαφώς ότι οι παραπάνω περιορισμοί θα πληρούνται.

Αισθητήρες φωτός: Επιλέξαμε αντιστάσεις που εξαρτώνται από το φως (LDR) επειδή η αντίστασή τους ποικίλλει γρήγορα με το φως και η τάση στο LDR μπορεί εύκολα να μετρηθεί εφαρμόζοντας μια σταθερή τάση σε ένα διαχωριστή τάσης που περιέχει το LDR.

Sharp αισθητήρες: Χρησιμοποιούνται για την αποφυγή εμποδίων. Οι αισθητήρες αιχμηρών αποστάσεων είναι φθηνοί και εύχρηστοι, καθιστώντας τους μια δημοφιλή επιλογή για ανίχνευση και εμβέλεια αντικειμένων. Συνήθως έχουν υψηλότερα ποσοστά ενημέρωσης και μικρότερες μέγιστες περιοχές ανίχνευσης από τους ανιχνευτές εύρους σόναρ. Πολλά διαφορετικά μοντέλα είναι διαθέσιμα στην αγορά με διαφορετικό εύρος λειτουργίας. Επειδή χρησιμοποιούνται για τον εντοπισμό εμποδίων σε αυτό το έργο, επιλέξαμε αυτό με εύρος λειτουργίας 10-80 cm.

Αντλία νερού: Η αντλία νερού είναι μια απλή ελαφριά και όχι πολύ ισχυρή αντλία συμβατή με το εύρος τάσης των κινητήρων για να χρησιμοποιεί την ίδια τροφή και για τα δύο. Μια άλλη λύση για τη σίτιση του φυτού με νερό ήταν να έχει μια βάση νερού χωρισμένη από το ρομπότ, αλλά είναι πολύ πιο απλό να υπάρχει μία στο ρομπότ.

Υγρόμετρο: Το υγρόμετρο είναι ένας αισθητήρας υγρασίας που πρέπει να τοποθετηθεί στο έδαφος. Είναι απαραίτητο αφού το ρομπότ πρέπει να γνωρίζει πότε το δοχείο είναι στεγνό για να στείλει νερό σε αυτό.

Βήμα 2: ΜΗΧΑΝΙΚΟΣ ΣΧΕΔΙΑΣΜΟΣ

ΜΗΧΑΝΙΚΟΣ ΣΧΕΔΙΑΣΜΟΣ
ΜΗΧΑΝΙΚΟΣ ΣΧΕΔΙΑΣΜΟΣ
ΜΗΧΑΝΙΚΟΣ ΣΧΕΔΙΑΣΜΟΣ
ΜΗΧΑΝΙΚΟΣ ΣΧΕΔΙΑΣΜΟΣ
ΜΗΧΑΝΙΚΟΣ ΣΧΕΔΙΑΣΜΟΣ
ΜΗΧΑΝΙΚΟΣ ΣΧΕΔΙΑΣΜΟΣ
ΜΗΧΑΝΙΚΟΣ ΣΧΕΔΙΑΣΜΟΣ
ΜΗΧΑΝΙΚΟΣ ΣΧΕΔΙΑΣΜΟΣ

Βασικά, ο σχεδιασμός του ρομπότ θα αποτελείται από ένα ορθογώνιο κουτί, με τρεις τροχούς στην κάτω πλευρά και ένα καπάκι που ανοίγει στην επάνω πλευρά. Το φυτό θα τοποθετηθεί στην κορυφή με τη δεξαμενή νερού. Το δοχείο φυτού τοποθετείται στη στερέωση δοχείου φυτών που βιδώνεται στην επάνω σανίδα του ρομπότ. Η δεξαμενή νερού είναι λίγο Tupperware γρατσουνισμένη στην πάνω σανίδα του ρομπότ και η αντλία νερού είναι επίσης γρατζουνισμένη στο κάτω μέρος της δεξαμενής νερού, ώστε όλα να μπορούν να αφαιρεθούν εύκολα όταν ξαναγεμίζετε το Tupperware με νερό. Μια μικρή τρύπα γίνεται στο καπάκι της δεξαμενής εξαιτίας του σωλήνα νερού που μπαίνει στο δοχείο του φυτού και της τροφής της αντλίας που μπαίνει στο κουτί. Έτσι δημιουργείται μια τρύπα στην πάνω σανίδα του κιβωτίου και καλώδια του υγρόμετρου περνούν επίσης από αυτήν την τρύπα.

Πρώτον, θέλαμε το ρομπότ να έχει ένα ελκυστικό σχέδιο, γι 'αυτό αποφασίσαμε να κρύψουμε το ηλεκτρονικό μέρος μέσα σε ένα κουτί, αφήνοντας λίγο έξω από το εργοστάσιο και το νερό. Αυτό είναι σημαντικό αφού τα φυτά αποτελούν μέρος της διακόσμησης του σπιτιού και δεν πρέπει να επηρεάζουν οπτικά το χώρο. Τα εξαρτήματα του κουτιού θα είναι εύκολα προσβάσιμα μέσω ενός καπακιού στην επάνω πλευρά και τα πλαϊνά καλύμματα θα έχουν τις απαραίτητες οπές, ώστε να είναι εύκολο, για παράδειγμα, να ενεργοποιήσετε το ρομπότ ή να συνδέσετε το Arduino σε φορητό υπολογιστή εάν θέλουμε να το προγραμματίσω ξανά.

Τα εξαρτήματα στο κουτί είναι: το Arduino, ο ελεγκτής κινητήρα, οι κινητήρες, το LDR, τα στηρίγματα πασσάλων, το breadboard και οι μεντεσέδες. Το Arduino είναι τοποθετημένο σε μικρούς στύλους, ώστε να μην έχει υποστεί ζημιά ο πυθμένας του και ο ελεγκτής κινητήρα να είναι τοποθετημένος πάνω από το Arduino. Οι κινητήρες βιδώνονται στις στερεώσεις κινητήρα και οι στερεώσεις κινητήρων στη συνέχεια βιδώνονται στην κάτω σανίδα του κιβωτίου. Τα LDR συγκολλούνται σε ένα μικρό κομμάτι ψωμιού. Μίνι ξύλινες σανίδες είναι κολλημένες σε αυτό το breadboard για να το βιδώσουν στις πλευρικές όψεις του ρομπότ. Υπάρχει ένα LDR μπροστά, ένα στην αριστερή πλευρά και ένα στη δεξιά πλευρά, ώστε το ρομπότ να μπορεί να γνωρίζει την κατεύθυνση με την υψηλότερη ποσότητα φωτός. Οι θήκες των πασσάλων είναι γρατζουνισμένες στην κάτω όψη του κουτιού για να τις αφαιρέσετε εύκολα και να τις αλλάξετε ή να τις επαναφορτίσετε. Στη συνέχεια, το breadboard βιδώνεται στην κάτω σανίδα με μικρούς τριγωνικούς πυλώνες που έχουν οπές στο σχήμα της γωνίας του breadboard για να το στηρίξουν. Τέλος, οι μεντεσέδες βιδώνονται στην πίσω όψη και στην επάνω όψη.

Στην μπροστινή όψη, τρεις αιχμηρές βίδες θα βιδωθούν απευθείας για να ανιχνεύσουν και να αποφύγουν τα εμπόδια όσο το δυνατόν καλύτερα.

Παρόλο που ο φυσικός σχεδιασμός είναι σημαντικός, δεν μπορούμε να ξεχάσουμε το τεχνικό κομμάτι, κατασκευάζουμε ένα ρομπότ και θα πρέπει να είναι πρακτικό και στο μέτρο του δυνατού θα πρέπει να βελτιστοποιήσουμε το χώρο. Αυτός είναι ο λόγος για να επιλέξετε ένα ορθογώνιο σχήμα, ήταν ο καλύτερος τρόπος που βρέθηκε για να τακτοποιήσετε όλα τα εξαρτήματα.

Τέλος, για την κίνηση, η συσκευή θα έχει τρεις τροχούς: δύο στάνταρ μηχανοκίνητους πίσω και έναν κάδο μπροστά. Εμφανίζονται σε κίνηση τριών κύκλων, διαμόρφωση, μπροστινό τιμόνι και πίσω οδήγηση.

Βήμα 3: ΠΑΡΑΣΚΕΥΗ ΜΕΡΩΝ

ΜΕΡΗ ΠΑΡΑΓΩΓΗΣ
ΜΕΡΗ ΠΑΡΑΓΩΓΗΣ
ΜΕΡΗ ΠΑΡΑΓΩΓΗΣ
ΜΕΡΗ ΠΑΡΑΓΩΓΗΣ
ΜΕΡΗ ΠΑΡΑΓΩΓΗΣ
ΜΕΡΗ ΠΑΡΑΓΩΓΗΣ

Η φυσική εμφάνιση του ρομπότ μπορεί να αλλάξει με βάση το ενδιαφέρον σας. Παρέχονται τεχνικά σχέδια, αυτό που μπορεί να λειτουργήσει ως καλή βάση κατά το σχεδιασμό του δικού σας.

Κομμένα μέρη με λέιζερ:

Και τα έξι μέρη που αποτελούν τη θήκη του ρομπότ έχουν κοπεί με λέιζερ. Το υλικό που χρησιμοποιήθηκε για αυτό είναι ανακυκλωμένο ξύλο. Αυτό το κουτί θα μπορούσε επίσης να είναι κατασκευασμένο από πλεξιγκλάς που είναι λίγο πιο ακριβό.

Τρισδιάστατα τυπωμένα μέρη:

Οι δύο τυπικοί τροχοί που τοποθετούνται στο πίσω μέρος του ρομπότ έχουν εκτυπωθεί 3D σε PLA. Ο λόγος είναι ότι ο μόνος τρόπος για να βρούμε τροχούς που ικανοποιούσαν όλες τις ανάγκες (ταιριάζουν στους κινητήρες DC, μέγεθος, βάρος…) ήταν να τους σχεδιάσουμε μόνοι μας. Η στερέωση του κινητήρα εκτυπώθηκε επίσης 3D για λόγους προϋπολογισμού. Στη συνέχεια, το στήριγμα του δοχείου με φυτά, οι πυλώνες που υποστηρίζουν το Arduino και οι γωνίες που υποστηρίζουν το breadboard ήταν επίσης τρισδιάστατη εκτύπωση επειδή χρειαζόμασταν ένα συγκεκριμένο σχήμα που να προσαρμόζεται στο ρομπότ μας.

Βήμα 4: ΗΛΕΚΤΡΟΝΙΚΗ

ΗΛΕΚΤΡΟΝΙΚΑ ΕΙΔΗ
ΗΛΕΚΤΡΟΝΙΚΑ ΕΙΔΗ
ΗΛΕΚΤΡΟΝΙΚΑ ΕΙΔΗ
ΗΛΕΚΤΡΟΝΙΚΑ ΕΙΔΗ
ΗΛΕΚΤΡΟΝΙΚΑ ΕΙΔΗ
ΗΛΕΚΤΡΟΝΙΚΑ ΕΙΔΗ

Ευκρινείς αισθητήρες: Οι αισθητήρες ευκρίνειας έχουν τρεις ακίδες. Δύο από αυτά είναι για διατροφή (Vcc και Ground) και το τελευταίο είναι το μετρημένο σήμα (Vo). Για τη διατροφή έχουμε τη θετική τάση που μπορεί να είναι μεταξύ 4,5 και 5,5 V οπότε θα χρησιμοποιήσουμε τα 5V από το Arduino. Το Vo θα συνδεθεί σε μία από τις αναλογικές ακίδες του Arduino.

Αισθητήρες φωτός: Οι αισθητήρες φωτός χρειάζονται ένα μικρό κύκλωμα για να μπορούν να λειτουργήσουν. Το LDR τοποθετείται σε σειρά με αντίσταση 900 kOhm για να δημιουργήσει ένα διαχωριστή τάσης. Η γείωση συνδέεται στον πείρο της αντίστασης που δεν συνδέεται με το LDR και το 5V του Arduino συνδέεται με τον πείρο του LDR που δεν συνδέεται με την αντίσταση. Ο πείρος της αντίστασης και ο LDR που συνδέονται μεταξύ τους είναι συνδεδεμένοι με έναν αναλογικό πείρο του Arduino για να μετρηθεί αυτή η τάση. Αυτή η τάση θα κυμαίνεται μεταξύ 0 και 5V με 5V που αντιστοιχεί στο πλήρες φως και κοντά στο μηδέν που αντιστοιχεί στο σκοτάδι. Στη συνέχεια, ολόκληρο το κύκλωμα θα συγκολληθεί σε ένα μικρό κομμάτι ψωμιού που μπορεί να χωρέσει στις πλευρικές σανίδες του ρομπότ.

Μπαταρίες: Οι μπαταρίες είναι κατασκευασμένες από 4 σωρούς μεταξύ 1,2 και 1,5 V η κάθε μία, μεταξύ 4,8 και 6V. Βάζοντας δύο στηρίγματα σωρών σε σειρά έχουμε μεταξύ 9,6 και 12 V.

Αντλία νερού: Η αντλία νερού έχει σύνδεση (πρίζα) του ίδιου τύπου με τη διατροφή του Arduino. Το πρώτο βήμα είναι να κόψετε τη σύνδεση και να απογυμνώσετε το σύρμα για να έχετε το σύρμα για γείωση και το σύρμα για θετική τάση. Καθώς θέλουμε να ελέγξουμε την αντλία, θα την τοποθετήσουμε σε σειρά με ένα τρέχον ελεγχόμενο τρανζίστορ που χρησιμοποιείται ως διακόπτης. Στη συνέχεια, μια δίοδος θα τεθεί παράλληλα με την αντλία για να αποτραπεί η αντίστροφη ροή. Το κάτω σκέλος του τρανζίστορ συνδέεται με το κοινό έδαφος του Arduino/μπαταρίες, το μεσαίο με μια ψηφιακή ακίδα του Arduino με αντίσταση 1kOhm σε σειρά για να μετατρέψει την τάση του Arduino σε ρεύμα και το πάνω σκέλος στο μαύρο καλώδιο η αντλία. Στη συνέχεια, το κόκκινο καλώδιο της αντλίας συνδέεται με τη θετική τάση των μπαταριών.

Κινητήρες και ασπίδα: Η ασπίδα πρέπει να συγκολληθεί, αποστέλλεται χωρίς συγκόλληση. Μόλις γίνει αυτό, τοποθετείται στο Arduino κόβοντας όλες τις επικεφαλίδες της ασπίδας στις ακίδες του Arduino. Η θωράκιση θα τροφοδοτείται με τις μπαταρίες και στη συνέχεια θα τροφοδοτεί το Arduino εάν είναι ενεργοποιημένος ένας βραχυκυκλωτήρας (πορτοκαλί καρφίτσες στο σχήμα). Προσέξτε να μην βάλετε το βραχυκυκλωτήρα όταν το Arduino τροφοδοτείται με άλλο μέσο από την ασπίδα, αφού το Arduino θα τροφοδοτούσε την ασπίδα και θα μπορούσε να κάψει τη σύνδεση.

Breadboard: Όλα τα εξαρτήματα θα κολληθούν τώρα στο breadboard. Το έδαφος ενός συγκρατητήρα, του Arduino, του ελεγκτή κινητήρα και όλων των αισθητήρων θα κολληθούν στην ίδια σειρά (στις σειρές του breadboard μας οι ίδιες δυνατότητες έχουν). Στη συνέχεια, το μαύρο καλώδιο του δεύτερου σωρού συγκολλάται στην ίδια σειρά με το κόκκινο του πρώτου συγκρατητήρα, του οποίου το έδαφος είναι ήδη συγκολλημένο. Στη συνέχεια, ένα καλώδιο θα κολληθεί στην ίδια σειρά με το κόκκινο καλώδιο της δεύτερης θήκης που αντιστοιχεί στα δύο σε σειρά. Αυτό το καλώδιο θα συνδεθεί στο ένα άκρο του διακόπτη και το άλλο άκρο θα συνδεθεί με ένα σύρμα συγκολλημένο στο ψωμί σε μια ελεύθερη σειρά. Το κόκκινο καλώδιο της αντλίας και η τροφή του ελεγκτή κινητήρα θα κολληθούν σε αυτήν τη σειρά (ο διακόπτης δεν απεικονίζεται στο σχήμα). Στη συνέχεια, τα 5V του Arduino θα κολληθούν σε άλλη σειρά και η τάση τροφοδοσίας κάθε αισθητήρα θα συγκολληθεί στην ίδια σειρά. Προσπαθήστε να κολλήσετε έναν βραχυκυκλωτήρα στο breadboard και έναν άλτη στο εξάρτημα όταν είναι δυνατόν, ώστε να μπορείτε να τα αποσυνδέσετε εύκολα και η συναρμολόγηση των ηλεκτρικών εξαρτημάτων θα είναι ευκολότερη.

Βήμα 5: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Διάγραμμα ροής προγράμματος:

Το πρόγραμμα διατηρήθηκε αρκετά απλό χρησιμοποιώντας την έννοια των μεταβλητών κατάστασης. Όπως μπορείτε να δείτε στο διάγραμμα ροής, αυτές οι καταστάσεις προκαλούν επίσης μια έννοια προτεραιότητας. Το ρομπότ θα επαληθεύσει τους όρους με αυτήν τη σειρά:

1) Στην κατάσταση 2: Έχει το φυτό αρκετό νερό με τη λειτουργία υγρασία_επίπεδο; Εάν η στάθμη υγρασίας που μετράται με το υγρόμετρο είναι κάτω από 500, η αντλία θα λειτουργεί έως ότου το επίπεδο υγρασίας υπερβεί το 500. Όταν το εργοστάσιο έχει αρκετό νερό, το ρομπότ μεταβαίνει στην κατάσταση 3.

2) Στην κατάσταση 3: Βρείτε την κατεύθυνση με το περισσότερο φως. Σε αυτή την κατάσταση το φυτό έχει αρκετό νερό και πρέπει να ακολουθήσει την κατεύθυνση με το περισσότερο φως αποφεύγοντας τα εμπόδια. Η λειτουργία light_direction δίνει την κατεύθυνση των τριών αισθητήρων φωτός που δέχεται το περισσότερο φως. Το ρομπότ θα λειτουργήσει στη συνέχεια τους κινητήρες για να ακολουθήσει αυτή την κατεύθυνση με τη λειτουργία follow_light. Εάν το επίπεδο φωτισμού είναι πάνω από ένα ορισμένο όριο (αρκετό_φως) το ρομπότ σταματά να ακολουθεί το φως αφού έχει αρκετό σε αυτή τη θέση (stop_motors). Προκειμένου να αποφευχθούν εμπόδια κάτω των 15 cm ενώ παρακολουθείτε το φως, έχει εφαρμοστεί ένα εμπόδιο λειτουργίας για την επιστροφή της κατεύθυνσης του εμποδίου. Για να αποφευχθούν σωστά τα εμπόδια, έχει εφαρμοστεί η λειτουργία αποφυγής_μπόστου. Αυτή η λειτουργία λειτουργεί τον κινητήρα γνωρίζοντας πού βρίσκεται το εμπόδιο.

Βήμα 6: ΣΥΝΕΛΕΥΣΗ

ΣΥΝΕΛΕΥΣΗ
ΣΥΝΕΛΕΥΣΗ
ΣΥΝΕΛΕΥΣΗ
ΣΥΝΕΛΕΥΣΗ
ΣΥΝΕΛΕΥΣΗ
ΣΥΝΕΛΕΥΣΗ

Η συναρμολόγηση αυτού του ρομπότ είναι πραγματικά πολύ εύκολη. Τα περισσότερα εξαρτήματα βιδώνονται στο κουτί για να διασφαλιστεί ότι διατηρούν τη θέση τους. Στη συνέχεια, η υποδοχή πασσάλων, η δεξαμενή νερού και η αντλία γρατζουνίζονται.

Βήμα 7: ΠΕΙΡΑΜΑΤΑ

Συνήθως, κατά την κατασκευή ενός ρομπότ τα πράγματα δεν πηγαίνουν ομαλά. Πολλές δοκιμές, με τις ακόλουθες αλλαγές, χρειάζονται για να έχετε το τέλειο αποτέλεσμα. Εδώ είναι μια έκθεση της διαδικασίας του ρομπότ φυτών!

Το πρώτο βήμα ήταν η τοποθέτηση του ρομπότ με κινητήρες, Arduino, ελεγκτή μοτέρ και αισθητήρες φωτός με μια πρότυπη σανίδα ψωμιού. Το ρομπότ πηγαίνει ακριβώς προς την κατεύθυνση όπου μέτρησε το περισσότερο φως. Αποφασίστηκε ένα όριο προκειμένου να σταματήσει το ρομπότ εάν έχει αρκετό φως. Καθώς το ρομπότ γλιστρούσε στο πάτωμα προσθέσαμε λειαντικό χαρτί στους τροχούς για να προσομοιώσουμε ένα ελαστικό.

Στη συνέχεια, οι αιχμηροί αισθητήρες προστέθηκαν στη δομή για να αποφύγουν τα εμπόδια. Αρχικά δύο αισθητήρες τοποθετήθηκαν στην μπροστινή όψη, αλλά ένας τρίτος προστέθηκε στη μέση επειδή οι αιχμηροί αισθητήρες έχουν πολύ περιορισμένη γωνία ανίχνευσης. Τέλος, έχουμε δύο αισθητήρες στα άκρα του ρομπότ που ανιχνεύουν εμπόδια αριστερά ή δεξιά και έναν στη μέση για να ανιχνεύσει εάν υπάρχει εμπόδιο μπροστά. Τα εμπόδια ανιχνεύονται όταν η τάση στην αιχμή υπερβαίνει μια ορισμένη τιμή που αντιστοιχεί σε απόσταση 15 εκατοστών από το ρομπότ. Όταν το εμπόδιο είναι σε μια πλευρά, το ρομπότ το αποφεύγει και όταν ένα εμπόδιο βρίσκεται στη μέση το ρομπότ σταματά. Λάβετε υπόψη ότι τα εμπόδια κάτω από τις απότομες αιχμές δεν είναι ανιχνεύσιμα, οπότε τα εμπόδια πρέπει να έχουν ένα ορισμένο ύψος για να αποφευχθούν.

Μετά από αυτό, δοκιμάστηκε η αντλία και το υγρόμετρο. Η αντλία στέλνει νερό εφόσον η τάση του υγρόμετρου είναι κάτω από μια ορισμένη τιμή που αντιστοιχεί σε ένα ξηρό δοχείο. Αυτή η τιμή μετρήθηκε και προσδιορίστηκε πειραματικά με δοκιμή με ξηρά και υγρά φυτά δοχείου.

Τελικά όλα δοκιμάστηκαν μαζί. Το φυτό ελέγχει πρώτα αν έχει αρκετό νερό και μετά αρχίζει να ακολουθεί το φως αποφεύγοντας τα εμπόδια.

Βήμα 8: ΤΕΛΙΚΟ ΔΟΚΙΜΗ

Ακολουθούν βίντεο για το πώς λειτουργεί τελικά το ρομπότ. Ελπίζουμε να το απολαύσετε!

Βήμα 9: ΤΙ ΜΑΘΑΜΕ ΜΕ ΑΥΤΟ ΤΟ ΕΡΓΟ;

Αν και η συνολική ανατροφοδότηση αυτού του έργου είναι μεγάλη γιατί μάθαμε πολλά, έχουμε αγχωθεί αρκετά όταν το χτίζουμε λόγω των προθεσμιών.

Προβλήματα που προέκυψαν

Στην περίπτωσή μας είχαμε αρκετά θέματα κατά τη διαδικασία. Ορισμένα από αυτά ήταν εύκολο να λυθούν, για παράδειγμα όταν καθυστέρησε η παράδοση των εξαρτημάτων, απλά ψάξαμε για καταστήματα στην πόλη, αν μπορούσαμε να τα αγοράσουμε. Άλλα απαιτούν λίγο περισσότερη σκέψη.

Δυστυχώς, δεν λύθηκε κάθε πρόβλημα. Η πρώτη μας ιδέα ήταν να συνδυάσουμε τα χαρακτηριστικά των κατοικίδιων και των φυτών, αξιοποιώντας το καλύτερο από το καθένα. Για τα φυτά που θα μπορούσαμε να το κάνουμε, με αυτό το ρομπότ θα μπορούμε να έχουμε ένα φυτό που διακοσμεί τα σπίτια μας και δεν θα χρειαστεί να το φροντίζουμε. Αλλά για τα κατοικίδια ζώα, δεν βρήκαμε έναν τρόπο προσομοίωσης της εταιρείας που κάνουν. Σκεφτήκαμε διαφορετικούς τρόπους για να ακολουθήσει τους ανθρώπους και ξεκινήσαμε να εφαρμόζουμε έναν αλλά μας έλειψε χρόνος για να το τελειώσουμε.

Περαιτέρω βελτιώσεις

Αν και θα θέλαμε να αποκτήσουμε όλα όσα θέλαμε, η μάθηση με αυτό το έργο ήταν καταπληκτική. Maybeσως με περισσότερο χρόνο να μπορούσαμε να αποκτήσουμε ένα ακόμη καλύτερο ρομπότ. Εδώ σας προτείνουμε μερικές ιδέες για τη βελτίωση του ρομπότ μας που ίσως κάποιοι από εσάς θέλετε να δοκιμάσετε:

- Προσθήκη led διαφορετικών χρωμάτων (κόκκινο, πράσινο,…) που ενημερώνει το χρήστη πότε πρέπει να φορτιστεί το ρομπότ. Η μέτρηση της μπαταρίας μπορεί να γίνει με ένα διαχωριστή τάσης με μέγιστη τάση 5V όταν η μπαταρία είναι πλήρως φορτισμένη, προκειμένου να μετρηθεί αυτή η τάση με ένα Arduino. Στη συνέχεια, ενεργοποιείται το αντίστοιχο led.

- Προσθήκη αισθητήρα νερού που λέει στον χρήστη πότε πρέπει να ξαναγεμίσει το δοχείο νερού (αισθητήρας ύψους νερού).

- Δημιουργία διεπαφής ώστε το ρομπότ να μπορεί να στέλνει μηνύματα στον χρήστη.

Και προφανώς, δεν μπορούμε να ξεχάσουμε το στόχο να ακολουθήσει τους ανθρώπους. Τα κατοικίδια ζώα είναι ένα από τα πράγματα που αγαπούν περισσότερο οι άνθρωποι και θα ήταν υπέροχο αν κάποιος μπορούσε να επιτύχει ότι το ρομπότ προσομοιώνει αυτή τη συμπεριφορά. Για να το διευκολύνουμε, εδώ θα παρέχουμε ό, τι έχουμε.

Βήμα 10: Πώς να κάνετε το ρομπότ να ακολουθεί τους ανθρώπους;

Image
Image
Πώς να κάνετε το ρομπότ να ακολουθεί τους ανθρώπους
Πώς να κάνετε το ρομπότ να ακολουθεί τους ανθρώπους
Πώς να κάνετε το ρομπότ να ακολουθεί τους ανθρώπους
Πώς να κάνετε το ρομπότ να ακολουθεί τους ανθρώπους

Καταλάβαμε ότι ο καλύτερος τρόπος για να το κάνουμε θα ήταν να χρησιμοποιήσουμε τρεις αισθητήρες υπερήχων, έναν πομπό και δύο δέκτες.

Πομπός

Για τον πομπό, θα θέλαμε να έχουμε έναν κύκλο λειτουργίας 50%. Για να το κάνετε αυτό, πρέπει να χρησιμοποιήσετε ένα χρονόμετρο 555, είχαμε χρησιμοποιήσει το NE555N. Στην εικόνα, μπορείτε να δείτε πώς πρέπει να κατασκευαστεί το κύκλωμα. Αλλά θα πρέπει να προσθέσετε έναν επιπλέον πυκνωτή στην έξοδο 3, 1 μF για παράδειγμα. Οι αντιστάσεις και οι πυκνωτές υπολογίζονται με τους ακόλουθους τύπους: (εικόνες 1 & 2)

Επειδή είναι επιθυμητός ένας κύκλος λειτουργίας 50%, τα t1 και t2 θα είναι ίσα μεταξύ τους. Έτσι, με έναν πομπό 40 kHz, τα t1 και t2 θα είναι ίσα με 1,25*10-5 s. Όταν παίρνετε C1 = C2 = 1 nF, τα R1 και R2 μπορούν να υπολογιστούν. Πήραμε R1 = 15 kΩ και R2 = 6,8 kΩ, βεβαιωθείτε ότι R1> 2R2!

Όταν δοκιμάσαμε αυτό το κύκλωμα στον παλμογράφο, λάβαμε το ακόλουθο σήμα. Η κλίμακα είναι 5 μs/div οπότε η συχνότητα στην πραγματικότητα θα είναι περίπου 43 kHz. (Εικόνα 3)

Δέκτης

Το σήμα εισόδου του δέκτη θα είναι πολύ χαμηλό για να μπορεί το Arduino να επεξεργαστεί με ακρίβεια, οπότε το σήμα εισόδου πρέπει να ενισχυθεί. Αυτό θα γίνει με την κατασκευή ενός αναστροφικού ενισχυτή.

Για το opamp, χρησιμοποιήσαμε ένα LM318N, το οποίο τροφοδοτήσαμε με 0 V και 5 V από το Arduino. Για να γίνει αυτό, έπρεπε να αυξήσουμε την τάση γύρω από το σήμα που ταλαντώνεται. Σε αυτήν την περίπτωση θα είναι λογικό να το ανεβάσουμε στα 2,5 V. Επειδή η τάση τροφοδοσίας δεν είναι συμμετρική, πρέπει επίσης να τοποθετήσουμε έναν πυκνωτή πριν από την αντίσταση. Με αυτόν τον τρόπο, φτιάξαμε επίσης ένα φίλτρο υψηλής διέλευσης. Με τις τιμές που χρησιμοποιήσαμε, η συχνότητα έπρεπε να είναι μεγαλύτερη από 23 kHz. Όταν χρησιμοποιήσαμε ενίσχυση A = 56, το σήμα θα πήγαινε σε κορεσμό που δεν είναι καλό, οπότε χρησιμοποιήσαμε A = 18 αντ 'αυτού. Αυτό θα είναι ακόμα αρκετό. (Εικόνα 4)

Τώρα που έχουμε ένα ενισχυμένο κύμα κόλπων, χρειαζόμαστε μια σταθερή τιμή ώστε το Arduino να μπορεί να το μετρήσει. Ένας τρόπος για να το κάνετε είναι να δημιουργήσετε ένα κύκλωμα ανιχνευτή αιχμής. Με αυτόν τον τρόπο, μπορούμε να δούμε αν ο πομπός απέχει περισσότερο από τον δέκτη ή σε διαφορετική γωνία από πριν, έχοντας ένα σταθερό σήμα ανάλογο με την ένταση του λαμβανόμενου σήματος. Επειδή χρειαζόμαστε έναν ανιχνευτή αιχμής ακριβείας, βάζουμε τη δίοδο, 1N4148, στον ακόλουθο τάσης. Με αυτόν τον τρόπο, δεν έχουμε απώλεια διόδου και δημιουργήσαμε μια ιδανική δίοδο. Για το opamp, χρησιμοποιήσαμε το ίδιο με το πρώτο μέρος του κυκλώματος και με την ίδια παροχή ρεύματος, 0 V και 5V.

Ο παράλληλος πυκνωτής πρέπει να είναι υψηλής τιμής, άρα θα εκφορτίζεται πολύ αργά και εξακολουθούμε να βλέπουμε το είδος της ίδιας μέγιστης τιμής με την πραγματική τιμή. Η αντίσταση θα τοποθετηθεί επίσης παράλληλα και δεν θα είναι πολύ χαμηλή, γιατί διαφορετικά η εκκένωση θα είναι μεγαλύτερη. Σε αυτή την περίπτωση, 1,5 μF και 56 kΩ είναι αρκετά. (Εικόνα 5)

Στην εικόνα, φαίνεται το συνολικό κύκλωμα. Όπου έξω είναι η έξοδος, η οποία πρόκειται να μπει στο Arduino. Και το σήμα AC των 40 kHz θα είναι ο δέκτης, όπου το άλλο άκρο του θα είναι συνδεδεμένο στη γείωση. (Εικόνα 6)

Όπως είπαμε προηγουμένως, δεν μπορούσαμε να ενσωματώσουμε τους αισθητήρες στο ρομπότ. Παρέχουμε όμως τα βίντεο των δοκιμών για να δείξουμε ότι το κύκλωμα λειτουργεί. Στο πρώτο βίντεο, φαίνεται η ενίσχυση (μετά το πρώτο OpAmp). Υπάρχει ήδη μια μετατόπιση 2,5V στον παλμογράφο, οπότε το σήμα βρίσκεται στη μέση, το πλάτος ποικίλλει όταν οι αισθητήρες αλλάζουν κατεύθυνση. Όταν οι δύο αισθητήρες αντικρίζουν ο ένας τον άλλον, το πλάτος του κόλπου θα είναι μεγαλύτερο από όταν οι αισθητήρες έχουν μεγαλύτερη γωνία ή απόσταση μεταξύ των δύο. Στο δεύτερο βίντεο (η έξοδος του κυκλώματος), φαίνεται το διορθωμένο σήμα. Και πάλι, η συνολική τάση θα είναι υψηλότερη όταν οι αισθητήρες αντικρίζουν ο ένας τον άλλο παρά όταν δεν είναι. Το σήμα δεν είναι εντελώς ευθεία λόγω της εκφόρτισης του πυκνωτή και λόγω των βολτ/διβ. Μασταν σε θέση να μετρήσουμε ένα σταθερό σήμα που μειώνεται όταν η γωνία ή η απόσταση μεταξύ των αισθητήρων δεν ήταν πλέον βέλτιστη.

Η ιδέα ήταν τότε να γίνει το ρομπότ να έχει τον δέκτη και τον χρήστη τον πομπό. Το ρομπότ θα μπορούσε να κάνει μια στροφή για να εντοπίσει προς ποια κατεύθυνση η ένταση ήταν η υψηλότερη και θα μπορούσε να πάει προς αυτήν την κατεύθυνση. Ένας καλύτερος τρόπος θα μπορούσε να είναι να έχουμε δύο δέκτες και να ακολουθούμε τον δέκτη που ανιχνεύει την υψηλότερη τάση και ένας ακόμη καλύτερος τρόπος είναι να βάλουμε τρεις δέκτες και να τους τοποθετήσουμε όπως το LDR για να γνωρίζουμε σε ποιες κατευθύνσεις εκπέμπει το σήμα του χρήστη (ευθεία, αριστερά ή δεξιά).

Συνιστάται: