Daftar Isi:

Radio Internet Menggunakan ESP32: 7 Langkah (dengan Gambar)
Radio Internet Menggunakan ESP32: 7 Langkah (dengan Gambar)

Video: Radio Internet Menggunakan ESP32: 7 Langkah (dengan Gambar)

Video: Radio Internet Menggunakan ESP32: 7 Langkah (dengan Gambar)
Video: ESP32 Internet Radio project with A 3.5" Nextion Display 2024, September
Anonim
Image
Image
Radio Internet Menggunakan ESP32
Radio Internet Menggunakan ESP32
Radio Internet Menggunakan ESP32
Radio Internet Menggunakan ESP32

Teman-teman terkasih, selamat datang di Instructable lain! Hari ini kita akan membuat perangkat Radio Internet dengan layar 3,5” besar menggunakan papan ESP32 yang murah. Percaya atau tidak, sekarang kita dapat membangun Radio Internet dalam waktu kurang dari 10 menit dan dengan kurang dari $30. Ada banyak hal untuk dibahas, mari kita mulai!

Beberapa bulan yang lalu, saya menyelesaikan proyek Radio FM Arduino yang bekerja dengan baik dan terlihat lebih baik menurut saya. Jika Anda ingin melihat bagaimana saya membangun proyek ini, Anda dapat membaca Instructable di sini. Masalahnya adalah, meskipun radio ini terlihat keren, itu tidak praktis karena saya tinggal di kota kecil di selatan Yunani dan stasiun radio Yunani besar yang saya lebih suka mendengarkan, tidak memiliki pemancar di sekitar sini. Jadi, saya mendengarkan radio favorit saya secara online di laptop atau tablet pc saya yang juga tidak begitu praktis. Jadi, hari ini saya akan membuat perangkat radio Internet agar dapat mendengarkan stasiun radio favorit saya dari seluruh dunia!

Seperti yang Anda lihat, versi pertama proyek sudah siap di papan tempat memotong roti. Mari kita hidupkan. Seperti yang Anda lihat, proyek terhubung ke Internet dan kemudian mengalirkan musik dari Stasiun Radio yang telah ditentukan.

Saya telah menyetel ke stasiun radio Real FM dari Athena dan dengan menggunakan tombol ini kita dapat mengubah Stasiun Radio yang sedang kita dengarkan. Saya telah menyimpan stasiun radio favorit saya ke memori ESP32 sehingga saya dapat mengaksesnya dengan mudah. Dengan potensiometer ini, saya dapat mengubah volume speaker. Saya menampilkan Nama Stasiun Radio yang kami dengarkan pada layar 3,5” besar dengan Antarmuka Pengguna retro. Proyek ini bekerja dengan baik dan sangat mudah untuk dibangun.

Anda dapat membangun proyek yang sama dalam waktu kurang dari 10 menit tetapi Anda harus memiliki pengalaman. Jika ini adalah proyek pertama Anda, pertimbangkan untuk membangun yang lebih sederhana terlebih dahulu, untuk mendapatkan pengalaman. Periksa Instructables saya untuk ide-ide proyek sederhana dan ketika Anda lebih nyaman dengan Arduino elektronik kembali untuk membangun proyek keren ini. Sekarang mari kita mulai membangun Radio Internet kita sendiri.

PEMBARUAN 6/6/2019

Masalah kebisingan telah diselesaikan dengan menambahkan transformator isolator. Lihat diagram shematic yang diperbarui. Terima kasih!

Langkah 1: Dapatkan Semua Bagian

Dapatkan Semua Bagian
Dapatkan Semua Bagian

Kita akan membutuhkan bagian-bagian berikut:

  • ESP32
  • Dekoder MP3
  • Transformator Isolasi
  • Amplifier
  • Pembicara 3W
  • Tampilan Berikutnya 3,5"
  • Tombol Tekan
  • Papan tempat memotong roti
  • Kabel

Total biaya proyek adalah sekitar $ 40 tetapi jika Anda tidak menggunakan tampilan, biaya proyek adalah sekitar $ 20. Hal-hal yang menakjubkan. Kita bisa membangun radio internet kita sendiri hanya dengan $20!

Langkah 2: Papan ESP32

Image
Image
Papan ESP32
Papan ESP32
Papan ESP32
Papan ESP32

Inti dari proyek ini, tentu saja, adalah papan ESP32 yang kuat. Jika Anda belum mengetahuinya, chip ESP32 adalah penerus chip ESP8266 populer yang telah kami gunakan berkali-kali di masa lalu. ESP32 adalah binatang buas! Ini menawarkan dua inti pemrosesan 32 bit yang beroperasi pada 160MHz, sejumlah besar memori, WiFi, Bluetooth, dan banyak fitur lainnya dengan biaya sekitar $7! Hal-hal yang menakjubkan!

Silakan tonton ulasan terperinci yang telah saya siapkan untuk forum ini. Saya telah melampirkan video di Instructable ini. Ini akan membantu memahami mengapa chip ini akan mengubah cara kita membuat sesuatu selamanya! Salah satu hal yang paling menarik tentang ESP32 adalah meskipun sangat bertenaga, ia menawarkan mode deep-sleep yang hanya membutuhkan 10μΑs arus. Ini menjadikan ESP32 chip yang ideal untuk aplikasi daya rendah.

Dalam proyek ini, papan ESP32 terhubung ke Internet dan kemudian menerima data MP3 dari stasiun radio yang kita dengarkan, dan mengirimkan beberapa perintah ke layar.

Langkah 3: Dekoder MP3

Dekoder MP3
Dekoder MP3
Dekoder MP3
Dekoder MP3

Data MP3 kemudian dikirim ke modul dekoder MP3 menggunakan antarmuka SPI. Modul ini menggunakan IC VS1053. IC ini adalah dekoder MP3 perangkat keras khusus. Itu mendapat data MP3 dari ESP32 dan mengubahnya sangat cepat menjadi sinyal audio.

Sinyal audio yang dikeluarkan pada jack audio ini lemah dan berisik, jadi kita perlu membersihkannya dari kebisingan dan memperkuatnya. (Jika Anda menggunakan headphone, sinyal tidak perlu dibersihkan dari kebisingan atau diperkuat.) Itu sebabnya saya menggunakan transformator Isolasi untuk menghapus audio dari kebisingan dan penguat audio PAM8403 untuk memperkuat sinyal audio dan kemudian mengirimkannya kepada seorang pembicara. Saya juga telah menghubungkan dua tombol ke ESP32 hanya untuk mengubah Aliran MP3 yang kami dapatkan dari data dan tampilan Nextion untuk menampilkan stasiun Radio yang kami dengarkan.

Langkah 4: Tampilan Selanjutnya

Image
Image
Menghubungkan Semua Bagian
Menghubungkan Semua Bagian

Saya memilih untuk menggunakan tampilan Nextion untuk proyek ini karena sangat mudah digunakan. Kita hanya perlu menghubungkan satu kabel untuk mengontrolnya.

Tampilan Nextion adalah jenis tampilan baru. Mereka memiliki prosesor ARM sendiri di bagian belakang yang bertanggung jawab untuk mengarahkan tampilan dan membuat antarmuka pengguna grafis. Jadi, kita dapat menggunakannya dengan mikrokontroler apa pun dan mencapai hasil yang spektakuler. Saya telah menyiapkan ulasan terperinci tentang tampilan Nextion ini yang menjelaskan secara mendalam cara kerjanya, cara menggunakannya, dan kekurangannya. Anda dapat membacanya di sini, atau menonton video terlampir.

Langkah 5: Menghubungkan Semua Bagian

Menghubungkan Semua Bagian
Menghubungkan Semua Bagian
Menghubungkan Semua Bagian
Menghubungkan Semua Bagian

Yang harus kita lakukan sekarang adalah menghubungkan semua bagian bersama-sama sesuai dengan diagram skematik ini. Anda dapat menemukan diagram skema terlampir di sini. Koneksinya langsung.

Padahal ada dua hal yang perlu diperhatikan. Modul dekoder MP3 mengeluarkan Sinyal Stereo tetapi saya hanya menggunakan satu saluran audio dalam proyek ini. Untuk mendapatkan sinyal audio, saya menghubungkan kabel audio ke soket audio modul, dan memotongnya untuk memperlihatkan empat kabel di dalamnya. Saya menghubungkan dua kabel. Salah satunya adalah GND dan yang lainnya adalah sinyal audio dari salah satu dari dua saluran audio. Jika diinginkan, Anda dapat menghubungkan kedua saluran ke modul amplifier dan menggerakkan dua speaker.

Setiap saluran audio harus melalui transformator isolasi untuk menghilangkan kebisingan yang ada sebelum menghubungkan ke amplifier

Untuk mengirim data ke layar, kita hanya perlu menghubungkan satu kabel ke pin TX0 dari ESP32. Setelah menghubungkan bagian-bagian, kita harus memuat kode ke ESP32, dan kita harus memuat GUI ke tampilan Nextion.

Untuk memuat GUI ke tampilan Nextion, salin file InternetRadio.tft yang akan saya bagikan dengan Anda ke kartu SD kosong. Masukkan kartu SD ke dalam slot kartu SD di bagian belakang layar. Kemudian nyalakan layar, dan GUI akan dimuat. Kemudian keluarkan kartu SD dan sambungkan kembali daya.

Setelah berhasil memuat kode, mari hidupkan proyek. Ini menampilkan teks "Menghubungkan …" selama beberapa detik di layar. Setelah terhubung ke internet, proyek terhubung ke stasiun radio yang telah ditentukan. Perangkat kerasnya berfungsi seperti yang diharapkan tetapi sekarang mari kita lihat sisi perangkat lunak dari proyek tersebut.

Langkah 6: Kode Proyek

Kode Proyek
Kode Proyek
Kode Proyek
Kode Proyek

Pertama-tama, izinkan saya menunjukkan sesuatu kepada Anda. Kode proyek kurang dari 140 baris kode. Pikirkan tentang hal ini, kita dapat membangun Radio Internet dengan Layar 3,5” dengan 140 baris kode, ini luar biasa. Kita dapat mencapai semua ini dengan menggunakan berbagai perpustakaan tentu saja yang berisi ribuan baris kode. Ini adalah kekuatan Arduino dan komunitas open source. Itu membuat segalanya mudah bagi pembuat.

Dalam proyek ini, saya menggunakan perpustakaan VS1053 untuk papan ESP32.

Pada awalnya, kita harus menentukan SSID dan Kata Sandi dari jaringan Wi-Fi. Selanjutnya, kita harus menyimpan beberapa Stasiun Radio di sini. Kami membutuhkan URL host, jalur tempat aliran berada, dan port yang perlu kami gunakan. Kami menyimpan semua info ini ke dalam variabel-variabel ini.

char ssid = "SSID Anda"; // SSID jaringan Anda (nama) char pass = "yourWifiPassword"; // kata sandi jaringan Anda

// Beberapa Stasiun Radio

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 port[4] = {8062, 80, 80, 80};

Saya telah menyertakan 4 stasiun radio dalam contoh ini.

Dalam fungsi pengaturan kami melampirkan interupsi ke tombol, kami menginisialisasi modul dekoder MP3 dan kami terhubung ke Wi-Fi.

batalkan pengaturan () {

Serial.begin(9600); penundaan (500); SPI.mulai();

pinMode(PreviousButton, INPUT_PULLUP);

pinMode(tombol berikutnya, INPUT_PULLUP);

attachInterrupt(digitalPinToInterrupt(previousButton), PreviousButtonInterrupt, FALLING);

attachInterrupt(digitalPinToInterrupt(nextButton), nextButtonInterrupt, FALLING); initMP3Decoder(); terhubungkeWIFI(); }

