VU meter με Arduino Uno

arduino_vu_meter_breadboard_1_sm
arduino_vu_meter_breadboard_1_smarduino_vu_meter_breadboard_2_sm
5 5 1 Product


Ένας ψηφιακός ενδείκτης στάθμης για ήχο (VU - meter) μπορεί φυσικά να φτιαχτεί και με το Arduino. Ενδεικτικά, χρειαζόμαστε μια πλακέτα Arduino Uno, ένα κλασσικό αλφαριθμητικό display 2x16, έναν τελεστικό ενισχυτή και μερικές γραμμές κώδικα.

Tο VU-meter μας, απεικονίζει τη στάθμη του ήχου σε μπάρες, σε LCD, αλλά οι βασικές αρχές και οι ιδέες στις οποίες βασίζεται το κύκλωμα θα μπορούσαν να αξιοποιηθούν για την κατασκευή οποιουδήποτε ψηφιακού VU-meter για απεικόνιση σε οποιοδήποτε τύπο οθόνης ή σε διακριτά LED.

Διάγραμμα βαθμίδων

Στην εικόνα 1 παρουσιάζεται το γενικό διάγραμμα βαθμίδων ενός στερεοφωνικού ψηφιακού VU-meter με αναλογικές εισόδους. Θα αναλύσουμε τη λειτουργία του δεξιού καναλιού ήχου (R) και φυσικά, η ίδια ανάλυση ισχύει και για το άλλο κανάλι.

Διακρίνονται οι βαθμίδες: Ανορθωτής ακριβείας, κύκλωμα εξαγωγής  μέσης τιμής, μετατροπέας από αναλογικό σε ψηφιακό (A/D) που βρίσκεται εντός του μικροελεγκτή, η CPU του μικροελεγκτή και η συσκευή απεικόνισης (οθόνη).

Διάγραμμα βαθμίδων ψηφιακού VU-meter
Εικόνα 1. Γενικό διάγραμμα βαθμίδων ψηφιακού VU-meter Stereo, με αναλογικές εισόδους

Ο ανορθωτής σε συνδυασμό με το κύκλωμα εξαγωγής μέσης τιμής παράγουν ένα σήμα (σχεδόν DC) που είναι ανάλογο του πλάτους του σήματος εισόδου. Το κύκλωμα εξαγωγής μέσης τιμής είναι στην πραγματικότητα ένας ολοκληρωτής κατά προσέγγιση ή ουσιαστικά θα λέγαμε ότι είναι ένα κύκλωμα συγκράτησης κορυφής με καθορισμένη σταθερά χρόνου, προκειμένου να εξασφαλίζεται η κατάλληλη απόκριση για το VU-meter. Η απόκριση του VU-meter δεν είναι πολύ γρήγορη, για να μην είναι κουραστική (τρεμουλιαστή) η απεικόνιση στα LED αλλά ούτε και πολύ αργή, για να ακολουθεί με ευκολία τις αλλαγές του ήχου που γίνονται αντιληπτές αισθητά.

Ο μετατροπέας A/D που ακολουθεί μετά το κύκλωμα εξαγωγής μέσης τιμής μετατρέπει τη μέση στάθμη του σήματος σε μία ψηφιακή τιμή (10bit για το Arduino Uno). Η ψηφιακή αυτή τιμή απεικονίζεται με τη βοήθεια της CPU σε μία μονάδα απεικόνισης (οθόνη ή μπάρα από LED) σε πραγματικό χρόνο.

Ο ανορθωτής και το κύκλωμα εξαγωγής μέσης τιμής

Γνωρίζουμε ότι γενικώς το πλάτος ενός ανορθωμένου σήματος είναι ίσο με το πλάτος του AC σήματος εισόδου. Αυτό ισχύει όταν ο ανορθωτής δεν παρουσιάζει απώλειες ή ενίσχυση. Στην γενικότερη περίπτωση που χρησιμοποιούμε ένα ενεργό κύκλωμα ανορθωτή με ενίσχυση, το πλάτος του ανορθωμένου σήματος είναι ανάλογο του πλάτους του σήματος εισόδου. Αν στη συνέχεια εξομαλύνουμε το ανορθωμένο σήμα ή το οδηγήσουμε σε ένα κύκλωμα συγκράτησης κορυφής, μπορούμε να παράγουμε ένα σχεδόν DC σήμα που είναι ανάλογο της στάθμης του ήχου. Αυτή την τεχνική χρησιμοποιούμε στο ψηφιακό μας VU-meter για να παράγουμε ένα σήμα που αντιπροσωπεύει τη στάθμη του ήχου.

Στο κύκλωμα του ψηφιακού VU-meter που παρουσιάζεται στην εικόνα 2, υπάρχουν δύο ανορθωτές και δύο κυκλώματα εξαγωγής μέσης τιμής. Υπάρχει δηλαδή ένα ζεύγος βαθμίδων για κάθε κανάλι ήχου. Οι ανορθωτές υλοποιούνται με τη βοήθεια των τελεστικών ενισχυτών U1A και U1B και διόδων. Θα εξετάσουμε αναλυτικά τις βαθμίδες του δεξιού καναλιού. Τα αντίστοιχα κυκλώματα του αριστερού καναλιού είναι πανομοιότυπα.

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

Ανατρέχοντας στη θεωρία των ανορθωτών ακριβείας, θα διαπιστώσετε ότι τα περισσότερα κυκλώματα ανορθωτών ακριβείας απαιτούν διπλή τροφοδοσία (θετική κι αρνητική) για να λειτουργήσουν σωστά. Εμείς όμως θέλαμε να φτιάξουμε έναν ανορθωτή που να λειτουργεί με μία και μόνο τάση τροφοδοσίας για λόγους απλότητας. Αυτό κατέστη δυνατό με τη χρήση του τελεστικού MCP6022 της Microchip που είναι τύπου rail to rail, δηλαδή οι τάσεις ελάχιστου και μέγιστου κόρου του τελεστικού μπορούν να είναι ακριβώς ίσες με το 0 και τη θετική τάση τροφοδοσίας, αντίστοιχα, όταν ο τελεστικός τροφοδοτείται με μία και μόνο θετική τάση. Η ελάχιστη τάση κορεσμού μπορεί να γίνει ίση με μηδέν χωρίς την ανάγκη ύπαρξης αρνητικής τάσης τροφοδοσίας κι αυτό είναι απαραίτητο προκειμένου να φτιάξουμε έναν ανορθωτή ακριβείας που λειτουργεί με μία και μόνο τάση τροφοδοσίας.

Αν παρατηρήσετε προσεκτικά το κύκλωμα του ανορθωτή (δεξί κανάλι), θα δείτε ότι είναι στην πραγματικότητα ένας μη αναστροφικός ενισχυτής. Στο βρόχο ανάδρασης του ενισχυτή υπάρχει η δίοδος D2 για την ανόρθωση. Δεδομένου όμως ότι δεν εφαρμόζεται αρνητική τάση τροφοδοσίας στον τελεστικό, ακόμη κι αν δεν υπήρχε η δίοδος D2, το κύκλωμα θα λειτουργούσε και πάλι ως ανορθωτής διότι ο τελεστικός δεν μπορεί ούτως η άλλως να ενισχύσει την αρνητική ημιπερίοδο του σήματος εισόδου παρά μόνο τη θετική. Χρησιμοποιούμε όμως τη D2 για να αποτρέψουμε την εκφόρτιση του πυκνωτή C5 της επόμενης βαθμίδας (της βαθμίδας εξαγωγής της μέσης τιμής του σήματος) μέσω της αντίστασης εξόδου του τελεστικού κατά την αρνητική ημιπερίοδο του σήματος εισόδου που η έξοδος του τελεστικού έχει δυναμικό 0.

Το ηλεκτρονικό κύκλωμα του VU-meter με Arduino
Εικόνα 2. Το ηλεκτρονικό κύκλωμα του VU-meter με Arduino

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

Ο πυκνωτής C5 φορτίζεται μέσω της R6 σε κάθε αύξηση του σήματος εξόδου του ανορθωτή ενώ εκφορτίζεται σε κάθε μείωση του σήματος εξόδου του ανορθωτή μέσω της R8. O πυκνωτής φορτίζεται κι εκφορτίζεται από διαφορετικούς κλάδους, λόγω της διόδου D2 που παρέχει ρεύμα μόνο κατά τη φόρτιση κι όχι κατά την αντίθετη φορά. Αυτό σημαίνει ότι ο πυκνωτής φορτίζεται κι εκφορτίζεται με διαφορετικές σταθερές χρόνου. Επειδή η αντίσταση R6 είναι μία πολύ μικρή αντίσταση, η φόρτιση γίνεται σχεδόν ακαριαία. Απεναντίας, η εκφόρτιση προς τη γη γίνεται μέσω της R8 που έχει μεγάλη τιμή  Επειδή η φόρτιση γίνεται πιο γρήγορα από την εκφόρτιση, ο πυκνωτής C5 λειτουργεί περίπου ως ένα στοιχείο συγκράτησης κορυφής και παρουσιάζει μία μέση τιμή τάσης στα άκρα του που είναι ανάλογη του πλάτους του ημιανορθωμένου σήματος και κατά προέκταση ανάλογη της έντασης του ήχου (του πλάτους του σήματος εισόδου).

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


Ο μετατροπέας A/D κι η δυναμική περιοχή

Ο μετατροπέας από αναλογικό σε ψηφιακό που διαθέτει εσωτερικά ο μικροελεγκτής ATmega328P του Arduino Uno, είναι των 10bit. Αυτό σημαίνει ότι υπάρχουν 210=1024 δυνατές στάθμες. Σε db, αυτό αντιστοιχεί σε μία δυναμική περιοχή ίση με 20·log(1024-1)=60db. Δηλαδή, η τάση που αντιπροσωπεύει η στάθμη 1023 είναι κατά 60db μεγαλύτερη από τη στάθμη 1 (1023 φορές μεγαλύτερη).

Για την τάση αναφοράς του A/D επιλέγουμε τα 3.3V που εφαρμόζονται εξωτερικά στον ακροδέκτη AREF του Arduino. Υπάρχει φυσικά και η δυνατότητα για χρήση διαφορετικής τάσης αναφοράς αλλά επιλέγουμε τα 3.3V διότι το σήμα από την έξοδο του κυκλώματος μέσης τιμής δεν υπερβαίνει πρακτικά ποτέ τα 3V.

Το μέγιστο πλάτος του σήματος στην έξοδο του τελεστικού μπορεί να φθάσει τα 5V αλλά η μέση τιμή του ημιανορθωμένου σήματος δεν μπορεί να είναι ποτέ ίση με το πλάτος του, παρά μόνο αν το σήμα είναι DC, κάτι που πρακτικά δεν ισχύει για σήματα ήχου. Στην πράξη, με τάση τροφοδοσίας 5V, το σήμα στην έξοδο του κυκλώματος εξαγωγής μέσης τιμής είναι γύρω στα 2V όταν το πλάτος του σήματος εισόδου είναι 0.5V περίπου. H τιμή αυτή αντιστοιχεί στη στάθμη 614 του μετατροπέα A/D κι αυτό σημαίνει ότι η μέγιστη δυναμική περιοχή που μπορεί να επιτευχθεί είναι ίση με 20·log(614)=55db. Χάνουμε δηλαδή περίπου 5db, σε σχέση με τη θεωρητική δυναμική περιοχή των 60db.

Θα μπορούσαμε πρακτικά να επιλύσουμε αυτό το πρόβλημα αν χρησιμοποιούσαμε εξωτερική τάση αναφοράς ίση με 2V ή μικρότερη για τον μετατροπέα A/D (μπορεί εύκολα να γίνει με ένα ποτενσιόμετρο) αλλά ούτως ή άλλως χρησιμοποιούμε πολύ μικρότερη δυναμική περιοχή στην απεικόνιση (γύρω στα 30db). Πάντως, όσοι επιθυμούν να αλλάξουν τον κώδικα και να φτιάξουν VU-meter με μεγαλύτερη δυναμική περιοχή θα πρέπει να λάβουν υπόψιν τους του άνω περιορισμούς.

Η απεικόνιση

Η απεικόνιση της στάθμης του ήχου στο ψηφιακό μας VU-meter γίνεται σε 2 μπάρες των 15 τμημάτων έκαστη. Το display έχει 16 χαρακτήρες σε κάθε γραμμή αλλά χρησιμοποιούμε τον ένα χαρακτήρα σε κάθε γραμμή για να απεικονίζουμε την ένδειξη του καναλιού (R ή L) οπότε απομένουν 15 χαρακτήρες σε κάθε κανάλι για την απεικόνιση. Αυτό σημαίνει ότι η απεικόνιση  γίνεται σε 15 βήματα κι δυναμική περιοχή απεικόνισης εξαρτάται φυσικά από την τιμή έκαστου βήματος (τη διαφορά σε db ανάμεσα σε διαδοχικές στάθμες). Επιλέγοντας το κάθε βήμα να αντιστοιχεί σε 2db, η συνολική δυναμική περιοχή απεικόνισης θα είναι 2x15=30db. Η επιλογή γίνεται  μέσω του λογισμικού. Αξίζει να παρατηρήσετε ότι ανεξάρτητα από το βήμα απεικόνισης που θα επιλέξουμε, η συνολική δυναμική περιοχή απεικόνισης δεν μπορεί σε καμιά περίπτωση να υπερβαίνει το όριο των 60db που αναφέραμε στην προηγούμενη παράγραφο.

To VU-meter σε πλακέτα πρωτοτύπων
To VU-meter σε πλακέτα πρωτοτύπων

Οι στάθμες για απεικόνιση με βήμα 2db είναι δηλωμένες στο λογισμικό σε έναν πίνακα 15 στοιχείων ως:

int level_2db[15]={24,30,39,48,61,77,97,122,154,194,244,308,387,488,614}; // Level threshold array

Από τις δηλώσεις, μπορείτε να παρατηρήσετε ότι η μέγιστη στάθμη στην οποία ανάβει το περισσότερο σημαντικό στοιχείο, αντιστοιχεί στην τιμή 614 που με τη σειρά της αντιστοιχεί σε τάση 2V περίπου όταν η τάση αναφοράς του Α/D μετατροπέα είναι 3.3V. Φυσικά, μπορείτε να τροποποιήσετε αυτές τις τιμές σε συνδυασμό με την τάση αναφοράς  του Α/D μετατροπέα, για να φτιάξετε ενδεχομένως ένα VU-meter με διαφορετική δυναμική περιοχή ή με λιγότερες ή περισσότερες στάθμες απεικόνισης.

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

Ας ονομάσουμε τα στοιχεία της κάθε μπάρας των 15 τμημάτων ως SEG0, SEG1, SEG2 έως SEG14, για το λιγότερο έως το περισσότερο σημαντικό στοιχείο αντίστοιχα. Τότε, το κάθε SEGi θα πρέπει να ενεργοποιείται σε μία στάθμη Vi (V0, V1, V2 έως V14).  Έστω λοιπόν ότι επιλέγουμε το βήμα απεικόνισης να είναι S=2db . Τότε κάθε στάθμη Vi, (με i από 0 έως 14)  θα πρέπει να είναι κατά S db μικρότερη από την επόμενη, την Vi+1. Λαμβάνοντας υπόψη τον ορισμό του db, μπορούμε να γράψουμε:

20 log(Vi+1/Vi)=S⇒ Vi+1/Vi=10S/20⇒ Vi= Vi+1·10-S/20

(1)

Καταλήγουμε λοιπόν στην αναδρομική σχέση (1) από την οποία μπορούμε να υπολογίσουμε την τιμή της κάθε στάθμης Vi, αρκεί να γνωρίζουμε την αμέσως μεγαλύτερη στάθμη Vi+1. Αυτό σημαίνει ότι αν γνωρίζουμε τη στάθμη V14, μπορούμε να υπολογίσουμε τη V13. Στη συνέχεια, γνωρίζοντας τη στάθμη V13, μπορούμε να υπολογίσουμε τη στάθμη  V12 κι ούτω καθεξής. Επομένως μπορούμε να υπολογίσουμε όλες τις στάθμες, αρκεί να γνωρίζουμε το βήμα απεικόνισης S και την τιμή της V14 (τη στάθμη στην οποία ανάβει το περισσότερο σημαντικό LED).

Τα δεδομένα που έχουμε είναι ότι η μέγιστη τάση εξόδου του κυκλώματος εξαγωγής μέσης τιμής είναι 2V κι ότι διαθέτουμε έναν μετατροπέα Α/D με ανάλυση 10bit και τάση αναφοράς 3.3V.

Ο μετατροπέας από αναλογικό σε ψηφιακό είναι των 10bit. Αυτό σημαίνει ότι υπάρχουν 210=1024 δυνατές στάθμες (από 0 έως 1024) και 210-1=1023 βήματα. Η στάθμη 1 αντιστοιχεί σε τάση ίση με το 1/1024 της τάσης αναφοράς, δηλαδή ίση με 3.3/210=3.3/1024 V. Οποιαδήποτε άλλη στάθμη V, αντιστοιχεί σε τάση

Uv=V·3.3/210

(2)

Θέτοντας στην παραπάνω σχέση  Uv=2V που είναι η μέγιστη τάση εξόδου του κυκλώματος εξαγωγής μέσης τιμής και λύνοντας ως προς V, βρίσκουμε ότι η τάση των 2V αντιστοιχεί στη στάθμη 614, περίπου, του μετατροπέα A/D. Επομένως, το περισσότερο σημαντικό στοιχείο, το SEG14, θα πρέπει ν’ ανάβει στη στάθμη 614, δηλαδή V14=614.

Θέτοντας τώρα όπου S=2 και V14=614 στη σχέση 1, βρίσκουμε ότι V13=488. Στη συνέχεια, από τη V13 και τη σχέση 1, βρίσκουμε ότι V12=387, έπειτα ότι V11=308 κι ούτω καθ’ εξής έως και την V0. Αξίζει να σημειώσουμε ότι ενώ όλοι οι υπολογισμοί γίνονται με μεγάλη ακρίβεια, οι τελικές τιμές στον πίνακα τιμών του λογισμικού είναι στρογγυλοποιημένες στον πλησιέστερο ακέραιο.



Διαφορετικοί τρόποι απεικόνισης

Αλλάζοντας τη λογική στάθμη στον ακροδέκτη D7 του Arduino μπορούμε να επιλέξουμε μεταξύ δύο  τρόπων απεικόνισης.

Τρόπος 0: Απεικόνιση σε μπάρες με βήμα 2db

Η στάθμη του ήχου απεικονίζεται λογαριθμικά σε δύο μπάρες των 15 τμημάτων έκαστη, (μία για το δεξί και μία για το αριστερό κανάλι) με βήμα απεικόνισης 2db. Αυτό σημαίνει ότι αν θεωρήσουμε ότι το περισσότερο σημαντικό στοιχείο – σε κάθε μπάρα αντιστοιχεί στη στάθμη 0db, τα επόμενα κατά σειρά στοιχεία, έως και το λιγότερο σημαντικό, αντιστοιχούν στις στάθμες -2, -4, -6 ……. έως -28db. Η συνολική δυναμική περιοχή απεικόνισης είναι περίπου 30db.

Τρόπος 1: Απεικόνιση σε μπάρες με βήμα 2db και συγκράτηση κορυφής

Αντιστοιχεί σε λογαριθμική απεικόνιση σε μπάρες με βήμα απεικόνισης 2db όπως και στον τρόπο 0, με τη διαφορά ότι συγχρόνως συγκρατείται η κορυφή (peak) του σήματος σε κάθε κανάλι.

Ο χρόνος συγκράτησης είναι δηλωμένος στο λογισμικό με τη δήλωση:
#define dt3 30   //loops - Peak hold time in main loops

Στην παραπάνω δήλωση, ο χρόνος συγκράτησης είναι ορισμένος στους 30 κύκλους επανάληψης του main loop.

Λεπτομέρειες

Το πλήρες ηλεκτρονικό σχέδιο του στερεοφωνικού, ψηφιακού VU-meter ήχου φαίνεται στην εικόνα 2. Το σήμα εισόδου (σήμα ήχου) συνδέεται στη στερεοφωνική είσοδο J1 και τα ποτενσιόμετρα  RV1 και RV2 χρησιμοποιούνται για τη ρύθμιση της ευαισθησίας του VU-meter, έτσι ώστε αυτό να μπορεί να προσαρμοστεί σε ασθενείς αλλά και σε ισχυρές πηγές ήχου.

Η οθόνη κι όλα τα κυκλώματα τροφοδοτούνται από την έξοδο 5V της πλακέτας του Arduino. Το ίδιο το Arduino τώρα, μπορεί να τροφοδοτηθεί είτε από την θύρα USB του υπολογιστή είτε από εξωτερική τροφοδοσία.

Το ποτενσιόμετρο RV3 χρησιμοποιείται για τη ρύθμιση του contrast της οθόνης. Για το φωτισμό της οθόνης, τροφοδοτούμε τον ακροδέκτη 15 του Display με 5V από το Arduino μέσω της αντίστασης R9. Χρησιμοποιώντας την αντίσταση R9 περιορίζουμε το ρεύμα τροφοδοσίας των LED φωτισμού της οθόνης κι επομένως και τη φωτεινότητά της, προκειμένου το κύκλωμα να μπορεί να τροφοδοτηθεί από τη θύρα USB του υπολογιστή που θα χρησιμοποιήσουμε για τον προγραμματισμό του Arduino, δίχως προβλήματα. Αν σκοπεύεται να χρησιμοποιήσετε εξωτερική τροφοδοσία, δεν θα υφίσταται o περιορισμός ρεύματος και επομένως τότε θα μπορείτε να βραχυκυκλώσετε την αντίσταση R9 και να αυξήσετε το ρεύμα φωτισμού της οθόνης.

Μπορείτε να φτιάξετε το κύκλωμα σε ένα μεγάλο breadboard ή θα μπορούσατε να φτιάξετε ένα κατάλληλο τυπωμένο κύκλωμα που θα μπορούσε να προσαρμοστεί ως shield πάνω στο Arduino. Όλες οι αντιστάσεις της κατασκευής είναι τύπου 1/4W και ανοχής 5% εκτός από την R9 που είναι τύπου 1/2W. Όλοι οι πυκνωτές που χρησιμοποιούμε έχουν ίχνος περίπου 5mm (20mils), δηλαδή, η οριζόντια απόσταση μεταξύ των ακροδεκτών τους είναι γύρω στα 5mm.

Μπορείτε να προγραμματίσετε το Arduino με τον κώδικα που παρέχουμε παρακάτω ή μπορείτε να κάνετε αλλαγές στον κώδικα για να προσαρμόσετε το VU-meter στις δικές σας προτιμήσεις.

Αν τώρα θέλετε να προσαρμόσετε καλαίσθητα το VU-meter σε κάποιο κουτί ή σε μία οποιαδήποτε συσκευή ήχου, καλό θα είναι να φτιάξετε και μία κατάλληλη μάσκα για το display, πάνω στην οποία θα μπορέσετε να τυπώσετε λογότυπο και τις στάθμες απεικόνισης σε db ή επί τις %. Μπορείτε επίσης να χρησιμοποιήσετε LCD με περισσότερους χαρακτήρες, π.χ με 20 ή 40 χαρακτήρες ανά γραμμή ή ακόμη και με περισσότερες από 2 γραμμές και να προσαρμόσετε τον κώδικα για απεικόνιση με περισσότερα στοιχεία σε κάθε μπάρα ή να εισάγεται επιπλέον χαρακτήρες και εφέ.


Συνημμένα

Εδώ θα βρείτε τον πηγαίο κώδικα για το VU-meter με Arduino.

 

Λίστα με όλα τα σχόλια:
Δεν υπάρχουν σχόλια προς το παρόν.
Βαθμολογία:

Παρακαλούμε κάντε κάποια πρόταση για το προϊόν :

Όνομα χρήστη:
E-mail: