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

ΤΟ ΣΥΝΑΙΣΘΗΜΑΤΙΚΟ ΕΜΠΟΔΙΟ ΑΠΟΦΥΓΗ ΤΟΥ ΡΟΜΠΟΤ: 11 Βήματα
ΤΟ ΣΥΝΑΙΣΘΗΜΑΤΙΚΟ ΕΜΠΟΔΙΟ ΑΠΟΦΥΓΗ ΤΟΥ ΡΟΜΠΟΤ: 11 Βήματα

Βίντεο: ΤΟ ΣΥΝΑΙΣΘΗΜΑΤΙΚΟ ΕΜΠΟΔΙΟ ΑΠΟΦΥΓΗ ΤΟΥ ΡΟΜΠΟΤ: 11 Βήματα

Βίντεο: ΤΟ ΣΥΝΑΙΣΘΗΜΑΤΙΚΟ ΕΜΠΟΔΙΟ ΑΠΟΦΥΓΗ ΤΟΥ ΡΟΜΠΟΤ: 11 Βήματα
Βίντεο: Daniel Schmachtenberger: Θα μας καταστρέψει η τεχνολογία; 2024, Νοέμβριος
Anonim
ΤΟ ΣΥΝΑΙΣΘΗΜΑΤΙΚΟ ΕΜΠΟΔΙΟ ΑΠΟΦΥΓΗ ΤΟΥ ΡΟΜΠΟΤ
ΤΟ ΣΥΝΑΙΣΘΗΜΑΤΙΚΟ ΕΜΠΟΔΙΟ ΑΠΟΦΥΓΗ ΤΟΥ ΡΟΜΠΟΤ

Το συναισθηματικό ρομπότ. Αυτό το ρομπότ εμφανίζει συναισθήματα με 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: Θυμωμένη λειτουργία

Angry Function
Angry Function
Angry Function
Angry Function

Για να θυμώσω το ρομπότ αποφάσισα να το αναποδογυρίσω/χτυπήσω. Αυτό λειτουργεί χρησιμοποιώντας έναν διακόπτη κλίσης και ένας διακόπτης κλίσης είναι βασικά ένας κανονικός διακόπτης, αλλά αντί να έχετε ένα κουμπί ή ένα ροκ, έχετε μια μπάλα υδραργύρου η οποία αν γείρει σε μια συγκεκριμένη γωνία θα συνδέσει τις δύο επαφές και θα ενεργοποιηθεί. οπότε η τιμή από αυτό είναι είτε 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: Διασκεδάστε !

Ελπίζω να χτίσετε αυτό το ρομπότ και να περάσετε καλά, ελπίζω επίσης ότι θα βάλετε τη δική σας περιστροφή σε αυτό το ρομπότ και θα δημιουργήσετε τα δικά σας συναισθήματα για να το κάνετε ΖΩΝΤΑΝΟ !!!

Συνιστάται: