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

Συντριβάνι χορού: Arduino με αναλυτή φάσματος MSGEQ7: 8 βήματα
Συντριβάνι χορού: Arduino με αναλυτή φάσματος MSGEQ7: 8 βήματα

Βίντεο: Συντριβάνι χορού: Arduino με αναλυτή φάσματος MSGEQ7: 8 βήματα

Βίντεο: Συντριβάνι χορού: Arduino με αναλυτή φάσματος MSGEQ7: 8 βήματα
Βίντεο: Κεραμικό συντριβάνι εξωτερικού χώρου Βράχος με φωτισμό 2024, Ιούλιος
Anonim
Συντριβάνι χορού: Arduino με αναλυτή φάσματος MSGEQ7
Συντριβάνι χορού: Arduino με αναλυτή φάσματος MSGEQ7

Η λήψη ενός ηχητικού σήματος και η μετατροπή του σε οπτική ή μηχανική αντίδραση είναι πολύ ενδιαφέρουσα. Σε αυτό το έργο θα χρησιμοποιήσουμε ένα Arduino Mega για σύνδεση με έναν αναλυτή φάσματος MSGEQ7 που λαμβάνει το σήμα εισόδου ήχου και θα εκτελέσει φιλτράρισμα ζώνης σε αυτό για να το χωρίσει σε 7 κύριες ζώνες συχνοτήτων. Στη συνέχεια, το Arduino θα αναλύσει το αναλογικό σήμα κάθε ζώνης συχνοτήτων και θα δημιουργήσει μια ενέργεια.

Βήμα 1: Στόχοι του Έργου

Αυτό το έργο θα συζητήσει 3 τρόπους λειτουργίας:

  1. Οι λυχνίες LED συνδέονται με τις ψηφιακές ακίδες PWM για να αντιδρούν στις ζώνες συχνοτήτων
  2. Οι λυχνίες LED συνδέονται με ψηφιακές ακίδες για να αντιδρούν στις ζώνες συχνοτήτων
  3. Οι αντλίες συνδέονται με το Arduino Mega μέσω προγραμμάτων οδήγησης Motor και αντιδρούν στις ζώνες συχνοτήτων

Βήμα 2: Θεωρία

Θεωρία
Θεωρία
Θεωρία
Θεωρία

Αν μιλάμε για το MSGEQ7 Spectrum Analyzer IC, μπορούμε να πούμε ότι διαθέτει εσωτερικά φίλτρα διέλευσης 7 ζωνών που χωρίζουν το σήμα εισόδου ήχου σε 7 κύριες ζώνες: 63 Hz, 160 Hz, 400 Hz, 1 kHz, 2,5 kHz, 6,25 kHz και 16 kHz.

Η έξοδος κάθε φίλτρου επιλέγεται ως έξοδος του IC χρησιμοποιώντας έναν πολυπλέκτη. Αυτός ο πολυπλέκτης διαθέτει γραμμές επιλογής που ελέγχονται από έναν εσωτερικό δυαδικό μετρητή. Μπορούμε λοιπόν να πούμε ότι ο μετρητής πρέπει να μετράει από 0 έως 6 (000 έως 110 σε δυαδικό) για να επιτρέπει να περνάει μία ζώνη κάθε φορά. Αυτό καθιστά σαφές ότι ο κωδικός του Arduino θα πρέπει να μπορεί να επαναφέρει τον μετρητή μόλις φτάσει στον αριθμό 7.

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

Βήμα 3: Διαδικασίες

Διαδικασίες
Διαδικασίες

Σύμφωνα με την πηγαία σελίδα (https://www.baldengineer.com/msgeq7-simple-spectrum-analyzer.html) μπορούμε να δούμε ότι ο πηγαίος κώδικας ασχολείται με τις εξόδους ως σήματα PWM που είναι επαναλαμβανόμενα. μπορούμε να αλλάξουμε μερικές από τις γραμμές κώδικα για να ταιριάζουν στους στόχους μας.

Μπορούμε να παρατηρήσουμε ότι εάν έχουμε στερεοφωνική υποδοχή, μπορούμε να διπλασιάσουμε την αντίσταση εισόδου και τον πυκνωτή στο δεύτερο κανάλι. Τροφοδοτούμε το MSGEQ7 από το Arduino VCC (5 βολτ) και το GND. Θα συνδέσουμε το MSGEQ7 στον πίνακα Arduino. Προτιμώ να χρησιμοποιώ το Arduino Mega καθώς διαθέτει καρφίτσες PWM κατάλληλες για το έργο. Η έξοδος του MSGEQ7 IC συνδέεται με τον αναλογικό πείρο A0, το STROBE συνδέεται με τον ακροδέκτη 2 του Arduino Mega και το RESET συνδέεται με τον ακροδέκτη 3.

Βήμα 4: Τρόποι λειτουργίας: 1- LED ως ψηφιακές έξοδοι PWM

Τρόποι λειτουργίας: 1- LED ως ψηφιακές έξοδοι PWM
Τρόποι λειτουργίας: 1- LED ως ψηφιακές έξοδοι PWM

Σύμφωνα με τον πηγαίο κώδικα, μπορούμε να συνδέσουμε τις λυχνίες LED εξόδου στις ακίδες 4 έως 10

const int LED_pins [7] = {4, 5, 6, 7, 8, 9, 10};

Στη συνέχεια, μπορούμε να παρατηρήσουμε ότι τα LED χορεύουν με τη δύναμη κάθε ζώνης συχνοτήτων.

Βήμα 5: Τρόποι λειτουργίας: 2- LED ως ψηφιακές έξοδοι

Image
Image
Τρόποι λειτουργίας: 3- Αντλίες ως ψηφιακές εξόδους
Τρόποι λειτουργίας: 3- Αντλίες ως ψηφιακές εξόδους

Μπορούμε να συνδέσουμε τα LED εξόδου σε οποιαδήποτε ψηφιακή ακίδα.

const int LED_pins [7] = {40, 42, 44, 46, 48, 50, 52};

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

Βήμα 6: Τρόποι λειτουργίας: 3- Αντλίες ως ψηφιακές εξόδους

Τρόποι λειτουργίας: 3- Αντλίες ως ψηφιακές εξόδους
Τρόποι λειτουργίας: 3- Αντλίες ως ψηφιακές εξόδους

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

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

Εάν εκτελέσουμε τον κώδικα ως πρώτη πηγή, οι αντλίες ενδέχεται να μην λειτουργούν σωστά. Αυτό συμβαίνει επειδή το σήμα PWM είναι χαμηλό και δεν είναι κατάλληλο για τον οδηγό του κινητήρα να λειτουργεί τους κινητήρες ή τις αντλίες και να παρέχει κατάλληλο ρεύμα. Αυτός είναι ο λόγος για τον οποίο συνιστώ να αυξήσετε την τιμή PWM πολλαπλασιάζοντας τις αναλογικές ενδείξεις από το A0 με συντελεστή μεγαλύτερο από 1,3. Αυτό βοηθά την αντιστοίχιση να είναι κατάλληλη για τον οδηγό του κινητήρα. Προτείνω 1,4 έως 1,6. Επίσης, μπορούμε να επανατοποθετήσουμε το PWM σε 50 έως 255 για να είμαστε σίγουροι ότι η τιμή PWM θα είναι κατάλληλη.

Μπορούμε να συνδέσουμε τα LED μαζί με τις εξόδους για τους οδηγούς κινητήρα, αλλά τα LED δεν θα αναβοσβήνουν με καλό ορατό τρόπο όπως πριν, καθώς οι τιμές PWM έχουν αυξηθεί. Επομένως, προτείνω να διατηρούνται συνδεδεμένοι με τις ψηφιακές ακίδες 40 έως 52.

Βήμα 7: Επαφές

Χαίρομαι που ακούω σχόλια από εσάς. Μην διστάσετε να συμμετάσχετε στα κανάλια μου στα εξής:

YouTube:

Instagram: @simpledigital010

Twitter: @απλά01Digital

Συνιστάται: