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

Ποσοστό δειγματοληψίας/Aliasing Instructable: 8 βήματα (με εικόνες)
Ποσοστό δειγματοληψίας/Aliasing Instructable: 8 βήματα (με εικόνες)

Βίντεο: Ποσοστό δειγματοληψίας/Aliasing Instructable: 8 βήματα (με εικόνες)

Βίντεο: Ποσοστό δειγματοληψίας/Aliasing Instructable: 8 βήματα (με εικόνες)
Βίντεο: ΑΝΑΛΟΓΟΨΗΦΙΑΚΗ ΜΕΤΑΤΡΟΠΗ - ΔΕΙΓΜΑΤΟΛΗΨΙΑ ΜΕΡΟΣ Α 2024, Ιούλιος
Anonim
Ποσοστό δειγματοληψίας/Aliasing Instructable
Ποσοστό δειγματοληψίας/Aliasing Instructable

Επιθυμώ να δημιουργήσω ένα εκπαιδευτικό έργο που να αποδεικνύει το ψευδώνυμο (και τα ποσοστά δειγμάτων) και προορίζεται να τοποθετηθεί σε έναν ιστότοπο ως πηγή για μαθητές που μαθαίνουν για την ψευδαίσθηση.

Βήμα 1: Διάταξη Ciruit

Ciruit Layout
Ciruit Layout
Ciruit Layout
Ciruit Layout

Arduino

Το Arduino είναι η βάση του κυκλώματος. υποστηρίζοντας τον σερβοκινητήρα (με τοποθετημένο τροχό κωδικοποιητή) και τον τοποθετημένο αισθητήρα εφέ αίθουσας.

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

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

---------------------------------------------------------------------------------------------------------

Υποβήματα:

  1. Προμηθευτείτε υλικά:

    Arduino (+ σανίδα ψωμιού), σύρματα, τροχός κωδικοποίησης, μαγνήτης, αισθητήρας εφέ αίθουσας, σερβοκινητήρας, εφαρμογή Matlab, εφαρμογή Arduino

  2. Κόψτε τον τροχό κωδικοποιητή, τοποθετήστε τον σερβο, σπρώξτε τον μαγνήτη στην υποδοχή.
  3. Συνδέστε τον αισθητήρα εφέ αίθουσας κάτω από τη διαδρομή του μαγνήτη (ενδέχεται να απαιτούνται επεκτάσεις σύρματος του αισθητήρα).
  4. Κύκλωμα κατασκευής.

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

Κωδικός Arduino
Κωδικός Arduino

Μέθοδος συλλογής δεδομένων

Ο κώδικας Arduino χρησιμοποιεί [Γραμμή 41] για τη συλλογή πληροφοριών, μέσω της θύρας 'Analog In' A0, από τον αισθητήρα εφέ αίθουσας

Μέθοδος μετάδοσης σειριακών δεδομένων

  • [Γραμμή 43] Εμφανίζει στη σειριακή οθόνη μια μεταβλητή «χρονόμετρο» που υλοποιεί τη συνάρτηση «millis ()» για να διατηρεί ένα χρονόμετρο σε λειτουργία σε χιλιοστά του δευτερολέπτου για τη διάρκεια του προγράμματος.
  • [Γραμμή 45] Εμφανίζει στη σειριακή οθόνη μια μεταβλητή 'αισθητήρας' που εφαρμόζει το 'analogRead' για να λάβει πληροφορίες από τον αισθητήρα εφέ αίθουσας κατά την εκτέλεση του προγράμματος.

Σκοπός της παραμέτρου καθυστέρησης ()

Ο σκοπός της παραμέτρου καθυστέρησης () είναι να διαφοροποιήσει το χρόνο απόκρισης της συλλογής δεδομένων που λαμβάνεται από τον αισθητήρα εφέ αίθουσας

---------------------------------------------------------------------------------------------------------

Υποβήματα:

Εισαγάγετε κώδικα Arduino στην εφαρμογή Arduino

Βήμα 3: Κώδικας Matlab (Αρχείο HallRT)

Κώδικας Matlab (Αρχείο HallRT)
Κώδικας Matlab (Αρχείο HallRT)
Κώδικας Matlab (Αρχείο HallRT)
Κώδικας Matlab (Αρχείο HallRT)
Κώδικας Matlab (Αρχείο HallRT)
Κώδικας Matlab (Αρχείο HallRT)
Κώδικας Matlab (Αρχείο HallRT)
Κώδικας Matlab (Αρχείο HallRT)

-Μέθοδος λήψης δεδομένων - [Εικόνα 3: Γραμμή 77]

Λήψη δεδομένων από το ArduinoStep

---------------------------------------------------------------------------------------------------------

Υποβήματα:

Ο κωδικός εισαγωγής Matlab είναι πάνω από τα στοιχεία, εκτός από το αρχείο HallRT

Βήμα 4: Κώδικας Matlab (thresh_analyze)

Κώδικας Matlab (thresh_analyze)
Κώδικας Matlab (thresh_analyze)
Κώδικας Matlab (thresh_analyze)
Κώδικας Matlab (thresh_analyze)

Μέθοδος καταμέτρησης κορυφών [Εικόνα 2: Γραμμές 45-53]

  • Η χρήση της σημαίας σε αυτόν τον κώδικα Matlab είναι έτσι ώστε μόλις ο βρόχος for σκοντάψει σε ένα 'aRval' που είναι μεγαλύτερο από τον προκαθορισμένο αριθμό 'thresh' ο αριθμός θα αυξηθεί κατά ένα, η κορυφή θα σημειωθεί με αστερίσκους και η δήλωση if [Γραμμή 45-50] θα σπάσει επειδή σημαία = 1. Η δεύτερη δήλωση if με σημαία [Γραμμή 51-53] υποδηλώνει ότι μόλις επιτευχθεί η κορυφή και οι τιμές αρχίσουν να μειώνονται γύρω από την κορυφή, τότε σημαία = 0 και ο βρόχος for συνεχίζει να αναζητά περισσότερες κορυφές.
  • Παράμετροι/Απαραίτητες τιμές:

    • 'aRval': Τα δεδομένα που συλλέχθηκαν από μια δοκιμαστική εκτέλεση.
    • 'thresh': Επιλεγμένη τιμή για να υποδεικνύει οτιδήποτε πάνω από αυτό σε aRval ως κορυφή.

---------------------------------------------------------------------------------------------------------

Υποβήματα:

Δημιουργήστε ένα δεύτερο αρχείο Matlab "thresh_analyze"

Βήμα 5: Δοκιμή 1: Χωρίς ψευδαισθήσεις

Δοκιμή 1: Χωρίς ψευδαισθήσεις
Δοκιμή 1: Χωρίς ψευδαισθήσεις
Δοκιμή 1: Χωρίς ψευδαισθήσεις
Δοκιμή 1: Χωρίς ψευδαισθήσεις

Εικόνα 1: Δοκιμή δεδομένων @ Καθυστέρηση 200 Εικόνα 2: Ανάλυση αναλυμένων δεδομένων

-Παράμετρος καθυστέρησης: 200

Κορυφές:

Μέτρηση = 45

-Αριθμός επαναστάσεων ανά λεπτό:

45 Επαναστάσεις/Λεπτό

---------------------------------------------------------------------------------------------------------

Υποβήματα:

  1. Συνδέστε το Arduino στο φορητό υπολογιστή σας.

    Ορίστε την καθυστέρηση στον κωδικό Arduino σε "200". Πατήστε Αποστολή (στην επάνω αριστερή γωνία της εφαρμογής)

  2. Μεταβείτε στο αρχείο Matlab HallRT [Γραμμή 37] και αλλάξτε τη μεταβλητή 'delayTime' σε 200.
  3. Εκτελέστε το πρόγραμμα HallRT.
  4. Αποθηκεύστε το αρχείο Matlab στην ενότητα "delay_200". (Αποθήκευση σχήματος)
  5. Φορτώστε το αρχείο delay_200.mat.
  6. Εκτελέστε το πρόγραμμα thresh_analyze. (Αποθήκευση σχήματος)

Βήμα 6: Δοκιμή 2: asingευδοψία αισθητήρα (i)

Trial 2: Aliasing of Sensor (i)
Trial 2: Aliasing of Sensor (i)
Trial 2: Aliasing of Sensor (i)
Trial 2: Aliasing of Sensor (i)

Εικόνα 1: Δοκιμή δεδομένων @ Καθυστέρηση 50

Εικόνα 2: Ανάλυση αναλυτικών δεδομένων

Παράμετρος καθυστέρησης: 50-Peaks:

Καταμέτρηση = 52

Αριθμός επαναστάσεων ανά λεπτό:

52 Επαναστάσεις/Λεπτό

---------------------------------------------------------------------------------------------------------

Υποβήματα:

  1. Συνδέστε το Arduino στο φορητό υπολογιστή σας.

    Ορίστε την καθυστέρηση στον κωδικό Arduino σε "50". Πατήστε Αποστολή (στην επάνω αριστερή γωνία της εφαρμογής)

  2. Μεταβείτε στο αρχείο Matlab HallRT [Γραμμή 37] και αλλάξτε τη μεταβλητή 'delayTime' σε 50.
  3. Εκτελέστε το πρόγραμμα HallRT.
  4. Αποθηκεύστε το αρχείο Matlab στην ενότητα "delay_50". (Αποθήκευση σχήματος)
  5. Φορτώστε το αρχείο delay_50.mat.
  6. Εκτελέστε το πρόγραμμα thresh_analyze. (Αποθήκευση σχήματος)

Βήμα 7: Δοκιμή 3: asingευδοψία αισθητήρα (ii)

Trial 3: Aliasing of Sensor (ii)
Trial 3: Aliasing of Sensor (ii)
Trial 3: Aliasing of Sensor (ii)
Trial 3: Aliasing of Sensor (ii)

Εικόνα 1: Δοκιμή δεδομένων @ Καθυστέρηση 100 Εικόνα 2: Ανάλυση αναλυμένων δεδομένων

Παράμετρος καθυστέρησης: 100-Peaks:

Καταμέτρηση = 54

Αριθμός επαναστάσεων ανά λεπτό:

54 Επαναστάσεις/Λεπτό

---------------------------------------------------- ------------------------------------------------------ ------- Υποβήματα:

  1. Συνδέστε το Arduino στο φορητό υπολογιστή σας.

    Ορίστε την καθυστέρηση στον κωδικό Arduino σε "100". Πατήστε Αποστολή (στην επάνω αριστερή γωνία της εφαρμογής). '

  2. Μεταβείτε στο αρχείο Matlab HallRT [Γραμμή 37] και αλλάξτε τη μεταβλητή 'delayTime' σε 100.
  3. Εκτελέστε το πρόγραμμα HallRT.
  4. Αποθηκεύστε το αρχείο Matlab στην ενότητα "delay_100". (Αποθήκευση σχήματος)
  5. Φορτώστε το αρχείο delay_100.mat.
  6. Εκτελέστε το πρόγραμμα thresh_analyze. (Αποθήκευση σχήματος)

Βήμα 8: Δοκιμή 4: asingευδοπάθεια αισθητήρα (iii)

Trial 4: Aliasing of Sensor (iii)
Trial 4: Aliasing of Sensor (iii)
Trial 4: Aliasing of Sensor (iii)
Trial 4: Aliasing of Sensor (iii)

Εικόνα 1: Δοκιμή δεδομένων @ Καθυστέρηση 300 Εικόνα 2: Ανάλυση αναλυμένων δεδομένων

-Παράμετρος καθυστέρησης: 300

Κορυφές:

Καταμέτρηση = 32

Αριθμός επαναστάσεων ανά λεπτό:

32 επαναστάσεις/λεπτό

------------------------------------------------------ ------------------------------------------------------ ------- Υποβήματα:

  1. Συνδέστε το Arduino στο φορητό υπολογιστή σας.

    Ορίστε την καθυστέρηση στον κωδικό Arduino σε "300". Πατήστε Αποστολή (στην επάνω αριστερή γωνία της εφαρμογής)

  2. Μεταβείτε στο αρχείο Matlab HallRT [Γραμμή 37] και αλλάξτε τη μεταβλητή 'delayTime' σε 300.
  3. Εκτελέστε το πρόγραμμα HallRT.
  4. Αποθηκεύστε το αρχείο Matlab στην ενότητα "delay_300". (Αποθήκευση σχήματος)
  5. Φορτώστε το αρχείο delay_300.mat.
  6. Εκτελέστε το πρόγραμμα thresh_analyze. (Αποθήκευση σχήματος)

Συνιστάται: