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

Ανιχνεύστε τα εμπόδια ασύγχρονα με υπερήχους: 4 βήματα
Ανιχνεύστε τα εμπόδια ασύγχρονα με υπερήχους: 4 βήματα

Βίντεο: Ανιχνεύστε τα εμπόδια ασύγχρονα με υπερήχους: 4 βήματα

Βίντεο: Ανιχνεύστε τα εμπόδια ασύγχρονα με υπερήχους: 4 βήματα
Βίντεο: To Thymio αποφεύγει εμπόδια 2024, Ιούλιος
Anonim
Εντοπίστε τα εμπόδια ασύγχρονα με υπερήχους
Εντοπίστε τα εμπόδια ασύγχρονα με υπερήχους

Χτίζω για διασκέδαση ένα ρομπότ που θέλω να μετακινηθεί αυτόνομα μέσα σε ένα σπίτι.

Είναι μια μακρά δουλειά και το κάνω βήμα βήμα.

Αυτή η διδακτική εστίαση στην ανίχνευση εμποδίων με το Arduino Mega

Οι αισθητήρες υπερήχων HC-SR04 έναντι HY-SRF05 είναι φθηνοί και απλοί στη χρήση, αλλά μπορούν να γίνουν δύσκολο να ενσωματωθούν στον βρόχο μικροελεγκτών σε ένα πολύπλοκο ρομπότ. Iθελα να εκτελέσω την ανίχνευση εμποδίων με ασύγχρονο τρόπο.

_

Έχω ήδη δημοσιεύσει 3 οδηγίες σχετικά με τις δυνατότητες αυτού του ρομπότ:

  • Φτιάξτε τον κωδικοποιητή του τροχού σας
  • Φτιάξτε την πύλη WIFI
  • Χρησιμοποιήστε τη μονάδα αδρανειακής μονάδας

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

Βήμα 1: Ποιο είναι ακριβώς το ζήτημα με τους υπερηχητικούς αισθητήρες και τους μικροελεγκτές;

Ποιο είναι ακριβώς το ζήτημα με τους υπερηχητικούς αισθητήρες και τους μικροελεγκτές
Ποιο είναι ακριβώς το ζήτημα με τους υπερηχητικούς αισθητήρες και τους μικροελεγκτές
Ποιο είναι ακριβώς το ζήτημα με τους υπερηχητικούς αισθητήρες και τους μικροελεγκτές
Ποιο είναι ακριβώς το ζήτημα με τους υπερηχητικούς αισθητήρες και τους μικροελεγκτές

Σύγχρονη αναμονή και περιορισμοί στο Arduino

Ο κώδικας μικροελεγκτών εκτελείται σε έναν βρόχο και δεν υποστηρίζει πολλαπλά νήματα. Οι αισθητήρες υπερήχων βασίζονται στη διάρκεια του σήματος. Αυτή η διάρκεια διαρκεί έως και 30 m s και είναι πολύ μεγάλο για να περιμένετε στο εσωτερικό του βρόχου όταν οι μικροελεγκτές πρέπει να αντιμετωπίσουν πολλαπλούς κινητήρες και αισθητήρες (για παράδειγμα σερβοκινητήρες και DC κινητήρες με κωδικοποιητές τροχών).

Wantedθελα λοιπόν να αναπτύξω ένα αντικείμενο που τρέχει ασύγχρονα.

Βήμα 2: Πώς λειτουργεί;

Πώς λειτουργεί ?
Πώς λειτουργεί ?

Έχει σχεδιαστεί για την Atmega για ανίχνευση εμποδίων. Υποστηρίζει έως και 4 αισθητήρες υπερήχων.

Χάρη στην περιοδική χρονική διακοπή, το σύστημα μπορεί να παρακολουθεί έως και 4 αισθητήρες υπερήχων. Ο κύριος κωδικός πρέπει μόνο να καθορίσει ποιον αισθητήρα θα ενεργοποιήσει με την κατάσταση και το κατώφλι. Ο κύριος wil θα διακοπεί μόνο σε περίπτωση που εμφανιστεί (κατάσταση, κατώφλι).

Οι κύριες λειτουργίες είναι:

  • Η ειδοποίηση είναι η βασική ανίχνευση εμποδίων και παρέχει διακοπή εάν τουλάχιστον 1 από τους 4 αισθητήρες ανιχνεύσει απόσταση κάτω από το όριο
  • Η οθόνη είναι μια εκτεταμένη λειτουργία που παρέχει διακοπή σε συνδυασμό συνθηκών απόστασης έως και 4 αισθητήρες. Οι πιθανές συνθήκες είναι πάνω, κάτω, ίσες ή μη ίσες με τα όρια.

Βήμα 3: Τεχνικές λεπτομέρειες

Χρησιμοποιήστε το χρονόμετρο4, ώστε το pin 6 7 8 να μην μπορεί να χρησιμοποιηθεί ως PWM.

Για κάθε αισθητήρα το αντικείμενο χρειάζεται ένα PIN σκανδάλης και ένα PIN διακοπής.

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

Βήμα 4: Πώς να εφαρμόσετε;

Πώς να εφαρμόσετε
Πώς να εφαρμόσετε

Συνδέστε τους αισθητήρες όπως παραπάνω

Λήψη από αυτό το αποθετήριο GitHub

  • EchoObstacleDetection.cpp,
  • EchoObstacleDetection.h
  • ΠαράδειγμαEchoObstacleDetection.ino

Δημιουργήστε τον κατάλογο EchoObstacleDetection μέσα στη βιβλιοθήκη σας IDE και μετακινήστε τα.cpp και.h

Δοκιμασε το

Ανοίξτε το ΠαράδειγμαEchoObstacleDetection.ino.

Αυτό είναι ένα απλό παράδειγμα ανίχνευσης εμποδίων που τρέχει με 2 αισθητήρες υπερήχων.

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

Συνιστάται: