Πίνακας περιεχομένων:
- Βήμα 1: Πώς λειτουργεί;
- Βήμα 2: Πώς να ρυθμίσετε τις παραμέτρους των τριών σταθμών αισθητήρων και των αντικειμένων
- Βήμα 3: Πώς να διαμορφώσετε τον κύριο σταθμό
- Βήμα 4: Λίστα υλικού
Βίντεο: Σύστημα τοποθέτησης με βάση υπερήχους: 4 βήματα (με εικόνες)
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:34
Όλες οι εκδόσεις των ραντάρ υπερήχων που έχω βρει για συσκευές arduino (Arduino - Radar/Ultrasonic Detector, Arduino Ultrasonic Radar Project) είναι πολύ ωραία ραντάρ αλλά όλες είναι "τυφλές". Θέλω να πω, το ραντάρ ανιχνεύει κάτι, αλλά τι εντοπίζει;
Προτείνω λοιπόν να αναπτύξω ένα σύστημα ικανό να ανιχνεύει αντικείμενα και να τα αναγνωρίζει. Με άλλα λόγια ένα σύστημα εντοπισμού θέσης χωρίς τη χρήση συσκευών GPS αλλά ανιχνευτών υπερήχων.
Αυτό είναι το αποτέλεσμα που ελπίζω να σας αρέσει.
Βήμα 1: Πώς λειτουργεί;
Τα συστήματα τοποθέτησης σχηματίζονται από τρεις σταθμούς αισθητήρων με υπερηχητικούς ανιχνευτές και id_node 1, 2 και 3 που σχηματίζουν ορθογώνιο ή τετράγωνο που σαρώνουν γωνία 90º και όπου οι αποστάσεις μεταξύ τους είναι γνωστές όπως φαίνεται στην εικόνα 1.
const float distancebetween1and2 = 60,0;
const float distancebetween2and3 = 75,0;
Αυτοί οι αισθητήρες μετρούν την απόσταση και τη γωνία άλλων αντικειμένων με id_node μεγαλύτερο από 3 που διαθέτουν επίσης έναν υπερηχητικό ανιχνευτή που σαρώνει μια γωνία 170 °.
Όλοι τους στέλνουν τις αποστάσεις, τις γωνίες που μετρήθηκαν και τον id_node σε έναν άλλο κύριο σταθμό χρησιμοποιώντας ασύρματες επικοινωνίες για την ανάλυση, τον υπολογισμό της θέσης των αντικειμένων χρησιμοποιώντας τον υπολογισμό της τριγωνομετρίας και την αναγνώρισή τους.
Για να αποφευχθούν παρεμβολές, ο κύριος σταθμός συγχρονίζει όλους τους ανιχνευτές υπερήχων με αυτόν τον τρόπο που μόνο ένας ανιχνευτής υπερήχων μετρά κάθε στιγμή
Μετά από αυτό και χρησιμοποιώντας μια σειριακή επικοινωνία, ο κύριος σταθμός στέλνει τις πληροφορίες (γωνία, απόσταση, id_object) σε ένα σκίτσο επεξεργασίας για να σχεδιάσει τα αποτελέσματα.
Βήμα 2: Πώς να ρυθμίσετε τις παραμέτρους των τριών σταθμών αισθητήρων και των αντικειμένων
Η μόνη λειτουργία κάθε σταθμού αισθητήρων είναι η ανίχνευση αντικειμένων και η αποστολή της λίστας απόστασης, γωνίας και αναγνωριστικού κόμβου στον κύριο σταθμό.
Επομένως, πρέπει να ενημερώσετε τη μέγιστη απόσταση ανίχνευσης ("valid_max_distance") και την ελάχιστη ("valid_min_distance") (εκατοστά) για να βελτιώσετε την ανίχνευση και να περιορίσετε τη ζώνη ανίχνευσης:
int valid_max_distance = 80;
int valid_min_distance = 1;
Ο κόμβος id αυτών των σταθμών αισθητήρων ("this_node" στον παρακάτω κωδικό) είναι 1, 2 και 3 και ο αναγνωριστικός κόμβος του κύριου σταθμού είναι 0.
const uint16_t this_node = 01; // Διεύθυνση του κόμβου μας σε οκταδική μορφή (Node01, Node02, Node03)
const uint16_t other_node = 00; // Διεύθυνση του κύριου κόμβου (Node00) σε οκταδική μορφή
Κάθε σταθμός αισθητήρων σαρώνει και γωνία 100º ("max_angle" στον παρακάτω κωδικό)
#define min_angle 0
#define max_angle 100
Όπως παραπάνω, η μόνη λειτουργία ενός αντικειμένου είναι η ανίχνευση αντικειμένων και η αποστολή της λίστας των αποστάσεων, των γωνιών και του αντικειμένου id που μετρήθηκαν στον κύριο σταθμό. Το αναγνωριστικό ενός αντικειμένου ("this_node" στον παρακάτω κώδικα) πρέπει να είναι μεγαλύτερο από 3.
Κάθε αντικείμενο σαρώνει και έχει γωνία 170º και όπως παραπάνω, είναι δυνατή η ενημέρωση της μέγιστης και ελάχιστης απόστασης ανίχνευσης.
const uint16_t this_node = 04; // Διεύθυνση του κόμβου μας σε οκταδική μορφή (Node04, Node05,…)
const uint16_t other_node = 00; // Διεύθυνση του κύριου κόμβου (Node00) σε οκταδική μορφή int valid_max_distance = 80; int valid_min_distance = 1; #define min_angle 0 #define max_angle 170
Βήμα 3: Πώς να διαμορφώσετε τον κύριο σταθμό
Η λειτουργία του κύριου σταθμού είναι να λαμβάνει τις εκπομπές των σταθμών αισθητήρων και των αντικειμένων και να στέλνει τα αποτελέσματα χρησιμοποιώντας τη σειριακή θύρα σε ένα σκίτσο επεξεργασίας για να τους σχεδιάσει. Επιπλέον συγχρονίζει όλα τα αντικείμενα και τους τρεις σταθμούς αισθητήρων με αυτόν τον τρόπο που μόνο ένας από αυτούς μετρά κάθε φορά για να αποφευχθούν παρεμβολές.
Πρώτα πρέπει να ενημερώσετε την απόσταση (εκατοστά) μεταξύ αισθητήρα 1 και 2 και την απόσταση μεταξύ 2 και 3.
const float distancebetween1and2 = 60,0;
const float distancebetween2and3 = 70,0;
Το σκίτσο υπολογίζει τη θέση των αντικειμένων με τον ακόλουθο τρόπο:
- Για όλες τις εκπομπές των αντικειμένων (id_node μεγαλύτερο από 3) αναζητήστε την ίδια απόσταση σε κάθε μετάδοση των αισθητήρων υπερήχων (id_node 1, 2 ή 3).
- Όλα αυτά τα σημεία σχηματίζουν μια λίστα "υποψηφίων" (απόσταση, γωνία, id_node) για να είναι η θέση ενός αντικειμένου ("process_pointobject_with_pointssensor" στο σκίτσο).
- Για κάθε «υποψήφιο» της προηγούμενης λίστας, η συνάρτηση «andid_selected_between_sensor2and3 »υπολογίζει από την άποψη του αισθητήρα υπερήχων 2 και 3 ποιος από αυτούς ταιριάζει με την ακόλουθη συνθήκη τριγωνομετρίας (δείτε τις εικόνες 2 και 3)
float distancefroms2 = sin (ακτίνια (γωνία)) * απόσταση?
float distancefroms3 = cos (ακτίνια (angle_candidate)) * distance_candidate; // Συνθήκη τριγωνομετρίας 1 abs (distancefroms2 + distancefroms3 - distancebetween2and3) <= float (max_diference_distance)
Όπως παραπάνω, για κάθε "υποψήφιο" της προηγούμενης λίστας, η συνάρτηση "andid_selected_between_sensor1and2 "υπολογίζει από την άποψη του αισθητήρα υπερήχων 1 και 2 ποιος από αυτούς ταιριάζει με την ακόλουθη σχέση τριγωνομετρίας (δείτε τις εικόνες 2 και 3)
float distancefroms1 = sin (ακτίνια (γωνία)) * απόσταση · απόσταση floatfroms2 = cos (ακτίνια (υποψήφιος γωνίας)) * distance_candidate; // Συνθήκη τριγωνομετρίας 2 abs (distancefroms1 + distancefroms2 - distancebetween1and2) <= float (max_diference_distance)
Μόνο οι υποψήφιοι (απόσταση, γωνία, id_node) που ταιριάζουν με τις συνθήκες τριγωνομετρίας 1 και 2 αναγνωρίζονται ως αντικείμενα που ανιχνεύονται από τους σταθμούς αισθητήρων 1, 2 και 3
Στη συνέχεια, τα αποτελέσματα αποστέλλονται από τον κύριο σταθμό σε ένα σκίτσο επεξεργασίας για να τα σχεδιάσετε.
Βήμα 4: Λίστα υλικού
Η λίστα του υλικού που απαιτείται για έναν σταθμό αισθητήρων ή ένα αντικείμενο είναι η ακόλουθη:
- Nano σανίδα
- Αισθητήρας υπερήχων
- Μικρο σερβοκινητήρας
- Ασύρματη μονάδα NRF24L01
- Προσαρμογέας NRF24L01
και η λίστα υλικού για τον κύριο σταθμό είναι η ακόλουθη:
- Nano σανίδα
- Ασύρματη μονάδα NRF24L01
- Προσαρμογέας NRF24L01
Συνιστάται:
Ανιχνεύστε τα εμπόδια ασύγχρονα με υπερήχους: 4 βήματα
Ανίχνευση εμποδίων ασύγχρονα με υπερήχους: Δημιουργώ για διασκέδαση ένα ρομπότ που θέλω να μετακινηθεί αυτόνομα μέσα σε ένα σπίτι. Είναι μια μακρά δουλειά και κάνω βήμα προς βήμα. Αυτή η διδακτική εστίαση στην ανίχνευση εμποδίων με το Arduino Mega. Οι υπερηχητικοί αισθητήρες HC-SR04 έναντι HY-SRF05 είναι φθηνοί και
Σύστημα πρόσβασης με υπερήχους: 6 βήματα (με εικόνες)
Σύστημα πρόσβασης με υπερήχους: Αυτή τη φορά σας παρουσιάζω ένα σύστημα πρόσβασης με υπερήχους, νομίζω ότι θα μπορούσε να είναι ενδιαφέρον. Βασίζεται σε υπερηχητικά κύματα, επομένως είναι ένα σύστημα επαφής χωρίς επαφή που δεν χρειάζεται καμία άλλη ηλεκτρονική συσκευή, αλλά οποιοδήποτε αντικείμενο ακόμη και τα χέρια σας να προσπαθήσω να
Ρομπότ επιλογής και τοποθέτησης βάσει RFID: 4 βήματα
Robot Pick and Place Robot: Από πολλά χρόνια οι άνθρωποι προσπαθούν να αντικαταστήσουν την ανθρώπινη εργασία με μηχανές. Τα μηχανήματα που ονομάζονται ρομπότ είναι πιο γρήγορα και πιο αποτελεσματικά από τους ανθρώπους. Ο όρος ρομποτική ορίζεται πρακτικά ως η μελέτη, ο σχεδιασμός και η χρήση συστημάτων ρομπότ για την κατασκευή. Τα ρομπότ είναι
Προσαρμογέας τοποθέτησης Proto Board: 3 βήματα (με εικόνες)
Προσαρμογέας τοποθέτησης Proto Board: Η πρώτη φωτογραφία δείχνει ένα πρωτότυπο PCB Solderless Breadboard MB-102, 830 σημείων. Αυτά είναι κοινά και φθηνά (ελέγξτε το Ebay). Υπάρχουν τόσο μικρότερα όσο και μεγαλύτερα μεγέθη. Εάν είναι επιθυμητό, μπορούν εύκολα να συνδεθούν μεταξύ τους για να δημιουργήσουν μεγαλύτερες περιοχές πρωτοτύπων
Πλήρες αντικλεπτικό σύστημα οχήματος GPS+GPRS με βάση το Arduino: 5 βήματα (με εικόνες)
Πλήρες αντικλεπτικό σύστημα οχήματος GPS+GPRS με βάση το Arduino: Γεια σε όλους! Wantedθελα να δημιουργήσω μια ολοκληρωμένη λύση για αντικλεπτική συσκευή οχήματος GPS, η οποία θα ήταν: όσο το δυνατόν πιο φθηνή όσο το δυνατόν πληρέστερη -δεν υπάρχει-τίποτα-άλλο-όσο το δυνατόν περισσότερο