Πίνακας περιεχομένων:
- Προμήθειες
- Βήμα 1: Υπερηχητικός αισθητήρας υπερύθρων VS
- Βήμα 2: Σχηματικό
- Βήμα 3: Χαρακτηριστικό αισθητήρα
- Βήμα 4: Σειριακή επικοινωνία
- Βήμα 5: Εφαρμογή Qt
- Βήμα 6: Πηγαίος κώδικας Arduino
Βίντεο: Υπέρυθρο ραντάρ με Arduino: 6 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:32
Σε αυτό το μικρό έργο θα ήθελα να σας δείξω πώς μπορείτε να δημιουργήσετε ένα απλό ραντάρ στο σπίτι με το Arduino. Υπάρχουν πολλά παρόμοια έργα στο διαδίκτυο, αλλά όλα χρησιμοποιούν έναν αισθητήρα υπερήχων για να μετρήσουν την απόσταση. Σε αυτό το έργο χρησιμοποιώ έναν υπέρυθρο αισθητήρα για μέτρηση απόστασης.
Ο στόχος μου είναι να δημιουργήσω ένα πολύ απλό και φθηνό σύστημα LIDAR με αυτό και να εφαρμόσω μια συσκευή χαρτογράφησης.
Προμήθειες
- Arduino (χρησιμοποίησα Maple Mini)
- Αισθητήρας αιχμηρής απόστασης (χρησιμοποίησα Sharp GP2Y0A02YK0F)
- Micro Servo (9g)
- Breadboard, σύρματα
- Προαιρετικά: Αντίσταση 4,7k, Πυκνωτής 100nF
Βήμα 1: Υπερηχητικός αισθητήρας υπερύθρων VS
Η κύρια διαφορά μεταξύ υπερηχητικών και υπέρυθρων αισθητήρων απόστασης είναι ότι ο αισθητήρας υπερήχων μετρά την απόσταση σε ευρύτερο εύρος. Επομένως, δεν είναι σε θέση να εντοπίσει με ακρίβεια τη θέση ενός εμποδίου. Σημαίνει ότι μετρά την απόσταση του πλησιέστερου αντικειμένου που βρίσκεται μέσα σε εύρος γωνίας ~ +-30 °.
Φυσικά, δεν σημαίνει ότι ο αισθητήρας Sharp είναι καλύτερος. Μερικές φορές αυτή η ιδιότητα μπορεί να είναι πολύ χρήσιμη (π.χ. χρησιμοποιείται από drones για τη μέτρηση του ύψους από το έδαφος). Η σωστή επιλογή εξαρτάται πλήρως από τις απαιτήσεις του έργου σας.
Βήμα 2: Σχηματικό
Είναι πολύ απλό να κάνετε τη σύνδεση μεταξύ των τμημάτων. Επιλέξτε μια έξοδο PWM και μια αναλογική είσοδο στον πίνακα Arduino και συνδέστε τους αισθητήρες απόστασης Servo και Sharp σε αυτές τις ακίδες. Χρησιμοποίησα τις ακόλουθες καρφίτσες για το σκοπό αυτό:
- PA0: Αναλογική είσοδος για αισθητήρα απόστασης ευκρίνειας
- PA9: Έξοδος PWM για Servo
Μερικές φορές ο αισθητήρας Sharp IR μπορεί να έχει θορυβώδη έξοδο, επομένως πρέπει να βάλετε ένα απλό φίλτρο Low Pass πάνω του. Χρησιμοποίησα μια αντίσταση 4,7k και έναν πυκνωτή 100nF για να μειώσω τον θόρυβο στην αναλογική ακίδα. Επιπλέον, φιλτράρισα επίσης τη μετρημένη τιμή στον κώδικα διαβάζοντας τον πολλές φορές και υπολογίζοντας τον μέσο όρο.
Βήμα 3: Χαρακτηριστικό αισθητήρα
Δυστυχώς, ο χρησιμοποιούμενος αισθητήρας υπέρυθρης απόστασης έχει μη γραμμικό χαρακτηριστικό. Αυτό σημαίνει ότι για να λάβετε την απόσταση, δεν αρκεί να πολλαπλασιάσετε τη μετρημένη τιμή ADC με μια σταθερή τιμή και να προσθέσετε μια άλλη σταθερή τιμή σε αυτήν.
Παρόλο που το φύλλο δεδομένων του αισθητήρα παρέχει το χαρακτηριστικό, προτιμώ να το μετρήσω μόνος μου στο συγκεκριμένο έργο (θα μπορούσε να εξαρτηθεί από τη χρησιμοποιούμενη τάση). Για αυτό, έφτιαξα ζεύγη από τη μετρούμενη τιμή ADC και απόσταση για κάθε 10 cm. (Ο αισθητήρας μου μπόρεσε να μετρήσει τη σωστή απόσταση από 12 cm).
Χρησιμοποίησα αυτά τα ζεύγη στον κώδικα για να πάρω τη σωστή απόσταση με τη Γραμμική παρεμβολή.
Θα βρείτε έναν απλό κώδικα Arduino στο τέλος του εγγράφου, για να μετρήσετε την τιμή ADC κατά τη χαρακτηριστική μέτρηση.
Βήμα 4: Σειριακή επικοινωνία
Χρησιμοποίησα σειριακή επικοινωνία για να στείλω τις μετρημένες τιμές γωνίας-απόστασης στον υπολογιστή. Δεδομένου ότι πρέπει να στείλω πολλαπλά byte και διαφορετικό τύπο μηνυμάτων, σχεδίασα ένα απλό πρωτόκολλο επικοινωνίας.
Αυτή η προκοτόλη καθιστά δυνατή την οριοθέτηση διαφορετικών τύπων μηνυμάτων με γενικό τρόπο. Σε αυτό το έργο χρησιμοποίησα 2 τύπους μηνυμάτων:
- Παράμετροι: Χρησιμοποιούνται για την αποστολή παραμέτρων στην εφαρμογή PC, που ορίζονται στο Arduino, όπως η μέγιστη απόσταση και ο αριθμός των εμποδίων σε έναν γύρο.
- Εμπόδιο: Χρησιμοποιείται για την αποστολή εντοπισμένου εμποδίου. Προσδιορίζεται από τη γωνία του σερβο και τη μετρούμενη απόσταση. Η θέση x-y θα υπολογιστεί με εφαρμογή υπολογιστή.
Βήμα 5: Εφαρμογή Qt
Για να επικοινωνήσω με το Arduino και να σχεδιάσω τα μετρημένα σημεία σαν ραντάρ, έκανα μια εφαρμογή υπολογιστή σε Qt (C ++). Λαμβάνει ορισμένες παραμέτρους (ορίζονται στο Arduino) και τα μετρημένα σημεία απόστασης.
Μπορείτε επίσης να κατεβάσετε την εφαρμογή και τον πηγαίο κώδικα της.
Βήμα 6: Πηγαίος κώδικας Arduino
Μπορείτε να προσαρμόσετε ορισμένα παράμετρα στο επάνω μέρος του κώδικα με μακροεντολές.
Σημειώστε ότι εάν αλλάξετε το χαρακτηριστικό του αισθητήρα απόστασης Sharp, πρέπει να τροποποιήσετε τις τιμές του πίνακα distAdcMap !
- InfraRadar.c: Κώδικας ραντάρ. Αντιγράψτε και επικολλήστε το στο έργο σας Arduino.
- InfraRadarMeasurement.c: Κωδικός για χαρακτηριστική μέτρηση. Αντιγράψτε και επικολλήστε το στο έργο σας Arduino. Χρησιμοποιήστε Serial Console για να ελέγξετε τις τιμές ADC.
Συνιστάται:
Υπέρυθρο θερμόμετρο λέιζερ Arduino: 7 βήματα (με εικόνες)
Υπέρυθρο θερμόμετρο λέιζερ Arduino: Σε αυτό το έργο θα σας δείξω πώς να φτιάξετε ένα ψηφιακό θερμόμετρο υπέρυθρης ακτινοβολίας λέιζερ με προσαρμοσμένο περίβλημα 3D εκτύπωσης
Ραντάρ ανίχνευσης εχθρού Arduino: 3 βήματα
Ραντάρ ανίχνευσης εχθρού Arduino: Σε αυτό το έργο, θα σας δείξω πώς να φτιάξετε ένα ραντάρ ανίχνευσης εχθρού για να αποκρούσετε τη βάση του σπιτιού σας. Η διαδικασία είναι πολύ απλή, απλώς ακολουθήστε το βήμα μου και ο γείτονάς σας δεν θα σας κλέψει ποτέ ξανά τα φρούτα μόλις εγκαταστήσετε αυτήν τη συσκευή
(EX) Ραντάρ εντοπισμού εχθρού Arduino: 3 βήματα
(EX) Arduino Enemy-Detecting Radar: Σε αυτό το έργο, θα σας δείξω πώς να φτιάξετε ένα ραντάρ ανίχνευσης εχθρού για να αποκρούσετε τη βάση του σπιτιού σας. Η διαδικασία είναι πολύ απλή, απλώς ακολουθήστε το βήμα μου και ο γείτονάς σας δεν θα σας κλέψει ποτέ ξανά τα φρούτα μόλις εγκαταστήσετε αυτήν τη συσκευή! Αυτό το έργο προέλευσης
Υπέρυθρο θερμόμετρο μη επαφής με βάση το Arduino - Θερμόμετρο IR με χρήση Arduino: 4 βήματα
Υπέρυθρο θερμόμετρο μη επαφής με βάση το Arduino | Θερμόμετρο με βάση το IR χρησιμοποιώντας Arduino: Γεια σας παιδιά σε αυτά τα εκπαιδευτικά θα κάνουμε ένα θερμόμετρο χωρίς επαφή χρησιμοποιώντας arduino. Δεδομένου ότι μερικές φορές η θερμοκρασία του υγρού/στερεού είναι πολύ υψηλή ή πολύ χαμηλή και στη συνέχεια είναι δύσκολο να έρθετε σε επαφή με αυτό και να το διαβάσετε θερμοκρασία τότε σε αυτό το σκηνικό
Πώς να φτιάξετε ένα ραντάρ με το Arduino - Arduino Project: 4 Βήματα
Πώς να φτιάξετε ένα ραντάρ με το Arduino | Arduino Project: Σε αυτό το άρθρο θα σας διδάξω πώς μπορείτε να φτιάξετε ένα απλό ραντάρ με arduino. Παρακολουθήστε ένα πλήρες σεμινάριο βίντεο εδώ: Κάντε κλικ σε εμένα