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

Ρομπότ αποφυγής υπερήχων με χρήση Arduino: 7 βήματα
Ρομπότ αποφυγής υπερήχων με χρήση Arduino: 7 βήματα

Βίντεο: Ρομπότ αποφυγής υπερήχων με χρήση Arduino: 7 βήματα

Βίντεο: Ρομπότ αποφυγής υπερήχων με χρήση Arduino: 7 βήματα
Βίντεο: Arduino Project - Obstacle Avoiding Robot - Ρομπότ Αποφυγής Εμποδίων - 1ο ΕΠΑΛ Καρπενησίου 2024, Νοέμβριος
Anonim
Image
Image
Ρομπότ αποφυγής υπερήχων με χρήση Arduino
Ρομπότ αποφυγής υπερήχων με χρήση Arduino

Σε αυτό το σεμινάριο, θα σας δείξω πώς να φτιάξετε το δικό σας εμπόδιο αποφεύγοντας το ρομπότ! Θα χρησιμοποιήσουμε τον πίνακα Arduino UNO και έναν υπερηχητικό αισθητήρα. Εάν το ρομπότ ανιχνεύσει ένα αντικείμενο μπροστά του, με τη βοήθεια ενός μικρού σερβοκινητήρα, σαρώνει την περιοχή αριστερά και δεξιά για να βρει τον καλύτερο τρόπο στροφής. Διαθέτει επίσης LED ειδοποίησης, βομβητή για αναπαραγωγή ενός τόνου όταν εντοπίζεται ένα αντικείμενο και κουμπί για την αλλαγή της λειτουργίας του ρομπότ (σταματά/προχωράει).

Είναι πολύ εύκολο να το φτιάξετε!

Βήμα 1: Πράγματα που πρέπει να φτιάξετε

Πράγματα που πρέπει να φτιάξετε!
Πράγματα που πρέπει να φτιάξετε!
Πράγματα που πρέπει να φτιάξετε!
Πράγματα που πρέπει να φτιάξετε!
Πράγματα που πρέπει να φτιάξετε!
Πράγματα που πρέπει να φτιάξετε!
Πράγματα που πρέπει να φτιάξετε!
Πράγματα που πρέπει να φτιάξετε!

Για αυτό το έργο θα χρειαστείτε:

  1. Arduino UNO (αγοράστε το από το gearbest.com)
  2. Μίνι breadboard (αγοράστε το από το gearbest.com)
  3. Μονάδα οδηγού κινητήρα L298 (αγοράστε το από το gearbest.com)
  4. 2x κινητήρες DC με τροχούς υπερηχητικός αισθητήρας HC-SR04 (αγοράστε το από το gearbest.com)
  5. Micro servo μοτέρ (αγοράστε το από το gearbest.com)
  6. Κουμπί Red LED220 Ohm Resist 9V κάτοχος μπαταρίας (με ή χωρίς πρίζα)
  7. 8 αποστάτες (αρσενικό-θηλυκό),
  8. 8 παξιμάδια και 8 βίδες θα χρειαστείτε επίσης ένα μεγάλο (μέταλλο)

συνδετήρα και μια χάντρα για να φτιάξετε τον πίσω τροχό στήριξης.

Για τη βάση του ρομπότ, χρησιμοποίησα ένα ακρυλικό Chasis από το Aliexpress. Μπορείτε επίσης να χρησιμοποιήσετε ένα κομμάτι ξύλου ή μετάλλου (ή δύο ηλεκτρικές πλάκες).

Το κόστος ολόκληρου του έργου είναι περίπου 20 $

Εργαλεία: Τρυπάνι σούπερ κόλλα οδηγός πληρώματος ζεστό πιστόλι κόλλας (προαιρετικά) Ισχύς:

Θα χρησιμοποιήσουμε μια μπαταρία 9V για να ενεργοποιήσουμε το ρομπότ μας επειδή είναι μικρό και φθηνό, αλλά δεν είναι πολύ ισχυρό και θα αδειάσει μετά από περίπου μία ώρα. Σκεφτείτε εάν θέλετε να χρησιμοποιήσετε μια επαναφορτιζόμενη μπαταρία (ελάχιστο 6V, μέγιστο 7V) που θα είναι πιο ισχυρό αλλά θα είναι επίσης πιο ακριβό και μεγαλύτερο από την μπαταρία των 9V. Εγγραφείτε στο κανάλι μας στο YouTube Κάντε κλικ εδώ

Βήμα 2: Κατανόηση εννοιών

Κατανόηση εννοιών
Κατανόηση εννοιών
Κατανόηση εννοιών
Κατανόηση εννοιών
Κατανόηση εννοιών
Κατανόηση εννοιών

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

Αισθητήρας υπερήχων

