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

Διαδικτυακό ραδιόφωνο με Raspberry Pi: 5 βήματα (με εικόνες)
Διαδικτυακό ραδιόφωνο με Raspberry Pi: 5 βήματα (με εικόνες)

Βίντεο: Διαδικτυακό ραδιόφωνο με Raspberry Pi: 5 βήματα (με εικόνες)

Βίντεο: Διαδικτυακό ραδιόφωνο με Raspberry Pi: 5 βήματα (με εικόνες)
Βίντεο: 5 Δωρεάν Εφαρμογές Windows 10 που ΔΕΝ ΠΡΕΠΕΙ ΝΑ ΛΕΙΠΟΥΝ Από Κανένα PC 2024, Νοέμβριος
Anonim
Image
Image
Διαδικτυακό ραδιόφωνο με Raspberry Pi
Διαδικτυακό ραδιόφωνο με Raspberry Pi
Διαδικτυακό ραδιόφωνο με Raspberry Pi
Διαδικτυακό ραδιόφωνο με Raspberry Pi

Υπάρχει κάτι ικανοποιητικό με την περιστροφή των επιλογών και το πάτημα κουμπιών, όπως αυτά στα παλιά ραδιόφωνα. Δυστυχώς, πολλά από αυτά τα ραδιόφωνα είναι σπασμένα ή οι σταθμοί έχουν ησυχάσει. Ευτυχώς, δεν είναι πολύ δύσκολο να ενημερώσετε οποιοδήποτε ραδιόφωνο σε διαδικτυακό ραδιόφωνο χρησιμοποιώντας ένα βατόμουρο pi zero W και θα σας δείξω πώς!

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

Καθώς το pi τρέχει εύκολο να ακολουθήσει τον κώδικα python, μόλις συνδεθούν τα χειριστήρια ραδιοφώνου, μπορείτε εύκολα να προσθέσετε άλλες λειτουργίες όπως ξυπνητήρι, ηχείο bluetooth, ρολόι ομιλίας κ.λπ. αλλάζοντας απλώς το λογισμικό μέσω ssh.

Αυτό το έργο ήταν εμπνευσμένο από το Dansette Pi Internet Radio, η κύρια διαφορά είναι ότι εδώ, οι επιλογείς ελέγχουν το ραδιόφωνο γυρίζοντάς τα, όχι ως κουμπιά.

Προμήθειες

  • παλιό ραδιόφωνο τρανζίστορ
  • Raspberry pi zero W
  • Picaxe 20X2
  • Μονο ενισχυτής Adafruit 3W - MAX98357 I2S Amp Breakout
  • Υποδοχή κάννης για τροφοδοσία
  • Τροφοδοσία 5V DC για να ταιριάζει με το βύσμα
  • διάφορες αντιστάσεις
  • μερικούς πυκνωτές 100nF
  • stripboard
  • Υποδοχή IC DIP 20 ακίδων
  • καλώδια βραχυκυκλωτήρων και καρφίτσες κεφαλίδας
  • μικρά παξιμάδια και μπουλόνια

Βήμα 1: Επισκόπηση

Η ιδέα είναι να έχετε το raspberry pi συνδεδεμένο στο διαδίκτυο μέσω του ενσωματωμένου wifi και να μεταδώσετε ένα από μια λίστα προκαθορισμένων ραδιοφωνικών σταθμών στο Διαδίκτυο. Τα αρχικά κουμπιά και καντράν (ποτενσιόμετρα) θα συνδεθούν σε ένα τσιπ πικάξ, το οποίο χρησιμεύει ως μετατροπέας αναλογικού σε ψηφιακό. Το pi διαβάζει συνεχώς τα χειριστήρια από το picaxe και αντιδρά ανάλογα, αλλάζοντας είτε την ένταση είτε τον σταθμό. Όταν αλλάξει ο σταθμός, το ραδιόφωνο θα μιλήσει το όνομα του νέου σταθμού. Τέλος, ο συνεχόμενος ήχος μεταφέρεται σε ένα μονοφωνικό ενισχυτή ο οποίος είναι συνδεδεμένος με το αρχικό ηχείο ραδιοφώνου.

Το υπέροχο με τη χρήση ενός raspberry pi είναι ότι μόλις ρυθμιστεί το κύκλωμα, τα χαρακτηριστικά του ραδιοφώνου μπορούν εύκολα να τροποποιηθούν αλλάζοντας μερικές γραμμές κώδικα στο pi μέσω ssh. Για παράδειγμα, μπορείτε εύκολα να συνδεθείτε σε ηχείο bluetooth ή να δημιουργήσετε ξυπνητήρι:)

Βήμα 2: Το ραδιόφωνο

Το ραδιόφωνο
Το ραδιόφωνο
Το ραδιόφωνο
Το ραδιόφωνο
Το ραδιόφωνο
Το ραδιόφωνο

Το πιο σημαντικό μέρος είναι το ραδιόφωνο δότη. Δεν χρειάζεται να λειτουργεί αλλά πρέπει να έχει λειτουργικό ηχείο (εκτός αν θέλετε να εγκαταστήσετε ένα νέο).

Το ραδιόφωνό μου έχει 4 καντράν και 7 κουμπιά. Δύο από τους επιλογείς θα χρησιμοποιηθούν για την αλλαγή της έντασης και του σταθμού. Οι άλλες δύο κλήσεις και τα κουμπιά δεν κάνουν τίποτα, αλλά θα τα συνδέσω έτσι κι αλλιώς σε περίπτωση που θέλω να τα χρησιμοποιήσω αργότερα.

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

Στο ραδιόφωνό μου, όταν αλλάζετε σταθμούς, ένας μικρός κόκκινος δείκτης μετακινείται σε μια οθόνη για να δείξει ποια συχνότητα ακούτε. Iθελα πολύ να διατηρήσω αυτό το χαρακτηριστικό! Το κουμπί αλλαγής σταθμού γυρίζει έναν μεταβλητό πυκνωτή και λειτουργεί ένα σύστημα τροχαλίας με ένα κομμάτι χορδή που συγκρατεί τον κόκκινο δείκτη.

Προσπάθησα να δημιουργήσω ένα κύκλωμα για να μετρήσω την χωρητικότητα αυτού του μεταβλητού πυκνωτή, αλλά η χωρητικότητα ήταν τόσο μικρή που η απλή μέθοδος χρονισμού της φόρτισης/εκφόρτισης δεν λειτουργεί. Υπάρχουν άλλες μέθοδοι, αλλά μου φάνηκαν περίπλοκες και δεν άξιζαν τον κόπο…

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

Κουμπιά ώθησης

Υπήρχε μια περίπλοκη πλακέτα κυκλώματος που φιλοξενούσε την υποδομή για τα κουμπιά. Μετά την αφαίρεση των εξαρτημάτων και των καλωδίων που συγκολλήθηκαν, έμαθα ποιες συνδέσεις γίνονται/σπάνε όταν πιέζετε ή αφήνετε ένα κουμπί. Μερικά από τα κουμπιά ήταν συνδεδεμένα μεταξύ τους, οπότε έπρεπε να σπάσω μερικά κομμάτια χαλκού στην πλακέτα κυκλώματος. Τέλος κόλλησα σε μερικά καλώδια που θα πάνε στο picaxe για να δώσω 6 κουμπιά που λειτουργούν μεμονωμένα.

Βρείτε επίσης ένα άνετο σημείο για να κάθονται το pi και το picaxe, ιδανικά όσο το δυνατόν πιο μακριά από το ηχείο, καθώς το μαγνητικό πεδίο από το ηχείο μπορεί να μπερδέψει τους μικροεπεξεργαστές. Άνοιξα μερικές τρύπες στο μεταλλικό πλαίσιο του ραδιοφώνου για να τοποθετήσω το pi.

Βήμα 3: Picaxe

Picaxe
Picaxe
Picaxe
Picaxe
Picaxe
Picaxe

Το κύκλωμα picaxe είναι παραπάνω, με μόνο δύο από τα ποτενσιόμετρα και ένα κουμπί να εμφανίζονται για ευκρίνεια. Το κύκλωμα είναι αρκετά απλό, με τον υαλοκαθαριστήρα κάθε ποτενσιόμετρου συνδεδεμένο σε είσοδο ADC. Για τα κουμπιά, ο πείρος εισόδου είναι συνδεδεμένος με τη γείωση και το κουμπί βρίσκεται μεταξύ της εισόδου και +3.3V. Αυτό το κύκλωμα δεν περιλαμβάνει το κύκλωμα λήψης επειδή έχω προγραμματίσει το picaxe μου σε ξεχωριστό πίνακα.

Ο κώδικας Picaxe είναι αρκετά απλός. Το picaxe διαβάζει τις τιμές ADC των ποτενσιόμετρων και τις καταστάσεις των κουμπιών, και στη συνέχεια τις αποθηκεύει στην εσωτερική μνήμη την οποία το pi θα διαβάσει.

Μπορείτε να χρησιμοποιήσετε οποιοδήποτε τσιπ picaxe X2. Τα μέρη που δεν είναι X2 δεν έχουν λειτουργία slave I2C και επομένως δεν θα λειτουργήσουν με αυτές τις οδηγίες.

Εάν χρησιμοποιείτε υπολογιστή Linux για τον προγραμματισμό του picaxe, για να λειτουργήσει το καλώδιο λήψης AXE027, πρέπει να εκτελέσετε τις ακόλουθες εντολές:

sudo modprobe ftdi_sio

sudo chmod 777/sys/bus/usb-serial/drivers/ftdi_sio/new_id sudo echo "0403 bd90">/sys/bus/usb-serial/drivers/ftdi_sio/new_id

Σε περίπτωση που οι τιμές του ποτενσιόμετρου μεταπηδήσουν άτακτα, ένας πυκνωτής 100nF μπορεί να τοποθετηθεί μεταξύ του εδάφους και του υαλοκαθαριστήρα του δοχείου.

Βήμα 4: Raspberry Pi

Raspberry Pi
Raspberry Pi
Raspberry Pi
Raspberry Pi

Εδώ έρχονται οι εγκέφαλοι της επέμβασης. Ορισμένα πακέτα θα πρέπει να εγκατασταθούν στο pi με

sudo apt-get ενημέρωση

sudo apt-get install -y i2c-tools vlc espeak python-smbus python-pip sudo pip install python-vlc

Το pi θα μιλήσει με το picaxe μέσω I2C. Για να ενεργοποιήσετε το I2C, βεβαιωθείτε ότι το αρχείο /etc /modules περιέχει τη γραμμή

i2c-dev

και που έχει το /boot/config.txt

dtparam = i2c_arm = on

Για να ρυθμίσετε το pi να λειτουργεί με τον ενισχυτή, ακολουθήστε τον οδηγό του Adafruit εδώ ή απλώς εκτελέστε

curl -sS https://raw.githubusercontent.com/adafruit/Raspbe…> | κτυπώ δυνατά

και αποδεχτείτε τα πάντα.

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

ν

Το αρχείο station.txt περιέχει μια λίστα με τις διευθύνσεις URL των σταθμών και τα ονόματα των σταθμών που θα εκφωνηθούν κατά την αλλαγή του σταθμού. Έχει την ακόλουθη μορφή

st1 = https:// someradiostream

n1 = κάποιο ραδιόφωνο st2 = https:// anotherstream n2 = άλλος σταθμός

Αυτό το αρχείο δεν πρέπει να περιέχει κενές γραμμές.

Για να βρω διευθύνσεις URL σταθμού χρησιμοποιώ το www.fmstream.org.

Εάν σκοπεύετε να απενεργοποιήσετε το ραδιόφωνο απλά τραβώντας την τροφοδοσία, είναι καλή ιδέα να ρυθμίσετε το pi σε μόνο για ανάγνωση για να αποφύγετε καταστροφές της κάρτας SD. Το σενάριο read_only_setup.sh το κάνει αυτό για εσάς και επιτρέπει την εναλλαγή μεταξύ μόνο για ανάγνωση και ανάγνωση-εγγραφή πληκτρολογώντας "ro" και "rw" σε ένα τερματικό.

Βήμα 5: Το βάζουμε όλα μαζί

Το βάζουμε όλα μαζί
Το βάζουμε όλα μαζί
Το βάζουμε όλα μαζί
Το βάζουμε όλα μαζί
Το βάζουμε όλα μαζί
Το βάζουμε όλα μαζί

Χρησιμοποιώντας stripboard, έφτιαξα ένα μικρό καπέλο για το picaxe και τον ενισχυτή να κάθονται πάνω από το pi.

Για την παροχή ρεύματος, αφαίρεσα μία από τις παλιές υποδοχές σύνδεσης του ραδιοφώνου και εγκατέστησα μια νέα υποδοχή βαρελιού DC, στην οποία συγκολλήσα ένα καλώδιο micro USB. Βεβαιωθείτε ότι έχετε ελέγξει προσεκτικά την πολικότητα των καλωδίων!

Τέλος, συνδέστε τα πάντα, προσπαθήστε να κάνετε καλύτερα τη δρομολόγηση των καλωδίων που έκανα, κλείστε το καπάκι και απολαύστε το ραδιόφωνό σας!

Συνιστάται: