Σε αυτό το έργο πρόκειται να φτιάξουμε το κύκλωμα Clapper χρησιμοποιώντας την έννοια του ADC (Αναλογική σε ψηφιακή μετατροπή) στο ARDUINO UNO. Θα χρησιμοποιήσουμε ένα MIC και Uno για να αισθανθούμε τον ήχο και να προκαλέσουμε μια απάντηση. Αυτός ο διακόπτης Clap ON Clap OFF ενεργοποιεί ή απενεργοποιεί βασικά τη συσκευή, χρησιμοποιώντας τον ήχο χειροκρότημα, ως διακόπτη. Έχουμε δημιουργήσει προηγουμένως διακόπτη Clap και Clap ON Clap OFF διακόπτη, χρησιμοποιώντας 555 Timer IC.
Κατά το χειροκρότημα θα υπάρχει ένα σήμα κορυφής στο MIC που είναι πολύ υψηλότερο από το κανονικό, αυτό το σήμα τροφοδοτείται στον ενισχυτή, αν και ένα φίλτρο High Pass. Αυτό το σήμα ενισχυμένης τάσης τροφοδοτείται στο ADC, το οποίο μετατρέπει αυτήν την υψηλή τάση σε αριθμό. Έτσι, θα υπάρξει μια κορυφή στην ανάγνωση ADC του UNO. Σε αυτήν την ανίχνευση κορυφής θα αλλάζουμε ένα LED στον πίνακα, σε κάθε χειροκρότημα. Αυτό το έργο εξηγείται λεπτομερώς παρακάτω.
Το MIC ή το μικρόφωνο είναι ένας μετατροπέας ανίχνευσης ήχου, ο οποίος βασικά μετατρέπει την ηχητική ενέργεια σε ηλεκτρική ενέργεια, οπότε με αυτόν τον αισθητήρα έχουμε ήχο ως μεταβαλλόμενη τάση. Συνήθως καταγράφουμε ή αισθανόμαστε ήχο μέσω αυτής της συσκευής. Αυτός ο μορφοτροπέας χρησιμοποιείται σε όλα τα κινητά τηλέφωνα και φορητούς υπολογιστές. Ένα τυπικό MIC μοιάζει,
Προσδιορισμός της πολικότητας του συμπυκνωτή μικροφώνου:
Το MIC έχει δύο τερματικά το ένα είναι θετικό και το άλλο αρνητικό. Η πολικότητα του μικροφώνου μπορεί να βρεθεί χρησιμοποιώντας ένα Multi-Meter. Πάρτε το θετικό καθετήρα του Multi-Meter (βάλτε το μετρητή σε λειτουργία ΔΙΑΔΡΟΜΗΣ ΔΟΚΙΜΗΣ) και συνδέστε το σε έναν ακροδέκτη MIC και τον αρνητικό αισθητήρα στον άλλο ακροδέκτη του MIC Εάν εμφανιστεί η ένδειξη στην οθόνη, τότε το τερματικό του θετικού (MIC) βρίσκεται στο αρνητικό τερματικό του Multi-Meter. Ή μπορείτε απλά να βρείτε τους ακροδέκτες κοιτάζοντας το, ο αρνητικός ακροδέκτης έχει δύο ή τρεις γραμμές συγκόλλησης, συνδεδεμένες στη μεταλλική θήκη του μικροφώνου. Αυτή η συνδεσιμότητα, από αρνητικό τερματικό έως μεταλλική θήκη μπορεί επίσης να δοκιμαστεί χρησιμοποιώντας συνέχεια δοκιμαστή, για να μάθετε το αρνητικό τερματικό.
Απαιτούμενα στοιχεία:
Υλικό:
ARDUINO UNO, τροφοδοτικό (5v), μικρόφωνο συμπυκνωτή (εξηγείται παραπάνω)
Τρανζίστορ 2N3904 NPN,
Πυκνωτές 100nF (2 τεμάχια), ένας πυκνωτής 100uF,
1K Ω αντίσταση, 1MΩ αντίσταση, 15KΩ αντίσταση (2 τεμάχια), ένα LED,
Και καλώδια Breadboard & Connecting.
Λογισμικό: Arduino IDE - Arduino nightly.
Διάγραμμα κυκλώματος και εξήγηση εργασίας:
Το διάγραμμα κυκλώματος του κυκλώματος clapper φαίνεται στο παρακάτω σχήμα:
Διαχωρίσαμε την εργασία σε τέσσερα μέρη, δηλαδή: Φιλτράρισμα, Ενίσχυση, Αναλογική-ψηφιακή μετατροπή και προγραμματισμός για εναλλαγή των LED
Όποτε υπάρχει ήχος, το MIC τον παίρνει και τον μετατρέπει σε τάση, γραμμικό με το μέγεθος του ήχου. Έτσι για έναν υψηλότερο ήχο έχουμε υψηλότερη τιμή και για χαμηλότερο ήχο έχουμε χαμηλότερη τιμή. Αυτή η τιμή τροφοδοτείται πρώτα στο φίλτρο High Pass για φιλτράρισμα. Στη συνέχεια, αυτή η φιλτραρισμένη τιμή τροφοδοτείται στο τρανζίστορ για ενίσχυση και το τρανζίστορ παρέχει την ενισχυμένη έξοδο στον συλλέκτη. Αυτό το σήμα συλλέκτη τροφοδοτείται στο κανάλι ADC0 του UNO, για μετατροπή σε αναλογικό σε ψηφιακό. Τέλος, το Arduino είναι προγραμματισμένο να αλλάζει το LED, συνδεδεμένο στο PIN 7 του PORTD, κάθε φορά που το κανάλι ADC Α0 υπερβαίνει ένα συγκεκριμένο επίπεδο.
1. Διήθηση:
Πρώτα απ 'όλα θα μιλήσουμε εν συντομία για το RC High Pass Filter, το οποίο έχει χρησιμοποιηθεί για να φιλτράρει τους θορύβους. Είναι εύκολο να σχεδιαστεί και αποτελείται από μία αντίσταση και έναν πυκνωτή. Για αυτό το κύκλωμα δεν χρειαζόμαστε πολλές λεπτομέρειες, οπότε θα το κρατήσουμε απλό. Ένα φίλτρο υψηλής διέλευσης επιτρέπει σήματα διέλευσης υψηλής συχνότητας από είσοδο σε έξοδο, με άλλα λόγια το σήμα εισόδου εμφανίζεται στην έξοδο εάν η συχνότητα του σήματος είναι υψηλότερη από την προδιαγραφόμενη συχνότητα φίλτρου. Προς το παρόν, δεν χρειάζεται να ανησυχούμε για αυτές τις τιμές, επειδή εδώ δεν σχεδιάζουμε ενισχυτή ήχου. Ένα κύκλωμα υψηλής διέλευσης εμφανίζεται στο κύκλωμα.
Μετά από αυτό το φίλτρο, το σήμα τάσης τροφοδοτείται στο τρανζίστορ για ενίσχυση.
2. Ενίσχυση:
Η τάση του MIC είναι πολύ χαμηλή και δεν μπορεί να τροφοδοτηθεί στο UNO για ADC (Αναλογική σε ψηφιακή μετατροπή), γι 'αυτό σχεδιάζουμε έναν απλό ενισχυτή χρησιμοποιώντας ένα τρανζίστορ. Εδώ έχουμε σχεδιάσει έναν μόνο ενισχυτή τρανζίστορ για την ενίσχυση των τάσεων MIC. Αυτό το ενισχυμένο σήμα τάσης τροφοδοτείται περαιτέρω στο κανάλι ADC0 του Arduino.
3. Αναλογική σε ψηφιακή μετατροπή:
Το ARDUINO διαθέτει 6 κανάλια ADC. Μεταξύ αυτών, οποιοδήποτε ή όλα αυτά μπορούν να χρησιμοποιηθούν ως είσοδοι για αναλογική τάση. Το UNO ADC έχει ανάλυση 10 bit (οπότε οι ακέραιες τιμές από (0- (2 ^ 10) 1023)). Αυτό σημαίνει ότι θα αντιστοιχίσει τις τάσεις εισόδου μεταξύ 0 και 5 βολτ σε ακέραιες τιμές μεταξύ 0 και 1023. Έτσι για κάθε (5/1024 = 4,9mV) ανά μονάδα.
Τώρα, για να μετατρέψει το αναλογικό σήμα σε ψηφιακό σήμα το UNO, πρέπει να χρησιμοποιήσουμε το κανάλι ADC του ARDUINO UNO, με τη βοήθεια των παρακάτω λειτουργιών:
1. analogRead (ακίδα) 2. analogReference ();
Τα κανάλια UNO ADC έχουν μια προεπιλεγμένη τιμή αναφοράς 5V. Αυτό σημαίνει ότι μπορούμε να δώσουμε μια μέγιστη τάση εισόδου 5V για μετατροπή ADC σε οποιοδήποτε κανάλι εισόδου. Δεδομένου ότι ορισμένοι αισθητήρες παρέχουν τάσεις από 0-2.5V, οπότε με μια αναφορά 5V, έχουμε μικρότερη ακρίβεια, επομένως έχουμε μια οδηγία που μας επιτρέπει να αλλάξουμε αυτήν την τιμή αναφοράς. Έτσι, για την αλλαγή της τιμής αναφοράς έχουμε το "analogReference ();"
Στο κύκλωμα μας, έχουμε αφήσει αυτήν την τάση αναφοράς στην προεπιλογή, ώστε να μπορούμε να διαβάσουμε την τιμή από το κανάλι ADC 0, καλώντας απευθείας τη λειτουργία "analogRead (pin);", εδώ "pin" αντιπροσωπεύει pin όπου συνδέσαμε το αναλογικό σήμα, στο αυτή η περίπτωση θα ήταν "A0". Η τιμή από το ADC μπορεί να ληφθεί σε ακέραιο ως "int sensorValue = analogRead (A0). ", Με αυτήν την εντολή η τιμή από το ADC αποθηκεύεται στον ακέραιο" sensorValue ". Τώρα, έχουμε την τιμή τρανζίστορ σε ψηφιακή μορφή, στη μνήμη του UNO.
4. Προγραμματίστε το Arduino για εναλλαγή της λυχνίας LED σε κάθε χειροκρότημα:
Σε κανονικές περιπτώσεις, το MIC παρέχει κανονικά σήματα και έτσι έχουμε κανονικές ψηφιακές τιμές στο UNO, αλλά όταν χτυπάμε εκεί μια κορυφή που παρέχεται από το MIC, με αυτό έχουμε μια μέγιστη ψηφιακή τιμή στο UNO, μπορούμε να προγραμματίσουμε το UNO για εναλλαγή ένα LED ON και OFF όποτε υπάρχει κορυφή. Έτσι στο πρώτο χειροκρότημα το LED ανάβει και παραμένει αναμμένο. Στο δεύτερο χειροκρότημα, το LED σβήνει και παραμένει OFF μέχρι το επόμενο χειροκρότημα. Με αυτό έχουμε το κύκλωμα clapper. Ελέγξτε τον κωδικό προγράμματος παρακάτω.