Πίνακας περιεχομένων:
- Βήμα 1: ΜΕΡΗ
- Βήμα 2: Νεοπίξελ
- Βήμα 3: Το σχηματικό
- Βήμα 4: Ο κώδικας
- Βήμα 5: Το πρόσωπο
- Βήμα 6: Ευτυχισμένη λειτουργία
- Βήμα 7: Λυπηρή λειτουργία
- Βήμα 8: Θυμωμένη λειτουργία
- Βήμα 9: Φοβισμένη λειτουργία
- Βήμα 10: Ισχύς
- Βήμα 11: Διασκεδάστε !
Βίντεο: ΤΟ ΣΥΝΑΙΣΘΗΜΑΤΙΚΟ ΕΜΠΟΔΙΟ ΑΠΟΦΥΓΗ ΤΟΥ ΡΟΜΠΟΤ: 11 Βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:34
Το συναισθηματικό ρομπότ. Αυτό το ρομπότ εμφανίζει συναισθήματα με neopixels (RGB LED) όπως θλίψη, ευτυχία, θυμό και φόβο, μπορεί επίσης να αποφύγει εμπόδια και να κάνει συγκεκριμένες κινήσεις κατά τη διάρκεια των συγκεκριμένων συναισθημάτων του. Ο εγκέφαλος αυτού του ρομπότ είναι ένα Arduino mega. Λάβετε υπόψη ότι αυτό είναι το πρώτο μου προγραμματισμένο ρομπότ που είχα δημιουργήσει ποτέ και με έκανε να ερωτευτώ τον προγραμματισμό, ο ίδιος ο κώδικας είναι πολύ αρχάριος και πιθανότατα θα μπορούσε να απλοποιηθεί.
Βήμα 1: ΜΕΡΗ
-3,2 πόδια μιας λωρίδας neopixel
-HC-SR04 υπερηχητικός αισθητήρας (ή οποιοσδήποτε άλλος αισθητήρας υπερήχων)
-διακόπτης κλίσης
-3 μπαταρία ιόντων λιθίου 3,7v (18650)
μετατροπέας ενίσχυσης (εξηγείται στο βήμα ισχύος)
-αντίσταση φωτογραφίας (οποιαδήποτε τιμή)
-αναλογικός αισθητήρας ήχου
-2 κινητήρες DC 6v
-l293d (οδηγός κινητήρα)
-πλαστικό χαρτί
-χαρτόνι
-τροχός κάστερ
Βήμα 2: Νεοπίξελ
Λόγω του τρόπου με τον οποίο είχα περιορισμένο προϋπολογισμό, ο απλούστερος και φθηνότερος τρόπος για να ζωντανέψω τα συναισθήματα των ρομπότ μου είναι τα νεοπίξελ, το μόνο που έχουν είναι 3 εισόδους και έξοδοι. Οι τρεις ακίδες στην είσοδο φέρουν την ένδειξη 5v, DIN (δεδομένα σε) και GND (γείωση). η έξοδος έχει την ίδια ένδειξη με την είσοδο αλλά αντί για δεδομένα στο DO (δεδομένα εκτός). Ο τρόπος που συνδέετε αυτά τα led είναι να τα συνδέετε παράλληλα μεταξύ τους, οπότε 5v συνδέεται με 5v στο άλλο led και το GND συνδέεται με το άλλο led GND, το DO του πρώτου led συνδέεται με DIN του δεύτερου led και μετά Αυτή η διαδικασία συνεχίζεται μέχρι να φτάσετε στο επιθυμητό μήκος της λωρίδας led. Μια ολόκληρη λωρίδα neopixels απαιτεί μόνο έναν ψηφιακό ακροδέκτη εξόδου από την είσοδο, αυτό συμβαίνει επειδή το DO και το DIN συνδέονται σε μια μεγάλη αλυσίδα, οπότε μοιράζονται όλα δεδομένα μεταξύ τους. Αυτό είναι απαραίτητο γιατί πρέπει να ενεργοποιήσουμε και να απενεργοποιήσουμε συγκεκριμένα led σε συγκεκριμένες ώρες. Ένα χρήσιμο εκπαιδευτικό σε αυτό είναι το NEOPIXEL HELP
Βήμα 3: Το σχηματικό
Το κύκλωμα είναι πολύ απλό καθώς το μεγαλύτερο μέρος του ρομπότ είναι προγραμματισμένο, οι κινητήρες λειτουργούν κοντά στα 7v με ένα οδηγό κινητήρα l293d για να ελέγχουν τους κινητήρες να πηγαίνουν μπροστά και πίσω. Οι άλλες συνδέσεις είναι οι αισθητήρες στο Arduino. Και αυτό είναι!
Βήμα 4: Ο κώδικας
Το πρώτο πράγμα που έκανα ήταν να κατεβάσω τις απαιτούμενες βιβλιοθήκες για να κάνω την κωδικοποίηση λίγο πιο εύκολη, οι βιβλιοθήκες που χρησιμοποίησα είναι οι "FastLED.h" και "NewPing.h". Το fast led είναι για τα led και το νέο ping για τους υπερηχητικούς αισθητήρες. Το επόμενο πράγμα που έκανα ήταν να κάνω όλους τους ορισμούς για τις καρφίτσες που χρησιμοποίησα, αφού η ρύθμιση ήταν άκυρη, εδώ είναι που έθεσα τις λειτουργίες καρφιτσών και το neostrip "FastLED.addLeds (leds, NUM_LEDS);" όρισα τα NUM_LEDS ως 56, αφού χρησιμοποίησα 56 led, οι διαμορφώσεις των led θα εξηγηθούν στο βήμα της όψης. Στη συνέχεια, δημιούργησα μια δέσμη λειτουργιών για το ρομπότ μου να κινείται μπροστά και πίσω και επίσης να έχει τα συναισθήματά του, μετά από αυτό φτάνω στον κενό βρόχο, εδώ καλώ όλες τις συναρτήσεις μου με μια συγκεκριμένη ακολουθία που θέλω, για παράδειγμα, αν ήθελα το ρομπότ μου να χαμογελάσει τότε θα έβαζα χαμόγελο ();. Αν ήθελα να ανάψει ένα συγκεκριμένο led θα έβαζα, leds [45] = CRGB:: Green;, αυτό θα θέσει το 45 να είναι πράσινο. Όταν βάζω το χρώμα στο μαύρο, σημαίνει απενεργοποίηση. Τώρα λάβετε υπόψη ότι αυτό είναι ένα από τα πρώτα μου προγράμματα, οπότε προφανώς δεν είναι τέλειο, αλλά εξακολουθεί να λειτουργεί.
Ο ΚΩΔΙΚΑΣ
Βήμα 5: Το πρόσωπο
Για το πρόσωπο χρησιμοποίησα 56 led που είναι σχεδόν μια πλήρης λωρίδα neopixel 3,2ft. Έκοψα τη λωρίδα σε 7 λωρίδες των 8 led, χρησιμοποίησα τις 3 πρώτες λωρίδες για τα μάτια και τις 4 τελευταίες για το στόμα. Συνδέσα τις λωρίδες σε μια μορφή φιδιού είδος σύνδεσης, θα καταλάβετε καλύτερα με το διάγραμμα ελπίζουμε. Όταν τελείωσα το πρόσωπο έβαλα στη συνέχεια ένα λεπτό πλαστικό φύλλο (πάχους περίπου 2 mm) πάνω από τις λωρίδες led.
Βήμα 6: Ευτυχισμένη λειτουργία
Αυτή η λειτουργία είναι η πιο εύκολη από όλες, καθώς δεν χρησιμοποιεί αισθητήρες, αλλά μόλις ενεργοποιήσετε το bot, σας χαμογελά αμέσως. Αλλά δεν χαμογελά μόνο. όταν χαμογελάει, είναι και στο εμπόδιο αποφεύγοντας τη λειτουργία. Η λειτουργία αποφυγής εμποδίων αναπαρίσταται στον κώδικά μου ως περιήγηση λειτουργίας. Το εμπόδιο αποφυγής λειτουργίας ή περιήγησης λειτουργεί χρησιμοποιώντας δύο αισθητήρες υπερήχων στην πλευρά των ρομπότ, όταν ο αισθητήρας έρχεται 30 εκατοστά σε οτιδήποτε θα δημιουργούσε αντίγραφα ασφαλείας και θα πήγαινε δεξιά ή αριστερά ανάλογα με τον αισθητήρα που βρίσκεται πιο κοντά στο αντικείμενο.
Βήμα 7: Λυπηρή λειτουργία
Για να στεναχωρηθεί το ρομπότ έπρεπε να σκεφτώ ένα χαρακτηριστικό προσωπικότητας για αυτό το ρομπότ, έτσι αποφάσισα να τον στεναχωρήσω όταν βρίσκεται σε ένα σκοτεινό περιβάλλον. Για να το κάνω αυτό χρησιμοποίησα μια αντίσταση φωτογραφιών για να αντιληφθώ το φως. Όσο πιο σκοτεινό είναι το περιβάλλον τόσο μεγαλύτερη είναι η αντίσταση και όσο πιο ελαφρύ είναι το περιβάλλον τόσο χαμηλότερη είναι η αντίσταση. Το κύκλωμα λειτουργεί ως διαχωριστής τάσης που είναι ένα κύκλωμα με δύο αντιστάσεις συνδεδεμένες σε σειρά σε +5v και GND, στο μέσο της σύνδεσης αντίστασης βρίσκεται μια τάση που μπορεί να προσδιοριστεί με αυτήν την εξίσωση: τάση εισόδου*(R2/R1 +R2). όταν το Arduino Analog Pin διαβάσει αυτήν την τιμή μετατρέπει την τάση σε εύρος από 0 έως 1023.
Βήμα 8: Θυμωμένη λειτουργία
Για να θυμώσω το ρομπότ αποφάσισα να το αναποδογυρίσω/χτυπήσω. Αυτό λειτουργεί χρησιμοποιώντας έναν διακόπτη κλίσης και ένας διακόπτης κλίσης είναι βασικά ένας κανονικός διακόπτης, αλλά αντί να έχετε ένα κουμπί ή ένα ροκ, έχετε μια μπάλα υδραργύρου η οποία αν γείρει σε μια συγκεκριμένη γωνία θα συνδέσει τις δύο επαφές και θα ενεργοποιηθεί. οπότε η τιμή από αυτό είναι είτε 0 είτε 1, 0 για απενεργοποίηση και 1 για ενεργοποίηση. Όταν το ρομπότ είναι θυμωμένο, αγνοεί επίσης το εμπόδιο αποφεύγοντας τη λειτουργία και χτυπάει οτιδήποτε φαίνεται προς τα εμπρός, εξαιτίας του θυμού του.
Βήμα 9: Φοβισμένη λειτουργία
Για την τελική λειτουργία του ρομπότ είναι η λειτουργία τρόμου, η οποία χρησιμοποιεί έναν αισθητήρα ήχου ο οποίος τοποθετείται ακριβώς πάνω από το ρομπότ. Κάθε φορά που το ρομπότ ακούει έναν θόρυβο φορτίου θα φοβάται και θα τρέμει ενώ πηγαίνει προς τα πίσω. Ο αισθητήρας ήχου λειτουργεί χρησιμοποιώντας ένα μικρόφωνο συμπύκνωσης που είναι ένα μικρόφωνο, όταν ανιχνεύει ήχους ή δονήσεις θα δημιουργήσει μια μικρή τάση, συνήθως περίπου 100mv, αυτή η τάση στη συνέχεια ενισχύεται και διαβάζεται μέσω της αναλογικής ακίδας του Arduino, όσο υψηλότερη είναι η τάση ή πιο δυνατός ο ήχος τόσο υψηλότερη είναι η αναλογική τιμή και αντίστροφα.
Βήμα 10: Ισχύς
Τώρα που δημιουργήσατε όλα όσα χρειάζεστε για να το τροφοδοτήσετε, προσπάθησα αρχικά να το τροφοδοτήσω με 8 μπαταρίες ΑΑ, αλλά ήταν πολύ ογκώδες και μη πρακτικό. Στη συνέχεια χρησιμοποίησα 3 μπαταρίες ιόντων λιθίου που η καθεμία χωρούσε περίπου 3,5v, ένωσα μία μπαταρία σε έναν μετατροπέα ώθησης που είναι ενισχυτής τάσης, αυτό αύξησε τα 3,5v σε 5v για να τροφοδοτήσει το Arduino, στη συνέχεια χρησιμοποίησα δύο από τις μπαταρίες και συνδέθηκα απευθείας για τους κινητήρες και τις λυχνίες LED, αυτό δεν είναι τόσο καλή ιδέα, δεδομένου ότι η τάση δεν ήταν ρυθμισμένη, αλλά δεν είχα ρυθμιστή τάσης, αν προσπαθήσετε να το κατασκευάσετε, προτείνω να χρησιμοποιήσετε ρυθμιστή τάσης από 5V σε περίπου 2-3 αμπέρ, ένα παράδειγμα αυτού είναι το LM78S05. Or μπορείτε να χρησιμοποιήσετε το LM7805 για να τροφοδοτήσετε το Arduino και αντ 'αυτού να λάβετε έναν μετατροπέα βήμα προς τα κάτω ή έναν μετατροπέα buck για να μειώσετε την τάση και να τροφοδοτήσετε τα LED και τους κινητήρες.
Βήμα 11: Διασκεδάστε !
Ελπίζω να χτίσετε αυτό το ρομπότ και να περάσετε καλά, ελπίζω επίσης ότι θα βάλετε τη δική σας περιστροφή σε αυτό το ρομπότ και θα δημιουργήσετε τα δικά σας συναισθήματα για να το κάνετε ΖΩΝΤΑΝΟ !!!
Συνιστάται:
Εμπόδιο Αποφυγή Κωπηλασίας με Αρουδίνο: 9 Βήματα
Εμπόδιο στην αποφυγή κωπηλασίας με Arudino: Γεια σας φίλοι, σε αυτό το σεμινάριο θα σας δείξω πώς να φτιάξετε ένα εμπόδιο αποφεύγοντας το σκάφος. Σκέφτηκα αυτή την ιδέα ενώ χαλάρωνα κοντά στη λίμνη ψαριών μου και σκεφτόμουν μια ιδέα για μια πλαστική πρόκληση. Συνειδητοποίησα ότι το πλαστικό εδώ θα είναι πολύ
Εμπόδιο Αποφυγή Rover με Dexter: 4 Βήματα
Εμπόδιο στην αποφυγή του Rover With Dexter: Εάν είστε νέοι στην κοινότητα Dexter, ανατρέξτε στη διεύθυνση https://www.instructables.com/id/Getting-Started-With-Dexter/Σε αυτό το έργο αναπτύσσουμε ένα εμπόδιο αποφυγής του Rover χρησιμοποιώντας τον πίνακα Dexter και υπερηχητικός αισθητήρας
ΠΩΣ ΝΑ ΣΥΝΑΡΜΟΛΟΓΗΣΕΤΕ ΕΝΑ ΕΚΠΤΩΣΙΚΟ ΞΥΛΙΝΟ ΡΟΜΠΟΤ ΒΡΑΧΙΟ (ΜΕΡΟΣ 2: ΡΟΜΠΟΤ ΓΙΑ ΑΠΟΦΥΓΗ ΤΟΥ ΕΜΠΟΔΙΟΥ) - ΒΑΣΕΙΣ ΣΤΟ ΜΙΚΡΟ: BIT: 3 Βήματα
ΠΩΣ ΝΑ ΣΥΝΑΡΜΟΛΟΓΗΣΕΤΕ ΕΝΑ ΕΚΠΤΩΣΙΚΟ ΞΥΛΙΝΟ ΡΟΜΠΟΤ ΑΡΜΠΟΡ (ΜΕΡΟΣ 2: ΡΟΜΠΟΤ ΓΙΑ ΑΠΟΦΥΓΗ ΤΟΥ ΕΜΠΟΔΙΟΥ)-ΒΑΣΕΙΣ ΣΤΟ ΜΙΚΡΟ: BIT: Προηγουμένως εισαγάγαμε το Armbit σε λειτουργία παρακολούθησης γραμμών. Στη συνέχεια, παρουσιάζουμε τον τρόπο εγκατάστασης του Armbit στην αποφυγή της λειτουργίας εμποδίων
Εμπόδιο στην αποφυγή ρομπότ χρησιμοποιώντας το πρόγραμμα οδήγησης μοτέρ L298n: 5 βήματα
Εμπόδιο αποφυγής ρομπότ με χρήση L298n Motor Driver: γεια σας παιδιά σήμερα θα φτιάξουμε αυτό το ρομπότ .. ελπίζω να το απολαύσετε
Πώς να φτιάξετε ένα ρομπότ OAWR (Εμπόδιο στην αποφυγή περπατήματος): 7 βήματα (με εικόνες)
Πώς να φτιάξετε ένα OBWR (Εμπόδιο αποφεύγοντας το ρομπότ): Αυτό το εγχειρίδιο δείχνει πώς να φτιάξετε ένα μικρό ρομπότ που περπατά, το οποίο αποφεύγει τα εμπόδια (όπως και πολλές εμπορικά διαθέσιμες επιλογές). Αλλά τι είναι διασκεδαστικό να αγοράζεις ένα παιχνίδι όταν μπορείς να ξεκινήσεις με έναν κινητήρα, ένα πλαστικό φύλλο και ένα σωρό μπουλόνια και επαγγελματικά