Το HC-SR04 είναι ένα κύκλωμα ικανό να μετρήσει μια απόσταση από αντικείμενα έως 4 μέτρα χρησιμοποιώντας υπερηχητικά κύματα. Στέλνει ένα ping (όπως ένα υποβρύχιο) και μετρά το χρόνο (σε μικροδευτερόλεπτα) μεταξύ της αποστολής και της παραλαβής οτιδήποτε πίσω. Αυτός ο χρόνος διαιρείται στη συνέχεια με το 2 καθώς το κύμα ταξιδεύει μπρος -πίσω. Και στη συνέχεια διαιρέστε με 29 για να πάρετε μια απόσταση σε εκατοστά (ή 74 για ίντσες), επειδή ο ήχος ταξιδεύει 29,4 μs ανά εκατοστό (340 m/s). Ο αισθητήρας είναι πολύ ακριβής με ανοχή mm 3 mm και εύκολος στην ενσωμάτωση με το Arduino.

Αισθητήρας υπερήχων διασύνδεσης με μικροελεγκτή AVR

Κάθε αυτόνομο ρομπότ πρέπει να έχει ένα εμπόδιο αποφυγής και έναν αισθητήρα μέτρησης απόστασης προσαρτημένο. Ένα ζεύγος πομποδέκτη IR ή ένας αισθητήρας κλίμακας του γκρι μπορούν εύκολα να λειτουργήσουν για ανίχνευση εμποδίων στην περιοχή 1cm-10cm. Οι ευρετήρες εύρους IR (για παράδειγμα οι απότομοι) μπορούν να μετρήσουν μια απόσταση έως το πλησιέστερο εμπόδιο με το εύρος έως και 100 εκατοστά. Ωστόσο, οι αισθητήρες IR επηρεάζονται από το φως του ήλιου και άλλες πηγές φωτός. Τα ευρετήρια εύρους IR έχουν μικρότερη εμβέλεια και επίσης ακριβά για αυτό που κάνει. Οι αισθητήρες υπερήχων (επίσης γνωστοί ως αισθητήρες υπερηχητικής εγγύτητας ή σόναρ για τους geeks) εκτελούν και αυτές τις εργασίες με λογικό κόστος και εξαιρετική ακρίβεια. Η εμβέλεια είναι οτιδήποτε μεταξύ 3 cm έως 350cm με ακρίβεια ~ 3mm. Συνδέοντας έναν από αυτούς τους αισθητήρες υπερήχων στο ρομπότ μας, μπορεί να λειτουργήσει τόσο ως αποφεύγοντας εμπόδιο όσο και ως αισθητήρας μέτρησης απόστασης.

Ο ήχος "υπερήχων" αναφέρεται σε οτιδήποτε πάνω από τις συχνότητες του ηχητικού ήχου και περιλαμβάνει ονομαστικά οτιδήποτε πάνω από 20, 000 Hz ή 20kHz! Οι φθηνοί υπερηχητικοί αισθητήρες που χρησιμοποιούνται για τη ρομποτική λειτουργούν γενικά σε μια περιοχή από 40 kHz έως 250 kHz, ενώ αυτοί που χρησιμοποιούνται στον ιατρικό εξοπλισμό φτάνουν τα 10 Mhz.

Βήμα 3: Απαιτούνται εργαλεία

Απαιτούνται εργαλεία
Απαιτούνται εργαλεία
Απαιτούνται εργαλεία
Απαιτούνται εργαλεία
Απαιτούνται εργαλεία
Απαιτούνται εργαλεία
Απαιτούνται εργαλεία
Απαιτούνται εργαλεία
  1. Πολύμετρο
  2. Breadboard
  3. Πένσα μύτης βελόνας
  4. Wire Stripper
  5. Κόφτης καλωδίων
  6. Κόλλα Gun

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

Οικοδομικά υλικά

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

Αν και άλλα υλικά όπως τα πλαστικά (εκτός από πλεξιγκλάς) ή πιο εξωτικά υλικά όπως το fiberglass και οι ίνες άνθρακα είναι πιθανά, δεν θα ληφθούν υπόψη σε αυτόν τον οδηγό. Αρκετοί κατασκευαστές έχουν σημειώσει ότι δεν είναι εύκολο για τους περισσότερους χομπίστες να παράγουν τα δικά τους μηχανικά μέρη και έχουν δημιουργήσει αρθρωτά μηχανικά μέρη. Ηγέτης σε αυτό είναι το Lynxmotion που προσφέρει ένα ευρύ φάσμα ρομποτικών σχεδίων καθώς και τα μέρη που απαιτούνται για να φτιάξετε τα δικά σας προσαρμοσμένα ρομπότ.

Εργαλεία χειρός

Κατσαβίδια και πένσες διαφόρων τύπων και μεγεθών (συμπεριλαμβανομένης της συσκευής κοσμηματοπωλείου: μικρά κατσαβίδια που διατίθενται συνήθως στα καταστήματα δολαρίων) είναι απαραίτητα. Ένα τρυπάνι (κατά προτίμηση ένα τρυπάνι για ευθείες οπές) είναι επίσης σημαντικό. Ένα πριόνι χειρός για κοπή οικοδομικών υλικών (ή δρομολογητή) είναι επίσης ένα σημαντικό πλεονέκτημα. Αν ο προϋπολογισμός το επιτρέπει, ένα μικρό επιτραπέζιο πριόνι (εύρος $ 200) είναι σίγουρα ένα εργαλείο που πρέπει να λάβετε υπόψη.

Breadboard χωρίς συγκολλήσεις

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

Μικρό σετ κατσαβιδιών

Αυτά τα μικρά κατσαβίδια είναι απαραίτητα όταν εργάζεστε με ηλεκτρονικά. Μην τα πιέζετε πολύ όμως - το μέγεθός τους τα κάνει πιο εύθραυστα.

Κανονικό σετ κατσαβιδιών

Όλα τα εργαστήρια χρειάζονται ένα πολυεργαλείο ή ένα σύνολο εργαλείων που περιλαμβάνει επίπεδες / κεφαλές κατσαβιδιών και Phillips.

Πένσα μύτης βελόνας

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

Απογυμνωτές/κόπτες σύρματος

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

Βήμα 4: Έννοιες για κωδικοποίηση AVR

Έννοιες για κωδικοποίηση AVR
Έννοιες για κωδικοποίηση AVR

Υπολογισμός της ταχύτητας του ήχου σε σχέση με τους αισθητήρες υπερήχων

Λίγα μαθηματικά, αλλά μην φοβάστε. Είναι πιο απλό από όσο νομίζετε.

Η ταχύτητα του ήχου σε ξηρό αέρα σε θερμοκρασία δωματίου (~ 20 ° C) = 343 μέτρα/δευτερόλεπτο

Για να χτυπήσει το ηχητικό κύμα και να κάνει ένα ταξίδι μετ 'επιστροφής στο κοντινό αντικείμενο είναι = 343/2 = 171,5 m/δεδομένου ότι η μέγιστη εμβέλεια ενός φθηνού αισθητήρα υπερήχων δεν είναι μεγαλύτερη από 5 μέτρα (μετ' επιστροφής), θα ήταν πιο λογικό να αλλάξτε τις μονάδες σε εκατοστά και μικροδευτερόλεπτα.

1 μέτρο = 100 εκατοστά 1 δευτερόλεπτο = 10^6 μικροδευτερόλεπτα = (s/171,5) x (m/100 cm) x ((1x10^6)/s) = (1/171,5) x (1/100) x (1000000/ 1) = 58.30903790087464 us/cm = 58.31 us/cm (στρογγυλοποίηση σε δύο ψηφία για ευκολότερους υπολογισμούς)Επομένως, ο χρόνος που απαιτείται για να ταξιδέψει ένας παλμός σε ένα αντικείμενο και να αναπηδήσει 1 εκατοστό είναι 58,31 μικροδευτερόλεπτα.

το μικρό υπόβαθρο στους κύκλους ρολογιού AVR

Χρειάζεται ένα εντελώς διαφορετικό κεφάλαιο για να κατανοήσουμε τους κύκλους ρολογιού AVR, αλλά θα καταλάβουμε εν συντομία πώς λειτουργεί για να διευκολύνουμε τους υπολογισμούς μας

Για το παράδειγμά μας, θα χρησιμοποιήσουμε την πλακέτα AVR Draco η οποία διαθέτει 8-bit AVR-μικροελεγκτή Atmega328P. Για να είμαστε απλοί, δεν θα αλλάξουμε τις ρυθμίσεις ενός μικροελεγκτή. Δεν αγγίχτηκαν ασφάλειες. Δεν συνδέεται εξωτερικός κρύσταλλος. Κανένας πονοκέφαλος. Στις εργοστασιακές ρυθμίσεις, λειτουργεί με έναν εσωτερικό ταλαντωτή 8MHz με προ -ζυγοστάτη a /8. Εάν δεν τα καταλαβαίνετε όλα αυτά, σημαίνει απλώς ότι ο μικροελεγκτής λειτουργεί σε εσωτερικό ταλαντωτή RC 1MHz και κάθε κύκλος ρολογιού διαρκεί 1 μικροδευτερόλεπτο.

1 2 1MHz = 1000000 κύκλων ανά δευτερόλεπτο Επομένως, 1s/1000000 = 1/1000000 = 1us

Ρολόγια AVR και μετατροπή απόστασης

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

Γνωρίζουμε ότι η ταχύτητα του υπερηχητικού ήχου στο ιδανικό περιβάλλον είναι: 58,31 us/cm

Γνωρίζουμε ότι η ανάλυση του μικροελεγκτή AVR είναι 1 κύκλος/κύκλος ρολογιού (CLK)

Επομένως, η απόσταση που διανύεται με ήχο ανά κύκλο ρολογιού (CLK) είναι:

1 2 3 = (58,31 us/ cm) x (1us/ clk) = 58,31 κύκλοι ρολογιού/ cm ή = 1/ 58,31 cm/ clk

Εάν είναι γνωστός ο αριθμός των κύκλων ρολογιού που χρειάζονται για να ταξιδέψει και να επιστρέψει ο ήχος, μπορούμε εύκολα να υπολογίσουμε την απόσταση. Για παράδειγμα, εάν ο αισθητήρας χρειάζεται 1000 κύκλους ρολογιού για να ταξιδέψει και να αναπηδήσει, τότε η απόσταση από έναν αισθητήρα στο πλησιέστερο αντικείμενο είναι = 1000/58,31 = 17,15 cm (περ.)

Έχουν όλα νόημα τώρα; Οχι? Διαβάστε το ξανά

Εάν είστε σαφείς με όλη τη λογική που αναφέρθηκε παραπάνω, θα το εφαρμόσουμε σε πραγματικό σενάριο συνδέοντας έναν φθηνό υπερηχητικό αισθητήρα HC-SR04 στον πίνακα AVR Arduino.

Βήμα 5: Συνδέσεις υλικού:

Συνδέσεις υλικού
Συνδέσεις υλικού
Συνδέσεις υλικού
Συνδέσεις υλικού
Συνδέσεις υλικού
Συνδέσεις υλικού
Συνδέσεις υλικού
Συνδέσεις υλικού

Ο πίνακας Arduino διευκολύνει τη σύνδεση τυχόν εξωτερικών αισθητήρων και την προβολή των αποτελεσμάτων σε οθόνη LCD. Για την ανίχνευση εύρους υπερήχων, χρησιμοποιούμε μια φθηνή μονάδα HC-SR04. Η μονάδα διαθέτει 4 ακίδες που μπορούν να συνδεθούν στην πλακέτα μικροελεγκτή: VCC, TRIG, ECHO και GND.

Συνδέστε τον πείρο VCC σε 5V και τον πείρο GND στη γείωση στην πλακέτα Arduino.

Ο πείρος TRIG και ο πείρος ECHO μπορούν να συνδεθούν με οποιαδήποτε διαθέσιμη ακίδα στον πίνακα. Η αποστολή ενός σήματος "υψηλού" τουλάχιστον 10us για την ενεργοποίηση του πείρου στέλνει οκτώ ηχητικά κύματα 40 kHz και τραβάει τον πείρο ηχούς ψηλά. Εάν ο ήχος αναπηδήσει από ένα κοντινό αντικείμενο και επιστρέψει, συλλαμβάνεται με τη λήψη του μορφοτροπέα και ο πείρος ηχώ τραβιέται «χαμηλά».

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

Μόλις συνδεθούν, οι Trigger και Echo Pins μπορούν να διαμορφωθούν μέσω λογισμικού. Για να διατηρήσουμε αυτό το παράδειγμα απλό, δεν θα χρησιμοποιήσουμε ακίδες διακοπής (ή Εισαγωγή καρφιτσών καταγραφής) σε αυτό το παράδειγμα. Η μη χρήση καθορισμένων ακίδων διακοπής μας δίνει επίσης την ελευθερία να συνδέσουμε τη μονάδα με τυχόν διαθέσιμες ακίδες στον πίνακα.

Βήμα 6: Κωδικός

ΚωδικόςΟ παρακάτω κωδικός περιέχει μόνο μια «υπερηχητική» επέκταση στον έλεγχο κινητήρα DC χρησιμοποιώντας ένα H-Bridge από το προηγούμενο άρθρο. Όταν το ρομπότ εντοπίσει ένα εμπόδιο μπροστά του, γυρίζει (τυχαίο βαθμό) και συνεχίζει να προχωράει. Αυτή η λειτουργία θα μπορούσε εύκολα να επεκταθεί για να συνεχίσει να περιστρέφεται και να εντοπίζει εμπόδια ταυτόχρονα - έτσι το ρομπότ δεν θα γύριζε τυχαία, αλλά θα ξεκινούσε να κινείται προς τα εμπρός μόνο όταν δεν ανιχνεύεται κανένα αντικείμενο.

Για επεξήγηση κώδικα, ανατρέξτε στο βίντεο στο YouTube που παρατίθεται στο κανάλι.

Βήμα 7: Βίντεο

Δείτε το βίντεο για όλη τη διαδικασία.

Συνιστάται: