Ψηφιακό VU-meter ήχου Stereo

digital_vu_meter_1
digital_vu_meter_1digital_vu_meter_2digital_vu_meter_3digital_vu_meter_4


Στην τρέχουσα παρουσίαση θα ασχοληθούμε με την κατασκευή ενός ψηφιακού ενδείκτη στάθμης ήχου. Το ψηφιακό VU-meter χρησιμοποιεί έναν μικροελεγκτή για την απεικόνιση της στάθμης δύο καναλιών ήχου σε δύο μπάρες από LED.

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

Ψηφιακός ενδείκτης στάθμης ήχου
Φωτογραφία 1. Το ψηφιακό VU-meter με μπάρες LED

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

Γενικά χαρακτηριστικά – διάγραμμα βαθμίδων

Χρησιμοποιούμε έναν μικροελεγκτή dsPIC της Microchip και συγκεκριμένα τον dsPIC30F2012. Ο dsPIC30F2012 διαθέτει δυνατότητες ταχύτατης ψηφιακής επεξεργασίας σήματος αλλά στο κύκλωμα μας δεν αξιοποιούμε καμία απ’ αυτές τις δυνατότητες. Εδώ χρησιμοποιείται ως ένας απλός μικροελεγκτής. Γιατί τότε προσφεύγουμε στην οικογένεια των dsPIC; Η επιλογή του dsPIC30F2012 έχει γίνει:

  1. Διότι διαθέτει έναν μετατροπέα A/D 12bit, σε αντίθεση με τους περισσότερους μικροελεγκτές που έχουν μετατροπείς Α/D των 10bit.
  2. Διότι έχει σχετικά χαμηλό κόστος, ικανοποιητικό αριθμό ακροδεκτών εισόδου – εξόδου (Ι/Ο) κι έτυχε να είναι άμεσα διαθέσιμος στη συλλογή του σχεδιαστή.

Όπως αντιλαμβάνεστε, τα κριτήρια β’ είναι κάπως υποκειμενικά (θα μπορούσαμε να είχαμε χρησιμοποιήσει οποιονδήποτε άλλο μικροελεγκτή) αλλά το κριτήριο α’ είναι περισσότερο σημαντικό. Ο μετατροπέας από αναλογικό σε ψηφιακό (A/D – analog tο digital converter) των 12bit, δίνει τη δυνατότητα να έχουμε δυναμική περιοχή της τάξης των 72db, έναντι των 60db που θα είχαμε θεωρητικά με έναν A/D των 10bit. Πριν δούμε όμως αναλυτικά πως προκύπτουν αυτά τα νούμερα, ας δούμε πρώτα το γενικό διάγραμμα βαθμίδων ενός ψηφιακού VU-meter με αναλογικές εισόδους:

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

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

Στο διάγραμμα διακρίνεται ότι η συσκευή αποτελείται από 5 βαθμίδες. Η πρώτη βαθμίδα είναι ένας ανορθωτής ακριβείας. Η δεύτερη βαθμίδα είναι ένα κύκλωμα εξαγωγής μέσης τιμής. Η τρίτη βαθμίδα είναι ο μετατροπέας από αναλογικό σε ψηφιακό (A/D) που βρίσκεται εντός του μικροελεγκτή. Η τέταρτη βαθμίδα είναι η CPU του μικροελεγκτή κι η πέμπτη βαθμίδα είναι η συσκευή απεικόνισης (μπάρα LED ή οθόνη).

Οι πρώτες δύο βαθμίδες (ο ανορθωτής και το κύκλωμα εξαγωγής μέσης τιμής) θα μπορούσαν να υλοποιηθούν ψηφιακά εντός του dsPIC, αξιοποιώντας τις δυνατότητες ψηφιακής επεξεργασίας σήματος του μικροελεγκτή. Για λόγους απλότητας όμως, προτιμούμε οι βαθμίδες αυτές να υλοποιούνται με εξωτερικά κυκλώματα. Έτσι, εξοικονομούμε υπολογιστική ισχύ και τροφοδοσία, απλοποιούμε το πρόγραμμα, χρησιμοποιούμε λιγότερη μνήμη αλλά επίσης εξαλείφουμε την ανάγκη χρήσης επιπρόσθετου φίλτρου αντι-αναδίπλωσης (anti-aliasing filter).

Πριν από κάθε μετατροπέα A/D χρειάζεται πάντα ένα φίλτρο αντι-αναδίπλωσης για τον περιορισμό του συχνοτικού περιεχομένου του προς μετατροπή σήματος, σε συχνότητες μικρότερες από το ήμισυ της συχνότητας δειγματοληψίας. Στην περίπτωσή μας όμως, το σήμα που προκύπτει στην έξοδο του κυκλώματος εξαγωγής μέσης τιμής, είναι ένα σήμα πολύ χαμηλής συχνότητας (μερικά Hz), αρκετά μικρότερης από το ήμισυ της συχνότητας δειγματοληψίας. Επομένως δεν χρειάζεται να χρησιμοποιήσουμε επιπρόσθετο φίλτρο αντι-αναδίπλωσης.

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

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


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

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

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

Το κύκλωμα εισόδου του ψηφιακού VU-meter
Εικόνα 2. Κυκλώματα του ψηφιακού VU-meter (1 από 2 - αναλογικές βαθμίδες)

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

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

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

Η D3 έχει ελάσσονα ρόλο. Παρέχει έναν επιπρόσθετο δρόμο εκφόρτισης για τον C10. Δεν επιδρά ιδιαίτερα στη λειτουργία του κυκλώματος, καθόσον η R17 είναι αρκετά μεγαλύτερη από την R20. Θα μπορούσε όμως να επηρεάσει αρκετά το κύκλωμα σε περίπτωση τροποποίησης της τιμής της R17 (αν γίνει συγκρίσιμη με την R20).

Τα ψηφιακά κυκλώματα του VU-meter
Εικόνα 3. Κυκλώματα του ψηφιακού VU-meter (2 από 2 - ψηφιακές βαθμίδες)

Ας εξετάσουμε τώρα το κύκλωμα εξαγωγής της μέσης τιμής στο δεξί κανάλι. Το αντίστοιχο κύκλωμα του αριστερού καναλιού είναι πανομοιότυπο. Το κύκλωμα εξαγωγής μέσης τιμής του δεξιού καναλιού αποτελείται από τα στοιχεία R18, C10 και R20 κι επίσης έχει σημαντικό ρόλο στη λειτουργία του και η D4. Ελάσσονα ρόλο έχουν επίσης οι R17 και η D3. Το κύκλωμα αυτό μπορεί να θεωρηθεί ως ένα κύκλωμα εξομάλυνσης ή καλύτερα ως ένας ιδιόμορφος ολοκληρωτής με διπλή κλίση.

Ο πυκνωτής C10 φορτίζεται μέσω της R18 σε κάθε αύξηση του σήματος εξόδου του ανορθωτή ενώ εκφορτίζεται σε κάθε μείωση του σήματος εξόδου του ανορθωτή μέσω της R20 και των D3-R17. O πυκνωτής φορτίζεται κι εκφορτίζεται από διαφορετικούς κλάδους, λόγω κυρίως της διόδου D4 που παρέχει ρεύμα μόνο κατά τη φόρτιση κι όχι κατά την αντίθετη φορά. Αυτό σημαίνει ότι ο πυκνωτής φορτίζεται κι εκφορτίζεται με διαφορετικές σταθερές χρόνου. Επειδή η αντίσταση R18 είναι μία πολύ μικρή αντίσταση, η φόρτιση γίνεται σχεδόν ακαριαία. Απεναντίας, η εκφόρτιση προς τη γη γίνεται κυρίως μέσω της R20, διότι η αντίσταση R17 έχει αρκετά μεγαλύτερη τιμή. Επειδή η φόρτιση γίνεται πιο γρήγορα από την εκφόρτιση, ο πυκνωτής C10 λειτουργεί περίπου ως ένα στοιχείο συγκράτησης κορυφής και παρουσιάζει μία μέση τιμή τάσης στα άκρα του που είναι ανάλογη του πλάτους του ημιανορθωμένου σήματος και κατά προέκταση ανάλογη της έντασης του ήχου (του πλάτους του σήματος εισόδου).

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

Υπάρχει πάντως η δυνατότητα προσαρμογής και σε διαφορετικά αισθητικά κριτήρια. Αν θέλετε να κάνετε την απόκριση πιο αργή ή πιο γρήγορη, αρκεί να τροποποιήσετε τις τιμές των R18 και R20 ή ακόμη και του C10. Χρειάζεται όμως κάποια προσοχή διότι οι R18 και η R20 σχηματίζουν έναν διαιρέτη τάσης κι εξασθενούν το σήμα. Για να υπάρχει αμελητέα εξασθένιση, θα πρέπει η R18 να είναι πάντοτε πολύ μικρότερη της R20.

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

Ο μετατροπέας από αναλογικό σε ψηφιακό που διαθέτει εσωτερικά ο dsPIC30F2012 είναι των 12bit. Αυτό σημαίνει ότι υπάρχουν 212=4096 δυνατές στάθμες. Σε db, αυτό αντιστοιχεί σε μία δυναμική περιοχή ίση με 20·log(4096-1)=72db. Δηλαδή, η τάση που αντιπροσωπεύει η στάθμη 4095 είναι κατά 72db μεγαλύτερη από τη στάθμη 1 (4095 φορές μεγαλύτερη).

