Πίνακας περιεχομένων:
2025 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2025-01-23 14:39
Αγαπητοί φίλοι καλώς ήλθατε σε ένα άλλο εκπαιδευτικό! Σήμερα πρόκειται να κατασκευάσουμε μια συσκευή Internet Radio με μεγάλη οθόνη 3,5”χρησιμοποιώντας έναν φθηνό πίνακα ESP32. Είτε το πιστεύετε είτε όχι, μπορούμε τώρα να δημιουργήσουμε ένα διαδικτυακό ραδιόφωνο σε λιγότερο από 10 λεπτά και με λιγότερο από 30 $. Υπάρχουν πολλά που πρέπει να καλυφθούν, ας ξεκινήσουμε!
Πριν από μερικούς μήνες, ολοκλήρωσα ένα έργο Arduino FM Radio το οποίο λειτουργεί υπέροχα και φαίνεται ακόμα καλύτερο κατά τη γνώμη μου. Αν θέλετε να δείτε πώς έφτιαξα αυτό το έργο, μπορείτε να διαβάσετε το Instructable εδώ. Το πρόβλημα είναι ότι, αν και αυτό το ραδιόφωνο φαίνεται δροσερό, δεν είναι πρακτικό επειδή ζω σε μια μικρή πόλη στη νότια Ελλάδα και οι μεγάλοι ελληνικοί ραδιοφωνικοί σταθμοί που προτιμώ να ακούω, δεν έχουν πομπούς εδώ γύρω. Έτσι, ακούω τα αγαπημένα μου ραδιόφωνα στο διαδίκτυο στο φορητό υπολογιστή ή το tablet μου, το οποίο επίσης δεν είναι τόσο πρακτικό. Έτσι, σήμερα θα φτιάξω μια διαδικτυακή ραδιοφωνική συσκευή για να μπορώ να ακούω τους αγαπημένους μου ραδιοφωνικούς σταθμούς από όλο τον κόσμο!
Όπως μπορείτε να δείτε, μια πρώτη έκδοση του έργου είναι έτοιμη σε ένα breadboard. Ας το ενεργοποιήσουμε. Όπως μπορείτε να δείτε, το έργο συνδέεται στο Διαδίκτυο και στη συνέχεια μεταδίδει μουσική από προκαθορισμένους Ραδιοφωνικούς Σταθμούς.
Έχω συντονιστεί στον ραδιοφωνικό σταθμό Real FM από την Αθήνα και χρησιμοποιώντας αυτά τα κουμπιά μπορούμε να αλλάξουμε τον Ραδιοφωνικό Σταθμό που ακούμε. Έχω αποθηκεύσει τους αγαπημένους μου ραδιοφωνικούς σταθμούς στη μνήμη του ESP32, ώστε να έχω εύκολη πρόσβαση σε αυτούς. Με αυτό το ποτενσιόμετρο, μπορώ να αλλάξω την ένταση του ηχείου. Εμφανίζω το Όνομα του Ραδιοφωνικού Σταθμού που ακούμε σε μια μεγάλη οθόνη 3,5”με ρετρό διεπαφή χρήστη. Το έργο λειτουργεί καλά και είναι πολύ εύκολο να κατασκευαστεί.
Μπορείτε να δημιουργήσετε το ίδιο έργο σε λιγότερο από 10 λεπτά, αλλά πρέπει να έχετε κάποια εμπειρία. Εάν αυτό είναι το πρώτο σας έργο, σκεφτείτε πρώτα να δημιουργήσετε ένα πιο απλό, για να αποκτήσετε κάποια εμπειρία. Ελέγξτε τις οδηγίες μου για απλές ιδέες έργου και όταν είστε πιο άνετοι με το Arduino, τα ηλεκτρονικά θα επιστρέψουν για να δημιουργήσουν αυτό το υπέροχο έργο. Ας αρχίσουμε τώρα να δημιουργούμε το δικό μας διαδικτυακό ραδιόφωνο.
ΕΝΗΜΕΡΩΣΗ 6/6/2019
Το πρόβλημα θορύβου έχει επιλυθεί με την προσθήκη ενός μετασχηματιστή απομόνωσης. Ελέγξτε το ενημερωμένο σχηματικό διάγραμμα. Ευχαριστώ!
Βήμα 1: Αποκτήστε όλα τα μέρη
Θα χρειαστούμε τα ακόλουθα μέρη:
- ESP32 ▶
- Αποκωδικοποιητής MP3 ▶
- Isolation Transformer ▶
- Ενισχυτής ▶
- Ηχείο 3W ▶
- 3.5 "Nextion Display ▶
- Κουμπιά ώθησης ▶
- Breadboard ▶
- Καλώδια ▶
Το συνολικό κόστος του έργου είναι περίπου 40 $, αλλά αν δεν χρησιμοποιήσετε οθόνη το κόστος του έργου είναι περίπου 20 $. Καταπληκτικά πράγματα. Μπορούμε να φτιάξουμε το δικό μας διαδικτυακό ραδιόφωνο με μόλις 20 $!
Βήμα 2: Πίνακας ESP32
Η καρδιά του έργου είναι, φυσικά, ο ισχυρός πίνακας ESP32. Εάν δεν είστε εξοικειωμένοι με αυτό, το τσιπ ESP32 είναι ο διάδοχος του δημοφιλούς τσιπ ESP8266 που έχουμε χρησιμοποιήσει πολλές φορές στο παρελθόν. Το ESP32 είναι κτήνος! Προσφέρει δύο πυρήνες επεξεργασίας 32 bit που λειτουργούν στα 160MHz, τεράστια ποσότητα μνήμης, WiFi, Bluetooth και πολλές άλλες δυνατότητες με κόστος περίπου 7 $! Καταπληκτικά πράγματα!
Παρακαλούμε δείτε τη λεπτομερή κριτική που έχω ετοιμάσει για αυτόν τον πίνακα. Επισυνάπτω το βίντεο σε αυτό το Instructable. Θα σας βοηθήσει να καταλάβετε γιατί αυτό το τσιπ θα αλλάξει τον τρόπο που φτιάχνουμε τα πράγματα για πάντα! Ένα από τα πιο συναρπαστικά πράγματα σχετικά με το ESP32 είναι ότι παρόλο που είναι τόσο ισχυρό, προσφέρει μια λειτουργία ύπνου που απαιτεί μόνο 10μΑ ρεύματος. Αυτό καθιστά το ESP32 το ιδανικό τσιπ για εφαρμογές χαμηλής ισχύος.
Σε αυτό το έργο, ο πίνακας ESP32 συνδέεται στο Διαδίκτυο και στη συνέχεια λαμβάνει δεδομένα MP3 από τον ραδιοφωνικό σταθμό που ακούμε και στέλνει μερικές εντολές στην οθόνη.
Βήμα 3: Αποκωδικοποιητής MP3
Τα δεδομένα MP3 αποστέλλονται στη μονάδα αποκωδικοποιητή MP3 χρησιμοποιώντας τη διεπαφή SPI. Αυτή η μονάδα χρησιμοποιεί το IC VS1053. Αυτό το IC είναι ένας αποκλειστικός αποκωδικοποιητής υλικού MP3. Παίρνει τα δεδομένα MP3 από το ESP32 και τα μετατρέπει πολύ γρήγορα σε ηχητικό σήμα.
Το ηχητικό σήμα που εξέρχεται σε αυτήν την υποδοχή ήχου είναι ασθενές και θορυβώδες, οπότε πρέπει να το καθαρίσουμε από τον θόρυβο και να το ενισχύσουμε. (Εάν χρησιμοποιείτε ακουστικά, το σήμα δεν χρειάζεται να καθαριστεί από θόρυβο ή να ενισχυθεί.) Γι 'αυτό χρησιμοποιώ έναν μετασχηματιστή απομόνωσης για να καθαρίσω τον ήχο από το θόρυβο και έναν ενισχυτή ήχου PAM8403 για να ενισχύσω το ηχητικό σήμα και στη συνέχεια να το στείλω σε έναν ομιλητή. Έχω επίσης συνδέσει δύο κουμπιά στο ESP32 μόνο για να αλλάξω το MP3 Stream από το οποίο λαμβάνουμε δεδομένα και μια οθόνη Nextion για να εμφανιστεί ο ραδιοφωνικός σταθμός που ακούμε.
Βήμα 4: Επόμενη οθόνη
Επέλεξα να χρησιμοποιήσω μια οθόνη Nextion για αυτό το έργο, καθώς είναι πολύ εύκολο στη χρήση. Χρειάζεται μόνο να συνδέσουμε ένα καλώδιο για να το ελέγξουμε.
Οι οθόνες Nextion είναι νέες οθόνες. Έχουν το δικό τους επεξεργαστή ARM στο πίσω μέρος, ο οποίος είναι υπεύθυνος για την οδήγηση της οθόνης και τη δημιουργία του γραφικού περιβάλλοντος χρήστη. Έτσι, μπορούμε να τα χρησιμοποιήσουμε με οποιονδήποτε μικροελεγκτή και να επιτύχουμε θεαματικά αποτελέσματα. Έχω ετοιμάσει μια λεπτομερή ανασκόπηση αυτής της οθόνης Nextion η οποία εξηγεί σε βάθος τον τρόπο λειτουργίας τους, τον τρόπο χρήσης τους και τα μειονεκτήματά τους. Μπορείτε να το διαβάσετε εδώ ή να δείτε το συνημμένο βίντεο.
Βήμα 5: Σύνδεση όλων των εξαρτημάτων
Το μόνο που έχουμε να κάνουμε τώρα είναι να συνδέσουμε όλα τα μέρη μεταξύ τους σύμφωνα με αυτό το σχηματικό διάγραμμα. Μπορείτε να βρείτε το σχηματικό διάγραμμα που επισυνάπτεται εδώ. Η σύνδεση είναι απλή.
Ωστόσο, υπάρχουν δύο πράγματα που πρέπει να σημειωθούν. Η μονάδα αποκωδικοποιητή MP3 εξάγει ένα στερεοφωνικό σήμα, αλλά χρησιμοποιώ μόνο ένα κανάλι ήχου σε αυτό το έργο. Για να λάβω το ηχητικό σήμα, συνέδεσα ένα καλώδιο ήχου στην υποδοχή ήχου της μονάδας και το έκοψα για να αποκαλυφθούν τέσσερα καλώδια στο εσωτερικό. Συνδέω δύο από τα καλώδια. Ένα από αυτά είναι το GND και το άλλο είναι το ηχητικό σήμα ενός από τα δύο κανάλια ήχου. Εάν επιθυμείτε, μπορείτε να συνδέσετε και τα δύο κανάλια στη μονάδα ενισχυτή και να οδηγήσετε δύο ηχεία.
Κάθε κανάλι ήχου πρέπει να περάσει από τον μετασχηματιστή απομόνωσης για να καθαρίσει τυχόν θόρυβο πριν συνδεθεί στον ενισχυτή
Για να στείλουμε δεδομένα στην οθόνη, χρειάζεται μόνο να συνδέσουμε ένα καλώδιο στον ακροδέκτη TX0 του ESP32. Αφού συνδέσουμε τα μέρη, πρέπει να φορτώσουμε τον κωδικό στο ESP32 και πρέπει να φορτώσουμε το GUI στην οθόνη Nextion.
Για να φορτώσετε το GUI στην οθόνη Nextion, αντιγράψτε το αρχείο InternetRadio.tft που πρόκειται να μοιραστώ μαζί σας σε μια άδεια κάρτα SD. Τοποθετήστε την κάρτα SD στην υποδοχή της κάρτας SD στο πίσω μέρος της οθόνης. Στη συνέχεια, ενεργοποιήστε την οθόνη και το GUI θα φορτωθεί. Στη συνέχεια, αφαιρέστε την κάρτα SD και συνδέστε ξανά την τροφοδοσία.
Μετά την επιτυχή φόρτωση του κώδικα, ας ενεργοποιήσουμε το έργο. Εμφανίζει το κείμενο "Connecting …" για μερικά δευτερόλεπτα στην οθόνη. Μετά τη σύνδεση στο διαδίκτυο, το έργο συνδέεται με έναν προκαθορισμένο ραδιοφωνικό σταθμό. Το υλικό λειτουργεί όπως αναμενόταν, αλλά τώρα ας δούμε την πλευρά του λογισμικού του έργου.
Βήμα 6: Ο Κώδικας του Έργου
Πρώτα απ 'όλα, επιτρέψτε μου να σας δείξω κάτι. Ο κώδικας του έργου είναι μικρότερος από 140 γραμμές κώδικα. Σκεφτείτε το, μπορούμε να δημιουργήσουμε ένα διαδικτυακό ραδιόφωνο με οθόνη 3,5”με 140 γραμμές κώδικα, αυτό είναι εκπληκτικό. Μπορούμε να τα επιτύχουμε όλα αυτά χρησιμοποιώντας διάφορες βιβλιοθήκες φυσικά που περιέχουν χιλιάδες γραμμές κώδικα. Αυτή είναι η δύναμη του Arduino και της κοινότητας ανοιχτού κώδικα. Κάνει τα πράγματα εύκολα για τους κατασκευαστές.
Σε αυτό το έργο, χρησιμοποιώ τη βιβλιοθήκη VS1053 για τον πίνακα ESP32.
Αρχικά, πρέπει να ορίσουμε το SSID και τον κωδικό πρόσβασης του δικτύου Wi-Fi. Στη συνέχεια, πρέπει να αποθηκεύσουμε ορισμένους ραδιοφωνικούς σταθμούς εδώ. Χρειαζόμαστε το URL κεντρικού υπολογιστή, τη διαδρομή όπου βρίσκεται η ροή και τη θύρα που πρέπει να χρησιμοποιήσουμε. Αποθηκεύουμε όλες αυτές τις πληροφορίες σε αυτές τις μεταβλητές.
char ssid = "yourSSID"; // το SSID του δικτύου σας (όνομα) char pass = "yourWifiPassword"; // τον κωδικό πρόσβασης δικτύου σας
// Λίγοι ραδιοφωνικοί σταθμοί
char *host [4] = {"149.255.59.162", "radiostreaming.ert.gr", "realfm.live24.gr", "secure1.live24.gr"}; char *path [4] = {"/1", "/ert-kosmos", "/realfm", "/skai1003"}; int θύρα [4] = {8062, 80, 80, 80};
Έχω συμπεριλάβει 4 ραδιοφωνικούς σταθμούς σε αυτό το παράδειγμα.
Στη λειτουργία ρύθμισης συνδέουμε διακοπές στα κουμπιά, αρχικοποιούμε τη μονάδα αποκωδικοποιητή MP3 και συνδέουμε το Wi-Fi.
void setup () {
Serial.begin (9600); καθυστέρηση (500)? SPI.begin ();
pinMode (previousButton, INPUT_PULLUP);
pinMode (nextButton, INPUT_PULLUP);
attachInterrupt (digitalPinToInterrupt (previousButton), previousButtonInterrupt, FALLING);
attachInterrupt (digitalPinToInterrupt (nextButton), nextButtonInterrupt, FALLING); initMP3Decoder (); connectToWIFI (); }
Στη λειτουργία βρόχου, πρώτα απ 'όλα, ελέγχουμε αν ο χρήστης έχει επιλέξει διαφορετικό ραδιοφωνικό σταθμό από αυτόν από τον οποίο λαμβάνουμε δεδομένα. Εάν ναι, συνδέουμε τον νέο ραδιοφωνικό σταθμό, διαφορετικά λαμβάνουμε δεδομένα από τη ροή και τα στέλνουμε στη μονάδα αποκωδικοποιητή MP3.
void loop () {if (radioStation! = previousRadioStation) {station_connect (radioStation); previousRadioStation = ραδιοσταθμός; } if (client.available ()> 0) {uint8_t bytesread = client.read (mp3buff, 32); player.playChunk (mp3buff, bytesread); }}
Αυτό είναι όλο! Όταν ο χρήστης πατήσει ένα κουμπί, συμβαίνει μια διακοπή και αλλάζει την τιμή μιας μεταβλητής η οποία καθορίζει σε ποια ροή θα συνδεθεί.
void IRAM_ATTR previousButtonInterrupt () {
στατικό ανυπόγραφο long_interrupt_time = 0;
unsigned long interrupt_time = millis (); if (interrupt_time-last_interrupt_time> 200) {if (radioStation> 0) radioStation--; αλλιώς radioStation = 3; } last_interrupt_time = interrupt_time; }
Για να ενημερώσουμε την οθόνη, απλώς στέλνουμε μερικές εντολές στη σειριακή θύρα.
void drawRadioStationName (int id) {εντολή συμβολοσειράς; switch (id) {case 0: command = "p1.pic = 2"; Serial.print (εντολή); endNextionCommand (); Διακοπή; // 1940 Θήκη Ραδιοφώνου του Ηνωμένου Βασιλείου 1: command = "p1.pic = 3"; Serial.print (εντολή); endNextionCommand (); Διακοπή; // KOSMOS GREEK case 2: command = "p1.pic = 4"; Serial.print (εντολή); endNextionCommand (); Διακοπή; // REAL FM GREEK περίπτωση 3: command = "p1.pic = 5"; Serial.print (εντολή); endNextionCommand (); Διακοπή; // SKAI 100.3 GREEK}}
Τώρα ας ρίξουμε μια ματιά στο GUI του Nextion Display. Το GUI Nextion αποτελείται από μια εικόνα φόντου και μια εικόνα που εμφανίζει το όνομα του Ραδιοφωνικού Σταθμού. Ο πίνακας ESP32 στέλνει εντολές για να αλλάξετε το όνομα του ραδιοφωνικού σταθμού από τις ενσωματωμένες εικόνες. Είναι πολύ εύκολο. Παρακαλώ παρακολουθήστε το σεμινάριο εμφάνισης Nextion που έχω ετοιμάσει πριν από λίγο καιρό για περισσότερες πληροφορίες. Μπορείτε να σχεδιάσετε γρήγορα το δικό σας GUI εάν το επιθυμείτε και να εμφανίσετε περισσότερα πράγματα σε αυτό.
Όπως πάντα, μπορείτε να βρείτε τον κωδικό του έργου που επισυνάπτεται σε αυτό το Instructable.
Βήμα 7: Τελικές σκέψεις & βελτιώσεις
Αυτό το έργο είναι πολύ απλό. Wantedθελα έναν απλό σκελετό έργου Internet Radio για να δουλέψω. Τώρα που μια πρώτη έκδοση του έργου είναι έτοιμη, μπορούμε να προσθέσουμε πολλές δυνατότητες σε αυτό για να το βελτιώσουμε. Πρώτα απ 'όλα, πρέπει να σχεδιάσω ένα περίβλημα για να στεγάσει όλα τα ηλεκτρονικά.
Σε αυτό το βιβλίο για τα πιο όμορφα ραδιόφωνα που έγιναν ποτέ, υπάρχουν πολύ δροσερά ραδιόφωνα για να διαλέξετε ως περίβλημα για αυτό το έργο. Νομίζω ότι θα χτίσω έναν περίβολο γύρω από αυτό το εντυπωσιακό ραδιόφωνο Art Deco. Τι πιστεύετε, σας αρέσει η εμφάνιση αυτού του ραδιοφώνου ή προτιμάτε κάτι πιο μοντέρνο; Έχετε άλλες ιδέες περίφραξης; Επίσης, σας αρέσει αυτό το έργο Internet Radio και ποιες δυνατότητες πιστεύετε ότι πρέπει να προσθέσουμε σε αυτό για να το κάνουμε πιο χρήσιμο; Θα ήθελα πολύ να διαβάσω τις σκέψεις και τις ιδέες σας, οπότε, παρακαλούμε να τις δημοσιεύσετε στην παρακάτω ενότητα σχολίων.
Συνιστάται:
Μετατρέψτε ένα περιστροφικό τηλέφωνο σε ραδιόφωνο και ταξιδέψτε στον χρόνο: 5 βήματα (με εικόνες)
Μετατρέψτε ένα περιστροφικό τηλέφωνο σε ραδιόφωνο και ταξιδέψτε στο χρόνο: Χάκαρα ένα περιστροφικό τηλέφωνο σε ραδιόφωνο! Πάρτε το τηλέφωνο, επιλέξτε μια χώρα και μια δεκαετία και ακούστε υπέροχη μουσική! Πώς λειτουργεί Αυτό το περιστροφικό τηλέφωνο διαθέτει ενσωματωμένο μικροϋπολογιστή (ένα Raspberry Pi), το οποίο επικοινωνεί με το radiooooo.com, ένα διαδικτυακό ραδιόφωνο. Ο
Δημιουργήστε ένα διαδικτυακό ραδιόφωνο για λιγότερο από 15 $: 4 βήματα (με εικόνες)
Δημιουργήστε ένα Web-Radio για λιγότερο από 15 $: Έτσι, αποφάσισα να κάνω ένα έργο που αναβάλλω εδώ και λίγο καιρό: Ένα σπιτικό, πλήρως λειτουργικό ραδιόφωνο ιστού, πλήρες με ενισχυτή και ηχείο, για κάτω από 15 €!. Μπορείτε να αλλάξετε μεταξύ προκαθορισμένων ραδιοφωνικών σταθμών ροής με το πάτημα ενός κουμπιού και μπορείτε να
Πώς να φτιάξετε ένα drone χρησιμοποιώντας το Arduino UNO - Φτιάξτε ένα Quadcopter χρησιμοποιώντας μικροελεγκτή: 8 βήματα (με εικόνες)
Πώς να φτιάξετε ένα drone χρησιμοποιώντας το Arduino UNO | Φτιάξτε ένα Quadcopter χρησιμοποιώντας μικροελεγκτή: Εισαγωγή Επισκεφθείτε το κανάλι μου στο Youtube Ένα Drone είναι ένα πολύ ακριβό gadget (προϊόν) για αγορά. Σε αυτήν την ανάρτηση θα συζητήσω πώς θα το φτιάξω φθηνά; Και πώς μπορείτε να φτιάξετε το δικό σας έτσι σε φθηνή τιμή … Λοιπόν στην Ινδία όλα τα υλικά (κινητήρες, ESC
Δημιουργήστε ένα ερασιτεχνικό ραδιόφωνο APRS RX Only IGate χρησιμοποιώντας ένα Raspberry Pi και ένα RTL-SDR Dongle σε λιγότερο από μισή ώρα: 5 βήματα
Δημιουργήστε ένα ερασιτεχνικό ραδιόφωνο APRS RX Only IGate χρησιμοποιώντας ένα Raspberry Pi και ένα RTL-SDR Dongle σε λιγότερο από μισή ώρα: Λάβετε υπόψη ότι αυτό είναι τώρα αρκετά παλιό, οπότε ορισμένα μέρη είναι λανθασμένα και παλιά. Τα αρχεία που πρέπει να επεξεργαστείτε έχουν αλλάξει. Έχω ενημερώσει τον σύνδεσμο για να σας δώσω την πιο πρόσφατη έκδοση της εικόνας (χρησιμοποιήστε το 7-zip για να την αποσυμπιέσετε) αλλά για πλήρη εγκατάσταση
Πώς να αντικαταστήσετε τη μπαταρία μνήμης σε ένα ραδιόφωνο Htx202 ή Htx404: 7 βήματα (με εικόνες)
Πώς να αντικαταστήσετε τη μπαταρία μνήμης σε ένα ραδιόφωνο Htx202 ή Htx404: Πολλοί ερασιτέχνες ραδιοφωνικοί δέκτες και πομποδέκτες που κατασκευάστηκαν τα τελευταία 35 περίπου χρόνια περιέχουν κάποια μορφή εφεδρικής μπαταρίας μνήμης. Ο σκοπός αυτής της μπαταρίας είναι να διατηρήσει τις προγραμματισμένες συχνότητες και ρυθμίσεις στη μνήμη όταν είναι απενεργοποιημένη