Πίνακας περιεχομένων:
- Προμήθειες
- Βήμα 1: Περίπτωση και διάταξη στοιχείων
- Βήμα 2: Ο διακόπτης Audio Stereo Sensing
- Βήμα 3: Το κουτί υπερ-πυκνωτών
- Βήμα 4: Συναρμολόγηση και χρήση θυρών USB
- Βήμα 5: Λογισμικό και λειτουργικό σύστημα
Βίντεο: PAB: ένα προσωπικό κουτί ήχου: 5 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:34
Η ιδέα για αυτό το έργο γεννήθηκε από την ανάγκη να γδάρουν τα τρία μεγάλα στοιχεία του συστήματος HiFi, τα οποία είχαν φτάσει πλέον στο τέλος της ζωής τους. Επιπλέον, χρειαζόμουν περισσότερο χώρο στο ράφι για άλλα αντικείμενα, οπότε βρήκα την ευκαιρία να αρχίσω να σπουδάζω σε ένα Personal Audio Box για να αντικαταστήσω όλες τις λειτουργίες των τριών vintage «γίγαντες».
Ένα Raspberry Pi3B+ φάνηκε να είναι η καλύτερη επιλογή για αυτούς τους λόγους:
- Μικρός συντελεστής μορφής και χαμηλή κατανάλωση ενέργειας.
- Έξοδος PCM ήχου με αποδεκτή ποιότητα.
- Διαθεσιμότητα του mopidy, ενός επεκτάσιμου διακομιστή μουσικής που εφαρμόζει πρωτόκολλο mpd.
- Υψηλή ενσωμάτωση πηγών: τοπική μουσική, CDROM, ραδιοφωνικές ροές, Spotify, Tunein κ.λπ.
Ενσωματώνοντάς το με λίγα άλλα στοιχεία, μπόρεσα να δημιουργήσω ένα πλήρες και ακέφαλο σύστημα, ικανό να παίζει μουσική από CD, τοπικά αρχεία, διαδικτυακό ραδιόφωνο, λίστες αναπαραγωγής Spotify, podcast. Και με τη χρήση ενός προσώπου, μπορώ τώρα να διαχειριστώ όλη τη λειτουργία του από οποιαδήποτε συσκευή συνδεδεμένη στο LAN (smartphone, υπολογιστής, tablet).
Προμήθειες
- Βατόμουρο PI3B+
- Μια παλιά θήκη DVD
- CDROM αναγνώστη
- Τροφοδοτικό 5v-5A
- Υπερπυκνωτές
- Διάφορα εξαρτήματα (τρανζίστορ, LED, ρελέ, Op-Amp): δείτε λεπτομέρειες έργου
Βήμα 1: Περίπτωση και διάταξη στοιχείων
Το πρώτο πρόβλημα που αντιμετώπισα ήταν η επιλογή και η εύρεση μιας κατάλληλης θήκης. Βρίσκοντας τίποτα στο σπίτι, βρήκα αυτό το φτηνό DVD player στο Amazon για μερικά δολάρια, αλλά οτιδήποτε παρόμοιο θα είναι αρκετά καλό. Η θήκη έχει αυτές τις διαστάσεις: 27cm x 20cm x 3.5cm.
Αφαίρεσα εντελώς όλο το περιεχόμενο, διατηρώντας μόνο τη μικρή πλακέτα για τη διαχείριση της μπροστινής λυχνίας LED, το κουμπί λειτουργίας και την είσοδο USB. Στη συνέχεια, σχεδίασα την εσωτερική διάταξη για τα νέα εξαρτήματα (βλέπε εικόνα).
Βήμα 2: Ο διακόπτης Audio Stereo Sensing
Γιατί ένας αυτόματος διακόπτης ήχου; Η ανάγκη προκύπτει από το γεγονός ότι ακούω συχνά τηλεόραση μέσω του ενισχυτή HiFi, αλλά δεν ήθελα να επιλέγω κάθε φορά τον διακόπτη πηγής στον ενισχυτή. Με αυτό το κύκλωμα, η είσοδος του ενισχυτή είναι πάντα η ίδια και η πηγή επιλέγεται αυτόματα από το διακόπτη στερεοφωνικής ανίχνευσης ήχου.
Το σχήμα είναι απλό. Όταν το PAB δεν παίζει, η πηγή ήχου στο HiFi προέρχεται από την τηλεόραση. Εάν το PAB παίζει, το ρελέ επιλέγει ήχο από το Raspberry.
Βήμα 3: Το κουτί υπερ-πυκνωτών
Όπως είναι γνωστό, μια ξαφνική διακοπή της τροφοδοσίας στο Raspberry προκαλεί την άμεση διακοπή λειτουργίας χωρίς την εκτέλεση της διαδικασίας τερματισμού, κινδυνεύοντας να θέσει σε κίνδυνο το λειτουργικό σύστημα και συνεπώς τη συνολική λειτουργικότητά του. Ένας υπερπυκνωτής διαφέρει από έναν παραδοσιακό πυκνωτή σε δύο βασικά χαρακτηριστικά: οι πλάκες του έχουν πραγματικά μεγαλύτερη επιφάνεια και η απόσταση μεταξύ τους είναι πολύ μικρότερη, καθώς ο παρεμβαλλόμενος μονωτής λειτουργεί διαφορετικά από ένα συμβατικό διηλεκτρικό. Με αυτές τις τεχνικές, μπορούν να κατασκευαστούν πυκνωτές πολύ υψηλής χωρητικότητας (της τάξης αρκετών δεκάδων Farads) διατηρώντας παράλληλα μικρές διαστάσεις. Η ιδέα είναι συνεπώς να δημιουργηθεί ένα "buffer" 5v μέσω υπερπυκνωτών και να ενεργοποιηθεί ο τερματισμός λειτουργίας όταν ανιχνευθεί η απουσία τάσης τροφοδοσίας. Με αυτόν τον τρόπο, δεν θα είναι πλέον απαραίτητη η χειροκίνητη επέμβαση για την εκκίνηση του τερματισμού λειτουργίας, αλλά απλώς αφαιρέστε το βύσμα (ή ενεργοποιήστε έναν διακόπτη) για να εξασφαλίσετε μια ασφαλή απενεργοποίηση.
Αναφερόμενοι στο σχηματικό, η τροφοδοσία εφαρμόζεται στον αριστερό ακροδέκτη και η δίοδος Schottky εμποδίζει κάθε επιστροφή ρεύματος στην τροφοδοσία. Οι δύο αντιστάσεις ισχύος 1,2Ω 5W παράλληλα περιορίζουν το ρεύμα φόρτισης των υπερπυκνωτών, για την προστασία του τροφοδοτικού. Χωρίς αυτές τις αντιστάσεις, το μέγιστο ρεύμα που απαιτείται από τους δύο υπερπυκνωτές που εκφορτίζονται θα ήταν σχεδόν βέβαιο ότι θα μπορούσε να βλάψει την τροφοδοσία. Η δίοδος ισχύος πρέπει απαραιτήτως να είναι τύπου Schottky για να εισαγάγει μια ελάχιστη πτώση τάσης σε σειρά με τη ράβδο 5V.
Οι δύο υπερπυκνωτές συνδέονται σε σειρά για να εξασφαλίσουν μέγιστη τάση 5,4 βολτ στα άκρα τους (κάθε υπερπυκνωτής είναι 10F, 2,7V) και οι δύο αντιστάσεις παράλληλα με τις χωρητικότητες εξισορροπούν τα ρεύματα φόρτισης και εγγυώνται αργή εκφόρτιση όταν γυρίζει το σμέουρο μακριά από. Οι δύο αντιστάσεις 1KΩ παράλληλες με την είσοδο χωρίζουν τα 5V της παροχής ρεύματος στο μισό για να πάρουν το απαραίτητο σήμα για τον εντοπισμό διακοπής ρεύματος (συνδεδεμένο στο Raspberry GPIO 7). Σε αντίθεση με τις σύγχρονες κυψέλες λιθίου, οι υπερπυκνωτές εγγυώνται έναν σχεδόν άπειρο αριθμό κύκλων φόρτισης και εκφόρτισης, χωρίς να χάνουν κανένα χαρακτηριστικό.
Το κύκλωμα θα είναι συνεπώς σε θέση να διατηρεί το Raspberry σε λειτουργία και να λειτουργεί για το χρόνο που απαιτείται για την κανονική απενεργοποίηση. Η έναρξη της διαδικασίας τερματισμού λειτουργίας θα εντοπιστεί από ένα πρόγραμμα που εκτελείται στο Raspberry, το οποίο θα παρακολουθεί την κατάσταση του GPIO 7, στο οποίο είναι συνδεδεμένο το επίπεδο ισχύος. Όταν αποσυνδέεται η τροφοδοσία, ο ακροδέκτης GPIO 7 περνά σε χαμηλό επίπεδο και ενεργοποιεί τον τερματισμό λειτουργίας. Αυτός είναι ο κωδικός:
#!/usr/bin/env python
εισαγωγή RPi. GPIO ως GPIO εισαγωγή υποεπεξεργασίας GPIO.setmode (GPIO. BCM) # χρήση αρίθμησης GPIO GPIO.setwarnings (False) INT = 7 # pin 26 οθόνες τροφοδοσίας # χρήση αδύναμου pull_up για δημιουργία υψηλού GPIO.setup (INT, GPIO. IN, pull_up_down = GPIO. PUD_UP) def main (): while True: # ορίστε μια διακοπή σε μια άκρη που πέφτει και περιμένετε να συμβεί GPIO.wait_for_edge (INT, GPIO. FALLING) # ελέγξτε ξανά το επίπεδο καρφιτσών αν GPIO.input (INT) == 0: # ακόμα χαμηλό, κλείσιμο Pi subprocess.call (['poweroff'], shell = True, / stdout = subprocess. PIPE, stderr = subprocess. PIPE) if _name_ == '_main_': κύριος()
Το πρόγραμμα πρέπει να αποθηκευτεί στο/usr/local/bin/.py και να διαμορφωθεί για να λειτουργεί όταν ξεκινά το Raspberry. Από τις δοκιμές που πραγματοποιήθηκαν, οι χωρητικότητες των δύο υπερπυκνωτών αποδείχθηκαν επαρκείς για να εξασφαλίσουν τον χρόνο διακοπής λειτουργίας του Raspberry. Εάν απαιτείται περισσότερος χρόνος, θα αρκεί η εισαγωγή δύο άλλων υπερπυκνωτών παράλληλα με τους υπάρχοντες ή η αντικατάστασή τους με δύο μεγαλύτερης χωρητικότητας.
Βήμα 4: Συναρμολόγηση και χρήση θυρών USB
Το Block Schematic δείχνει πώς μπορείτε να συνδέσετε τις διάφορες συσκευές για PAB στον κύριο διαύλο 3 (+5v, USB και στερεοφωνικό ήχου).
Σημειώστε ότι το τροφοδοτικό του προγράμματος ανάγνωσης CD έχει συνδεθεί απευθείας στο κύριο τροφοδοτικό μέσω καλωδίου "Y", ενώ η είσοδος ήχου πηγαίνει στο Raspberry. Οι τέσσερις θύρες Raspberry USB έχουν χρησιμοποιηθεί για:
- CD reader?
- Μια μνήμη 250 GB για αποθήκευση τοπικών αρχείων μουσικής (mp3, m4a, wma, flac, κ.λπ.).
- μια κάρτα micro SD 16 GB (με προσαρμογέα USB) για να αποθηκεύσετε το πλήρες αντίγραφο ασφαλείας του κύριου Raspi SD (δείτε παρακάτω).
- σύνδεση με την εξωτερική θύρα USB στη θήκη.
Η εξωτερική θύρα USB μπορεί να χρησιμοποιηθεί για αναπαραγωγή εξωτερικής μουσικής ή τροφοδοσία εξωτερικών συσκευών. Στην περίπτωσή μου, τροφοδοτώ έναν εξωτερικό πομπό Bluetooth καθώς έχω απορρίψει τον εσωτερικό του Raspi λόγω χαμηλού εύρους και αστάθειας. Με το εξωτερικό bluetooth οδηγώ 2 διαφορετικά στερεοφωνικά ηχεία στο σπίτι.
Η κάρτα micro SD 16 GB (με προσαρμογέα USB) διαθέτει πλήρες αντίγραφο ασφαλείας Raspberry. Χρησιμοποιώ τον κλώνο rpi, ο οποίος αποδείχθηκε ότι είναι ένα πολύ καλό έργο που επιτρέπει την πλήρη δημιουργία αντιγράφων ασφαλείας του Raspberry χωρίς την ανάγκη αφαίρεσης του εσωτερικού SD. Έχω αλλάξει πολλές φορές αυτό το SD με το εσωτερικό, χωρίς κανένα πρόβλημα. Έτσι, έχω ρυθμίσει ένα cronjob για root χρήστη:
#Δημιουργία αντιγράφων ασφαλείας στο sda - κάθε Τετάρτη βράδυ
15 2 * * 3/usr/sbin/rpi -κλώνος sda -u | mail -s "Δημιουργία αντιγράφων ασφαλείας PAB στο SD - ολοκληρωμένο"
Στη συνέχεια, χρησιμοποίησα ξανά το αρχικό κουμπί λειτουργίας στη θήκη για να κλείσω και να επανεκκινήσω το Raspberry, ακολουθώντας αυτόν τον οδηγό:
Βήμα 5: Λογισμικό και λειτουργικό σύστημα
Το κύριο λειτουργικό σύστημα του PAB είναι ένα απλό Raspbian minimal (Debian Buster) με αρκετές συγκεκριμένες προσθήκες:
- rpi-κλώνος για κύριο αντίγραφο ασφαλείας.
- ssmtp, ένα απλό MTA για να απομακρύνετε την αλληλογραφία από το σύστημα.
- udevil, για να επιτρέπεται η αυτόματη ρύθμιση μονάδων USB.
- abcde, για να πιάσω τη συλλογή CD μου και να τη συμπιέσω σε οποιαδήποτε μορφή ήχου.
- mopidy, ένα πλήρες πρόγραμμα αναπαραγωγής μουσικής Daemon με ένα σωρό πρόσθετα.
Έχω γράψει στη συνέχεια μια πλήρη εφαρμογή διακομιστή PAB Scheduler χρησιμοποιώντας python3 και tornado, των οποίων ο κώδικας δεν εμπίπτει στο πεδίο αυτού του άρθρου, αλλά μπορώ να παράσχω οδηγίες κατόπιν αιτήματος. Με το Scheduler μπορείτε να ρυθμίσετε λίστες αναπαραγωγής για οποιαδήποτε ώρα της ημέρας σας, διαφοροποιώντας τις καθημερινές από τα Σαββατοκύριακα.
Το κύριο λογισμικό που τρέχει το PAB είναι το mopidy. Για εγκατάσταση και διαμόρφωση του mopidy (αρκετά εκτεταμένο) ανατρέξτε στην τεκμηρίωσή του εδώ:
Αυτές είναι οι εγκατεστημένες προσθήκες:
- Mopidy-Alsamixer
- Mopidy-Internetarchive
- Mopidy-Local-Sqlite
- Mopidy-Podcast
- Mopidy-Scrobbler
- Mopidy-Soundcloud
- Mopidy-Spotify
- Mopidy-Spotify-Tunigo
- Mopidy-Cd
- Μόπιντι-risρις
- Mopidy-Local-Images
- Mopidy-TuneIn
Προκειμένου να αποκτήσω τον πλήρη έλεγχο του PAB, επέλεξα την επέκταση προσώπου Iris (δείτε εικόνες). Αυτή είναι μια πολύ ισχυρή εφαρμογή ιστού με τις ακόλουθες δυνατότητες:
- Πλήρη χειριστήρια διεπαφής μέσω διαδικτύου για το Mopidy
- Βελτιωμένη υποστήριξη για τοπικές βιβλιοθήκες (τροφοδοτείται από Mopidy-Local-Sqlite)
- Περιηγηθείτε και διαχειριστείτε λίστες αναπαραγωγής και κομμάτια
- Ανακαλύψτε νέα, δημοφιλή και σχετική μουσική (υποστηρίζεται από το Spotify)
- Φιλοξενείται ελεύθερα
-
Ενσωμάτωση με:
- Spotify
- LastFM
- Ιδιοφυία
- Snapcast
- Icecast
Με αυτόν τον τρόπο, είμαι ελεύθερος να ελέγξω τη μουσική μου σχεδόν από οπουδήποτε (υπολογιστή, tablet, smartphone).
Συνιστάται:
Ένδειξη επιπέδου ήχου/ήχου: 10 βήματα
Ένδειξη επιπέδου ήχου/ήχου: Σε αυτό το έργο, θα σας δείξω πώς να δημιουργήσετε έναν απλό δείκτη επιπέδου ήχου χρησιμοποιώντας λειτουργικούς ενισχυτές. Σημείωση: Για να κάνετε ερωτήσεις, επισκεφτείτε τον ιστότοπό μου στη διεύθυνση Ask the Expert.Helpful Supplemental Videos: Simulated Circuit Set Up On A Bread Board (Proto
Αναπαραγωγή αρχείων ήχου ήχου (Wav) με Arduino και DAC: 9 βήματα
Αναπαραγωγή αρχείων ήχου ήχου (Wav) Με Arduino και DAC: Αναπαραγωγή αρχείου wav Audio από την κάρτα Audino SD. Αυτό το Instructable θα σας δείξει πώς ένα αρχείο wav στο SdCard σας μπορεί να αναπαραχθεί μέσω ενός απλού κυκλώματος σε ένα ηχείο. Το αρχείο wav πρέπει να είναι μονοφωνικό 8 bit. Δεν είχα πρόβλημα να παίξω αρχεία 44 KHz. Αν και όχι
Δημιουργήστε ένα κουτί ομιλίας μέσα σε ένα έμβολο τουαλέτας: 6 βήματα (με εικόνες)
Δημιουργήστε ένα κουτί ομιλίας μέσα σε ένα έμβολο τουαλέτας: Με ένα συγκολλητικό σίδερο, ένα ζευγάρι ηχεία υπολογιστή και κάποιο υδραυλικό εξοπλισμό (συμπεριλαμβανομένου ενός εμβόλου τουαλέτας). Μπορείτε να δημιουργήσετε ένα αρκετά καλό Talk Box (ένα talk box είναι αυτό που χρησιμοποιούν καλλιτέχνες όπως το Daft Punk για να αποκτήσουν αυτό το Robot Voice Effect σε τραγούδια όπως το Around th
Κουτί εναλλαγής ήχου (1/8 " Στερεοφωνικά βύσματα): 3 βήματα
Audio Switcher Box (1/8 " Στερεοφωνικά βύσματα): Πέρασα πολλές ώρες ψάχνοντας στο διαδίκτυο, ψάχνοντας να αγοράσω ένα είδος 1/8 " κουτί εναλλαγής ήχου jack, αλλά χωρίς αποτέλεσμα. Έτσι, αποφάσισα να φτιάξω το δικό μου, και ήταν εκπληκτικά εύκολο. Για αυτό το έργο χρησιμοποίησα: 1 - 4x4x2 κουτί διακλάδωσης PVC (από τον Lowes)
Δημιουργήστε ένα φοβερό προσωπικό υπόβαθρο: 6 βήματα
Δημιουργήστε ένα φοβερό προσωπικό υπόβαθρο: Αυτό είναι ένα γρήγορο οδηγό για το πώς να φτιάξετε το δικό σας προσαρμοσμένο υπόβαθρο στα vista (δεν είμαι σίγουρος για άλλα συστήματα, αλλά το έκανα στο vista. Αυτό περιλαμβάνει τη χρήση ενός φοβερού προφύλαξης οθόνης (που ονομάζεται mystify), adobe photoshop και λίγη τύχη. με το ν