Η τάση αναφοράς του A/D μετατροπέα στο κύκλωμα μας είναι ίση με την τάση τροφοδοσίας που είναι 5V. Υπάρχει δυνατότητα για χρήση διαφορετικής τάσης αναφοράς σε σχέση με αυτή της τροφοδοσίας αλλά αυτό προϋποθέτει τη δέσμευση ενός ακροδέκτη εισόδου – εξόδου (Ι/Ο) του μικροελεγκτή που δυστυχώς δεν είναι διαθέσιμος στην κατασκευή μας, λόγω του ότι χρησιμοποιούμε όλους τους ακροδέκτες I/O για τις ανάγκες της απεικόνισης όπως θα δούμε παρακάτω. Ο dsPIC30F2012 δεν παρέχει τη δυνατότητα ρύθμισης της τάσης αναφοράς του A/D μετατροπέα σε κλάσμα της τάσης τροφοδοσίας μέσω λογισμικού και για να χρησιμοποιηθεί διαφορετική τάση αναφοράς σε σχέση με την τροφοδοσία απαιτείται  η τάση να παρασχεθεί εξωτερικά κι αυτό δημιουργεί κάποιο μικρό πρόβλημα.

Έχοντας διαθέσιμη μόνο μία τιμή τάσης αναφοράς που είναι ίση με την τάση τροφοδοσίας (5V) χάνουμε ουσιαστικά κάποιο μέρος της δυναμικής περιοχής, διότι η μέγιστη τάση στα άκρα του C10 δεν μπορεί να φθάσει ποτέ την τιμή της τάσης τροφοδοσίας. Αυτό συμβαίνει διότι το μέγιστο πλάτος του σήματος στην έξοδο του τελεστικού μπορεί να φθάσει τα 5V αλλά η μέση τιμή του ημιανορθωμένου σήματος δεν μπορεί να είναι ποτέ ίση με το πλάτος του, παρά μόνο αν το σήμα είναι DC, κάτι που πρακτικά δεν ισχύει για σήματα ήχου. Στην πράξη, με τάση τροφοδοσίας 5V, η μέγιστη τιμή του σήματος στην έξοδο του κυκλώματος εξαγωγής μέσης τιμής είναι γύρω στα 3.3V όταν το πλάτος του σήματος εισόδου είναι 0.5V περίπου. H τιμή αυτή αντιστοιχεί στη στάθμη 2700 του μετατροπέα A/D κι αυτό σημαίνει ότι η μέγιστη δυναμική περιοχή που μπορεί να επιτευχθεί είναι ίση με 20·log(2700)=68db. Χάνουμε δηλαδή περίπου 4db, σε σχέση με τη θεωρητική δυναμική περιοχή των 72db.

Θα μπορούσαμε πρακτικά να επιλύσουμε το πρόβλημα αν χρησιμοποιούσαμε εξωτερική τάση αναφοράς ίση με 3.3V ή μικρότερη για τον μετατροπέα A/D ή αν χρησιμοποιούσαμε μεγαλύτερη τάση τροφοδοσίας στον τελεστικό σε σχέση με αυτή του μικροελεγκτή αλλά και οι δύο λύσεις αυξάνουν την πολυπλοκότητα του κυκλώματος. Έτσι, για λόγους απλότητας αρκούμαστε στην απώλεια των 4ων db από τη δυναμική περιοχή κι εξάλλου ακόμη και τα 68db που μπορούν πρακτικά να επιτευχθούν δεν είναι διόλου ευκαταφρόνητα.

Η απεικόνιση

Η απεικόνιση της στάθμης του ήχου στο ψηφιακό μας VU-meter γίνεται σε 2 μπάρες των 20 LED έκαστη. Η μία μπάρα απεικονίζει τη στάθμη του δεξιού καναλιού ήχου (R-audio channel) κι η άλλη, τη στάθμη του αριστερού καναλιού (L-audio channel). Αυτό σημαίνει ότι η απεικόνιση γίνεται σε 20 βήματα κι δυναμική περιοχή απεικόνισης εξαρτάται φυσικά από την τιμή έκαστου βήματος (τη διαφορά σε db ανάμεσα σε διαδοχικές στάθμες). Αν για παράδειγμα επιλέξουμε το κάθε βήμα να αντιστοιχεί σε 2db, η συνολική δυναμική περιοχή απεικόνισης θα είναι 2x20=40db. Αν επιλέξουμε βήμα 3db, η συνολική δυναμική περιοχή απεικόνισης θα είναι 2x30=60db. Τα παραπάνω αφορούν ομοιόμορφο βήμα αλλά υπάρχει επίσης η δυνατότητα να επιλέξουμε κι ανομοιόμορφο βήμα απεικόνισης. Αυτό μπορεί να γίνει εύκολα μέσω λογισμικού. Αξίζει να παρατηρήσετε εδώ ότι ανεξάρτητα από το βήμα απεικόνισης που θα επιλέξουμε, η συνολική δυναμική περιοχή απεικόνισης δεν μπορεί σε καμιά περίπτωση να υπερβαίνει το όριο των 68db που αναφέραμε στην προηγούμενη παράγραφο.

Συνολικά έχουμε 40 LED για την απεικόνιση κι αυτό σημαίνει ότι ιδανικά θα έπρεπε να έχουμε διαθέσιμους 40 ακροδέκτες εισόδου-εξόδου (Ι/Ο) στον μικροελεγκτή για να συνδέσουμε κάθε LED σε ξεχωριστό ακροδέκτη. Κάτι τέτοιο όμως δεν υφίσταται διότι ο dsPIC30F2012 έχει συνολικά 20 ακροδέκτες I/O και κάποιοι από αυτούς είναι περιπλεγμένοι με κανάλια εισόδου του μετατροπέα Α/D που θα πρέπει να χρησιμοποιήσουμε και με το ρολόι χρονισμού. Στην πράξη, απομένουν μόνο 17 ακροδέκτες Ι/Ο διαθέσιμοι για να αξιοποιηθούν για την απεικόνιση ή για οποιαδήποτε άλλη ψηφιακή διασύνδεση.

Ψηφιακό VU-meter με LED
Φωτογραφία 2. Εναλλακτικά, μπορούν να χρησιμοποιηθούν κλασσικά LED (βλ. πλακέτα "shield")

Το πρόβλημα του πλήθους των ακροδεκτών Ι/Ο που θα χρειαστούν για την απεικόνιση λύνεται αν χρησιμοποιήσουμε κάποια μορφή πολύπλεξης για τα LED. Πράγματι, η λύση που επιλέχθηκε τελικώς είναι η πολύπλεξη των LED ανά 4. Η πολύπλεξη που επιλέξαμε μπορεί εύκολα να διακριθεί στο ηλεκτρονικό σχηματικό της εικόνας 3 κι αναλυτικά, έχει ως εξής:

Τα 20 LED της κάθε μπάρας κατανέμονται σε δύο ομάδες των 10 LED. Τα πρώτα 10 διαδοχικά LED (τα λιγότερο σημαντικά) κατανέμονται σε μία ομάδα και τα 10 επόμενα διαδοχικά LED (τα περισσότερα σημαντικά) κατανέμονται σε μία άλλη ομάδα. Με αυτό τον τρόπο, η κάθε μπάρα χωρίζεται σε δύο επιμέρους μπάρες. Έτσι, η μπάρα ΒL, του αριστερού καναλιού, χωρίζεται στις μπάρες ΒG1 και ΒG2 (των 10 LED έκαστη) και η μπάρα BR, του δεξιού καναλιού χωρίζεται στις μπάρες BG3 και BG4. Τα LED σε κάθε μπάρα BGx, αριθμούνται από το 0 έως το 9 και οι άνοδοι τους συνδέονται 1 προς 1 με 10 ακροδέκτες Ι/Ο (τους ldo έως ld9) του μικροελεγκτή. Επιπλέον, οι κάθοδοί τους συνδέονται όλες μαζί κι οδηγούνται από ένα τρανζίστορ. Με αυτό τον τρόπο, τα LED της κάθε μπάρας BGx συνδέονται σε συνδεσμολογία κοινής καθόδου και τα τρανζίστορ Q1, Q2, Q3 και Q4 χρησιμοποιούνται για να ενεργοποιούν τις μπάρες BG2, BG1, BG3 και BG4, αντίστοιχα. Όλα αυτά φαίνονται αναλυτικά στο ηλεκτρονικό σχέδιο της εικόνας 4. Στην πραγματικότητα είναι μία πολύπλεξη 4 σε 1 (η άνοδος του i-οστού LED της μπάρας BG1, συνδέεται με την άνοδο κάθε άλλου i-οστού LED στις μπάρες BG2, BG3 και BG4).

Χρειάστηκανι τελικώς μόνο 14 ακροδέκτες Ι/Ο για την οδήγηση των 40 LED. Από αυτούς, οι 10 (οι ld0 έως ld9) συνδέονται απευθείας σε όλες τις δεκάδες BGx και οι 4εις (οι AL0, AL1, AR0, AR1) συνδέονται στις βάσεις των τρανζίστορ Q1 έως Q4.

Προφανώς, λόγω της πολύπλεξης, τα LED δεν μπορούν να ενεργοποιηθούν ταυτόχρονα. Στην πράξη, ο μικροελεγκτής, απεικονίζει το σήμα του αριστερού καναλιού ενεργοποιώντας τα κατάλληλα LED πρώτα στη μπάρα BG1 κι έπειτα στη μπάρα BG2. Έπειτα απεικονίζει το σήμα του δεξιού καναλιού ενεργοποιώντας τα κατάλληλα LED πρώτα στη μπάρα BG3 κι έπειτα στη μπάρα BG4. Στη συνέχεια, η διαδικασία αρχίζει και πάλι από την αρχή.

Σε κάθε κύκλο απεικόνισης έχουμε 4 απεικονίσεις διαδοχικά, στις μπάρες ΒG1, BG2, BG3 και BG4. Κάθε μπάρα ΒGx και κατά προέκταση κάθε LED σε έκαστη μπάρα, μπορεί να ενεργοποιείται μόνο για το ¼ του συνολικού χρόνου που διαρκεί ο κύκλος απεικόνισης. Αυτό μειώνει τη φωτεινότητα κατά ¾ σε σχέση με την περίπτωση που θα είχαμε παράλληλη απεικόνιση (και τα 40 LED ταυτόχρονα). Για να αντισταθμίσουμε τη μείωση της φωτεινότητας χρειάζεται να αυξήσουμε το ρεύμα οδήγησης των LED. Γι’ αυτό, αν παρατηρήσετε προσεκτικά το σχηματικό της εικόνας 4, θα διαπιστώσετε ότι τα LED οδηγούνται απευθείας από τις αντίστοιχες εξόδους I/O του μικροελεγκτή, χωρίς καμία αντίσταση σε σειρά. Το ρεύμα περιορίζεται ουσιαστικά μόνο από την ενεργή αντίσταση των τρανζίστορ οδήγησης της κάθε μπάρας (Q1 έως Q4) και τα τρανζίστορ που βρίσκονται εσωτερικά στις θύρες Ι/Ο του μικροελεγκτή. Λόγω του ότι η απεικόνιση γίνεται πολύ γρήγορα (ο κάθε κύκλος απεικόνισης διαρκεί μερικά ms), το ρεύμα περιορίζεται επίσης και από τις εσωτερικές χωρητικότητες των διόδων και του κυκλώματος γενικότερα. Η ταχύτητα της απεικόνισης είναι ιδιαίτερα αυξημένη, προκειμένου να μη διακρίνεται οπτικά κανένα τρεμόσβησμα.

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

Αν παρατηρήσετε το σχηματικό της εικόνας 3, θα διακρίνετε ότι υπάρχει ένα σετ 3 διακοπτών τύπου DIP. Πρόκειται για το στοιχείο S1 (SW DIP-3). Οι διακόπτες αυτοί έχουν εισαχθεί στο κύκλωμα για να παρέχουν τη δυνατότητα επιλογής μεταξύ διαφορετικών τρόπων απεικόνισης. Λόγω του ότι είναι 3εις οι διακόπτες, υπάρχει η δυνατότητα για επιλογή 23=8 διαφορετικών τρόπων απεικόνισης. Έχουμε επιλέξει, οι 8 αυτοί τρόποι απεικόνισης να είναι κατά σειρά, οι 0,1,2, …έως 7, όπως παρακάτω:

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

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

Τρόπος 1 - Απεικόνιση σε μπάρες με βήμα 3db

Η στάθμη του ήχου απεικονίζεται λογαριθμικά σε δύο μπάρες των 20 LED έκαστη, (μία για το δεξί και μία για το αριστερό κανάλι) με βήμα απεικόνισης 3db. Αυτό σημαίνει ότι αν θεωρήσουμε ότι το περισσότερο σημαντικό LED – σε κάθε μπάρα αντιστοιχεί στη στάθμη 0db, τα επόμενα κατά σειρά LED, έως και το λιγότερο σημαντικό, αντιστοιχούν στις στάθμες -3, -6, -9 ……. έως -57db. Η συνολική δυναμική περιοχή απεικόνισης είναι περίπου 60db.

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

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

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

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

Τρόπος 4 - Απεικόνιση σε τελεία με βήμα 2db

Αντιστοιχεί σε λογαριθμική απεικόνιση σε τελεία με βήμα απεικόνισης 2db. Σε κάθε χρονική στιγμή ανάβει μόνο ένα LED σε κάθε μπάρα κι είναι αυτό που αντιστοιχεί στην κορυφή του σήματος. Το τελικό οπτικό αποτέλεσμα είναι μία τελεία που ανεβοκατεβαίνει στο ρυθμό της μουσικής. Τα LED κατά σειρά από το περισσότερο έως ο λιγότερο σημαντικό, αντιστοιχούν στις στάθμες 0db,-2, -4, -6 ……. έως -38db. Η συνολική δυναμική περιοχή απεικόνισης είναι περίπου 40db.

Τρόπος 5 - Απεικόνιση σε τελεία με βήμα 3db

Αντιστοιχεί σε λογαριθμική απεικόνιση σε τελεία με βήμα απεικόνισης 3db. Σε κάθε χρονική στιγμή ανάβει μόνο ένα LED σε κάθε μπάρα κι είναι αυτό που αντιστοιχεί στην κορυφή του σήματος. Το τελικό οπτικό αποτέλεσμα είναι μία τελεία που ανεβοκατεβαίνει στο ρυθμό της μουσικής. Τα LED κατά σειρά από το περισσότερο έως ο λιγότερο σημαντικό, αντιστοιχούν στις στάθμες 0db,-3, -6, -9 ……. έως -57db. Η συνολική δυναμική περιοχή απεικόνισης είναι περίπου 60db.

Τρόπος 6 - Απεικόνιση σε τελεία με συγκράτηση και βήμα 2db

Αντιστοιχεί σε λογαριθμική απεικόνιση σε τελεία με βήμα απεικόνισης 2db όπως και στην περίπτωση 4 με τη διαφορά ότι η τελεία συγκρατείται για 0.5sec περίπου σε κάθε θέση. Σε κάθε χρονική στιγμή ανάβει μόνο ένα LED σε κάθε μπάρα κι είναι αυτό που αντιστοιχεί στην κορυφή του σήματος. Το τελικό οπτικό αποτέλεσμα είναι μία τελεία που αναπηδά από θέση σε θέση κι απεικονίζει με έμφαση την εκάστοτε στάθμη κορυφής του σήματος (peak).

Τρόπος 7 - Απεικόνιση σε τελεία με συγκράτηση και βήμα 3db

Αντιστοιχεί σε λογαριθμική απεικόνιση σε τελεία με βήμα απεικόνισης 3db όπως και στην περίπτωση 5 με τη διαφορά ότι η τελεία συγκρατείται για 0.5sec περίπου σε κάθε θέση. Σε κάθε χρονική στιγμή ανάβει μόνο ένα LED σε κάθε μπάρα κι είναι αυτό που αντιστοιχεί στην κορυφή του σήματος. Το τελικό οπτικό αποτέλεσμα είναι μία τελεία που αναπηδά από θέση σε θέση κι απεικονίζει με έμφαση την εκάστοτε στάθμη κορυφής του σήματος (peak).

Μπορείτε να δείτε τις παραπάνω απεικονίσεις στο demo video που έχουμε ετοιμάσει ειδικά για το στερεοφωνικό ψηφιακό VU-meter της κατασκευής μας. Υπάρχει επίσης η δυνατότητα να επέμβετε στο λογισμικό, για να προσαρμόσετε τις παραμέτρους των τρόπων απεικόνισης (βήμα ή χρόνος συγκράτησης) σύμφωνα με τις δικές σας προτιμήσεις ή για να προγραμματίσετε τους δικούς σας τρόπους απεικόνισης.


Παράμετροι και λεπτομέρειες

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

Ο χρόνος συγκράτησης είναι δηλωμένος στο λογισμικό με τη δήλωση:

#define dt3 25 //loops // Peak hold time in main loops

Στην παραπάνω δήλωση, ο χρόνος συγκράτησης είναι ορισμένος σους 25 κύκλους επανάληψης της ρουτίνας main. Ο κάθε κύκλος της main διαρκεί περίπου 20ms, επομένως η τιμή 25 αντιστοιχεί σε συγκράτηση περίπου για 0.5sec.

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

intlevel_2db[20]={43,54,68,86,109,137,172,216,273,343,432,544,685,862,1086,1367,1721,2166,2727,3433};

Αντίστοιχα, οι στάθμες των LED για απεικόνιση με βήμα 3db είναι δηλωμένες στο λογισμικό σε έναν πίνακα 20 στοιχείων ως:

int level_3db[20]={4,6,10,14,19,27,39,54,77,109,153,217,306,432,610,862,1218,1721,2430,3433};

Από τις δηλώσεις, μπορείτε να παρατηρήσετε ότι η μέγιστη στάθμη στην οποία ανάβει το περισσότερο σημαντικό LED, αντιστοιχεί στην τιμή 2700 που με τη σειρά της αντιστοιχεί σε τάση 3.3V περίπου όταν η τάση τροφοδοσίας και κατά συνέπεια η τάση αναφοράς του Α/D μετατροπέα είναι 5V. Δεν έχει νόημα να ορίσουμε μεγαλύτερη τιμή από 2700 γιατί όπως εξηγήσαμε σε προηγούμενη ενότητα, η μέγιστη έξοδος από το κύκλωμα εξαγωγής μέσης τιμής είναι 3.3V.

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

Ας ονομάσουμε τα LED της κάθε μπάρας των 20 LED ως LED0, LED1, LED2 έως LED19, για το λιγότερο έως το περισσότερο σημαντικό LED αντίστοιχα. Τότε, το κάθε LEDi θα πρέπει να ανάβει σε μία στάθμη Vi (V0, V1, V2 έως V19). Έστω λοιπόν ότι επιλέγουμε το βήμα απεικόνισης να είναι S=2db . Τότε κάθε στάθμη Vi, (με i από 0 έως 19) θα πρέπει να είναι κατά 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. Αυτό σημαίνει ότι αν γνωρίζουμε τη στάθμη V19, μπορούμε να υπολογίσουμε τη V18. Στη συνέχεια, γνωρίζοντας τη στάθμη V18, μπορούμε να υπολογίσουμε τη στάθμη V17 κι ούτω καθεξής. Επομένως μπορούμε να υπολογίσουμε όλες τις στάθμες, αρκεί να γνωρίζουμε το βήμα απεικόνισης S και την τιμή της V19 (τη στάθμη στην οποία ανάβει το περισσότερο σημαντικό LED).

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

Ο μετατροπέας από αναλογικό σε ψηφιακό είναι των 12bit. Αυτό σημαίνει ότι υπάρχουν 212=4096 δυνατές στάθμες (από 0 έως 4095) και 212-1=4095 βήματα. Η στάθμη 1 αντιστοιχεί σε τάση ίση με το 1/4096 της τάσης αναφοράς, δηλαδή ίση με 5/212=5/4096 V. Οποιαδήποτε άλλη στάθμη V, αντιστοιχεί σε τάση Uv=V·5/212 (2) Θέτοντας στην παραπάνω σχέση Uv=3.3V που είναι η μέγιστη τάση εξόδου του κυκλώματος εξαγωγής μέσης τιμής και λύνοντας ως προς V, βρίσκουμε ότι η τάση των 3.3V αντιστοιχεί στη στάθμη 2700, περίπου, του μετατροπέα A/D. Επομένως, το περισσότερο σημαντικό LED, το LED19, θα πρέπει ν’ ανάβει στη στάθμη 2700, δηλαδή V19=2700. Θέτοντας τώρα όπου S=2 και V19=2700 στη σχέση 1, βρίσκουμε ότι V18=2145. Στη συνέχεια, από τη V18 και τη σχέση 1, βρίσκουμε ότι V17=1704, έπειτα ότι V16=1353 και ούτω καθ’ εξής έως και την V0. Αξίζει να σημειώσουμε ότι ενώ όλοι οι υπολογισμοί θα πρέπει να γίνονται με μεγάλη ακρίβεια, οι τελικές τιμές που θα πρέπει να οριστούν στον πίνακα τιμών του λογισμικού, θα πρέπει να είναι στρογγυλοποιημένες στον πλησιέστερο ακέραιο.


Λεπτομέρειες του κυκλώματος

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

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

Ο χρονισμός του μικροελεγκτή γίνεται από έναν κρύσταλλο των 4MHz (τον ΧΤ1) που συνδέεται στους ακροδέκτες 9 και 10 (ακροδέκτες ταλαντωτή χρονισμού) του μικροελεγκτή (βλ. εικόνα 3). Αν και χρησιμοποιούμε κρύσταλλο των 4MHz, στην πραγματικότητα ο μικροελεγκτής τρέχει στα 64MHz, διότι χρησιμοποιούμε μία εσωτερική βαθμίδα (PLL) που πολλαπλασιάζει τη συχνότητα του κρυστάλλου δεκαέξι φορές (x16). Αυτή η ρύθμιση γίνεται μέσω λογισμικού, με κατάλληλη αρχικοποίηση καταχωρητών του dsPIC30F2012 (βλ. δήλωση “_FOSC(CSW_FSCM_OFF & XT_PLL16);” στον κώδικα. Με το συγκεκριμένο χρονισμό, ο μικροελεγκτής τρέχει στα 16MIPS (16 mega instructions per second) και ο χρόνος εκτέλεσης κάθε εντολής είναι 62.5 nanoseconds.

Οδηγίες συναρμολόγησης
Εικόνα 4. Οδηγίες συναρμολόγησης της πλακέτας του Ψηφιακού VU-meter

Τρόπος κατασκευής και προγραμματισμός

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

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

Ο κώδικας του μικροελεγκτή έχει γραφτεί σε γλώσσα C στον compiler ΧC16 της Microchip (έκδοση 1.6). Για να προγραμματίσετε τον μικροελεγκτή δεν χρειάζεστε απαραίτητα τον πηγιαίο κώδικα παρά μόνο τον κώδικα μηχανής που έχει προκύψει από μετάφραση του πηγαίου κώδικα μέσα από το ολοκληρωμένο περιβάλλον προγραμματισμού MPLAB X IDE της Microchip. Το αρχείο προγραμματισμού (hex file) παρέχεται ελεύθερα, παρακάτω. Αν όμως επιθυμείτε να κάνετε αλλαγές στον κώδικα για να προσαρμόσετε το VU-meter στις δικές σας προτιμήσεις ή για να τροποποιήσετε τον κώδικα και να φτιάξετε μία δική σας έκδοση, θα πρέπει να προμηθευτείτε τον πηγαίο κώδικα.

Ο προγραμματισμός του μικροελεγκτή μπορεί να γίνει με οποιοδήποτε συμβατό προγραμματιστή είτε εκτός της πλακέτας είτε ακόμη και πάνω στην πλακέτα. Εμείς προγραμματίσαμε τον δικό μας μικροελεγκτή, πάνω στην πλακέτα (on-board) χρησιμοποιώντας τον προγραμματιστή PICkit3 της Microchip. Για τον προγραμματισμό χρειάστηκε να κολλήσουμε προσωρινά στην πλακέτα πέντε λεπτά καλώδια για να συνδέσουμε τον dsPIC με τον προγραμματιστή, σύμφωνα με τις οδηγίες που παρέχονται από τη Microchip. Τα προσωρινά αυτά καλώδια αποκολλήθηκαν από την πλακέτα μετά τον προγραμματισμό.

Στο τυπωμένο κύκλωμα που φτιάξαμε δεν μπορείτε να κολλήσετε κοινά LED, παρά μόνο μπάρες των 10 ή 20 LED σε συσκευασία DIP, όπως αυτές της φωτογραφίας 3. Προτείνουμε πάντως να μην κολλήσετε τις μπάρες των LED απευθείας στο τυπωμένο αλλά να χρησιμοποιήσετε βάσεις.

Μπάρες LED
Φωτογραφία 3. H βασική πλακέτα δέχεται μπάρες LED

Αν θέλετε να χρησιμοποιήσετε διακριτά LED κι όχι μπάρες, θα πρέπει να χρησιμοποιήσετε μία δεύτερη πλακέτα που έχουμε σχεδιάσει ειδικά γι αυτό το σκοπό και που δέχεται διακριτά LED. Η πλακέτα αυτή μπορεί να κουμπώσει απευθείας πάνω στις βάσεις των LED της πλακέτας του VU-meter. Η πρόσθετη αυτή πλακέτα φαίνεται στην φωτογραφία 2 κι ουσιαστικά είναι μία πλακέτα τύπου «shield» που κουμπώνει απευθείας πάνω στην αρχική πλακέτα.

Η «shield» παρέχει σαφέστατα μεγαλύτερη οθόνη απεικόνισης σε σχέση με τις μπάρες LED και δίνει τη δυνατότητα χρήσης LED διαφόρων χρωμάτων. Στη shield που φτιάξαμε για το πρωτότυπο, χρησιμοποιήσαμε 13 πράσινα LED, 4 κίτρινα και 3 κόκκινα LED σε κάθε μπάρα των 20 LED, όπως μπορείτε να δείτε στην φωτογραφία 2. Όλα τα LED που χρησιμοποιήσαμε έχουν διατομή παραλληλογράμμου αλλά μπορείτε να χρησιμοποιήσετε και στρογγυλά ή τετράγωνα LED αν το επιθυμείτε. Αν χρησιμοποιήσετε LED διαφόρων χρωμάτων, θα πρέπει να προσέξετε όλα να έχουν παρόμοια φωτεινότητα.

Το ηλεκτρονικό σχέδιο της πλακέτας shield
Εικόνα 5. Το ηλεκτρονικό σχέδιο της πρόσθετης πλακέτας (προαιρετική) με κλασσικά LED

Το ηλεκτρονικό σχηματικό της πλακέτας «shield» μπορείτε να το δείτε στην εικόνα 5. Παρατηρήστε ότι για να κουμπώνει η πλακέτα αυτή πάνω στην πλακέτα του μικροελεγκτή, χρησιμοποιούνται πινοσειρές των 20 pins. Η πλακέτα shield είναι διπλής όψης όπως κι η πλακέτα του μικροελεγκτή.

Στην πλακέτα του μικροελεγκτή, όλα τα εξαρτήματα τοποθετούνται στην ίδια όψη (την άνω όψη της πλακέτας) ενώ στην πλακέτα «shield», τα LED τοποθετούνται στην άνω όψη της πλακέτας κι οι πινοσειρές. Αναλυτικότερα, για να συναρμολογήσετε τις πλακέτες, ανατρέξτε στους οδηγούς συναρμολόγησης των εικόνων 4 κι 6.

Οδηγός συναρμολόγησης της πρόσθετης πλακέτας
Εικόνα 6. Οδηγός συναρμολόγησης της πρόσθετης πλακέτας με τα κλασσικά LED

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

Συνημμένα

Το αρχείο προγραμματισμού του μικροελεγκτή (hex file)

Η πλακέτα του VU-meter, η πρόσθετη πλακέτα με τα LED κι ο κώδικας σε C

 

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

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

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