Dalam fungsi loop, pertama-tama, kami memeriksa apakah pengguna telah memilih stasiun radio yang berbeda dari yang kami dapatkan datanya. Jika demikian, kami terhubung ke stasiun radio baru, jika tidak, kami mendapatkan data dari aliran dan mengirimkannya ke modul Decoder MP3.

void loop() { if(radioStation!=previousRadioStation) { station_connect(radioStation); sebelumnyaRadioStation = radioStation; } if (client.available() > 0) { uint8_t byteread = client.read(mp3buff, 32); player.playChunk(mp3buff, byteread); } }

Itu saja! Ketika pengguna menekan tombol, interupsi terjadi, dan mengubah nilai variabel yang memberi tahu aliran mana yang akan dihubungkan.

void IRAM_ATTR beforeButtonInterrupt() {

static unsigned long last_interrupt_time = 0;

waktu interupsi panjang yang tidak ditandatangani = milis(); if (interrupt_time - last_interrupt_time > 200) { if(radioStation>0) radioStation--; lain radioStation = 3; } last_interrupt_time = waktu_interupsi; }

Untuk mengupdate tampilan, kita cukup mengirimkan beberapa perintah ke serial port.

void drawRadioStationName(int id){ Perintah string; switch (id) { kasus 0: perintah = "p1.pic=2"; Serial.print(perintah); endNextionCommand(); merusak; //1940 Kasus Radio Inggris 1: command = "p1.pic=3"; Serial.print(perintah); endNextionCommand(); merusak; //KOSMOS YUNANI kasus 2: perintah = "p1.pic=4"; Serial.print(perintah); endNextionCommand(); merusak; //REAL FM YUNANI kasus 3: perintah = "p1.pic=5"; Serial.print(perintah); endNextionCommand(); merusak; //SKAI 100.3 YUNANI } }

Sekarang mari kita lihat GUI Tampilan Berikutnya. GUI Nextion terdiri dari gambar latar belakang dan gambar yang menampilkan nama Stasiun Radio. Papan ESP32 mengirimkan perintah untuk mengubah nama stasiun radio dari gambar yang disematkan. Ini sangat mudah. Silahkan simak tutorial tampilan Nextion yang sudah saya siapkan beberapa waktu lalu untuk informasi lebih lanjut. Anda dapat dengan cepat mendesain GUI Anda sendiri jika diinginkan dan menampilkan lebih banyak hal di dalamnya.

Seperti biasa, Anda dapat menemukan kode proyek yang dilampirkan di Instructable ini.

Langkah 7: Pemikiran & Perbaikan Terakhir

Pemikiran & Perbaikan Terakhir
Pemikiran & Perbaikan Terakhir
Pemikiran & Perbaikan Terakhir
Pemikiran & Perbaikan Terakhir
Pemikiran & Perbaikan Terakhir
Pemikiran & Perbaikan Terakhir
Pemikiran & Perbaikan Terakhir
Pemikiran & Perbaikan Terakhir

Proyek ini sangat sederhana. Saya ingin kerangka proyek Radio Internet sederhana untuk digunakan. Sekarang setelah versi pertama proyek siap, kami dapat menambahkan banyak fitur untuk meningkatkannya. Pertama-tama, saya perlu mendesain kandang untuk menampung semua barang elektronik.

Dalam buku tentang Radio Terindah yang pernah dibuat ini terdapat radio yang sangat keren untuk dipilih sebagai penutup untuk proyek ini. Saya pikir saya akan membangun kandang di sekitar radio Art Deco yang spektakuler ini. Bagaimana menurut Anda, apakah Anda menyukai tampilan radio ini atau lebih suka yang lebih modern? Apakah Anda punya ide kandang lain? Juga, apakah Anda menyukai proyek Radio Internet ini dan fitur apa yang menurut Anda perlu kami tambahkan agar lebih bermanfaat? Saya akan senang membaca pemikiran dan Ide Anda, jadi silakan posting di bagian komentar di bawah.

Direkomendasikan: