Introduction: Music Player FLR

Nama Anggota Kelompok:

LA40 - 2502030536 - Richie Angjaya

LA40 - 2502018360 - Lukmanul Hakim

LA40 - 2502016140 - Muhammad Firza Mahawira


Introduction

Jadi ketika kami sedang mengerjakan sesuatu, terkadang kami merasa suasananya sepi. Oleh karena itu, kami termotivasi untuk membuat music player yang berbasis IOT yang mengontrol music player tersebut dengan aplikasi yang ada di smartphone. Nah, tujuan kami membuat music player ini ialah untuk menerapkan konsep IoT ke music player ini. Selain itu juga kami ingin membuat music player yang ramah bagi pengguna nya. Dari membuat music player ini kami juga memiliki manfaatnya yaitu membuat suasana saat mengerjakan sesuatu menjadi lebih baik dengan adanya lagu yang diputar dari music player


Supplies

-DOIT ESP32 Devkit V1

-DF Mini Player

-PAM8403 (3 watt Amplifier)

-Speaker 5 watt

-PCB

-Jumper

-Resistornya buat 1k Ohm

-Adaptor type-c to DIP

-DHT 11

-LCD I2C

Step 1: Blok Diagram

Jadi ini adalah hal yang pertama di lakukan oleh kami yaitu membuat desain dari sistem kami yang dimana sistem kami ini terdiri dari software(platformIO), hardware(ESP 32 sebagai microcontroller), dan juga database(firebase Realtime Database).

Step 2: Skematik

Dalam pembuatan sistem ini, kami menggunakan komponen-komponen yang dijelaskan di atas dan merangkai sesuai dengan skematik di gambar berikut ini. Kalau dari rangkaian sendiri yaitu tinggal pasang saja komponen-komponennya seperti speaker, LCD, DF Mini Player, amplifier, dan DHT 11 ke setiap pin ESP 32 sesuai pada gambar skematik

Step 3: Rangkaian

Kalau dari rangkaian sendiri yaitu tinggal pasang saja komponen-komponennya seperti speaker, LCD, DF Mini Player, amplifier, dan DHT 11 ke setiap pin ESP 32 sesuai pada gambar skematik. Setelah itu tinggal di upload code ke ESP 32 nya.

Step 4: Flow Chart

Jika rangkaian sudah di pasang dan code nya sudah di upload ke ESP 32, serta kita sudah mengetes alatnya jalan seperti pada flowchart diatas maka kita akan masuk ke pembuatan alatnya untuk jadi sebuah music player.

Step 5: Perangkain Music Player

Jadi yang pertama kita membuat PCB nya terlebih dahulu, lalu yang kedua kita memasang seperti ESP 32 dan lain lainnya ke PCB nya dan harus sesuai pin yang sudah dimasukan di skematik yang sudah dibikin, karena kalau tidak alatnya tidak akan menyala. Nah, untuk LCD, speaker, dan juga DHT 11 nya kita menggunaka kabel jumper supaya bisa di adjust dengan mudah saat di pasang case nya nanti.

Step 6: Finishing

Nah jika sudah di rangkai dengan baik dan benar langkah terakhir adalah memasukannya ke dalam case seperti gambar di atas. Di sini kita menggunakan case berbahan kardus.

Step 7: Penjelasan Code

Pertama-tama, masukkan library-library yang digunakan, seperti: Arduino.h yang wajib di Visual Studio Code, Wire.h untuk protokol I2C, DFRobotDFPlayerMini.h yang merupakan library module DFMini Player, LiquidCrystal_I2C.h yang merupakan library LCD I2C, WiFiManager.h untuk mengatur WiFi yang akan digunakan, NTPClient.h untuk mengatur waktu dari jaringan WiFi, WiFiUdp.h, DHTesp.h yaitu library untuk sensor DHT11 (bisa digunakan untuk DHT22 juga), dan firebase.h yang merupakan library untuk menghubungkan ESP32 dengan Firebase.

Step 8: Penjelasan Code

Selanjutnya, define pin-pin yang digunakan, nama-nama untuk memanggil fungsi-fungsi yang ada pada masing-masing library, serta konfigurasinya.

Step 9: Penjelasan Code

Deklarasikan fungsi-fungsi yang digunakan yang detailnya ada di step selanjutnya

Step 10: Penjelasan Code

Step 11: Penjelasan Code

Step 12: Penjelasan Code

Step 13: Penjelasan Code

Step 14: Penjelasan Code

Step 15: Penjelasan Code

Step 16: Penjelasan Code

Step 17: Penjelasan Code

Step 18: Penjelasan Code

Step 19: Penjelasan Code

Deklarasikan variable-variable globalnya seperti volume, play, amoutOfSong, temperature, dan statusDetail supaya variable-variable tersebut bisa diakses secara global atau di fungsi apa saja yang ada di code.

Step 20: Penjelasan Code

Pada void setup(), dijalankan perintah-perintah inisialisasi, seperti memulai komunikasi Serial UART 2, Serial UART 0, inisialisasi DHT11 dan LCD I2C, konfigurasi WiFi dengan WiFiManager, membaca data DHT11, force update waktu (time client), menghubungkan ESP32 dengan Realtime Database Firebase, menginisiasi DFMini Player, dan membuat task dengan freeRTOS untuk membuat dua loop yang berfungsi untuk mengupdate display LCD dan status yang terjadi pada DFMini Player. Setelah void setup() selesai dijalankan, selanjutnya akan dijalankan proses looping yang di antaranya looping update display LCD dan status yang terjadi pada DFMiniPlayer dan biarkan void loop() kosong. Saat proses looping terjadi, ESP32 akan melakukan stream data dari Realtime Database Firebase yang memantau apabila terdapat perubahan data pada value yang ada pada datapathnya yang apabila terjadi, fungsi onFirebaseStream dijalankan sesuai dengan kondisinya.

Step 21: Evaluasi

Step 22: Evaluasi

Dari data di atas bisa dilihat suhu DHT 11 bisa berjalan dengan baik, bahkan hingga di nyalakan seharian dan semalaman.

Step 23: Kesimpulan

Jadi kesimpulan yang bisa kita ambil dalam Music Player yang kita buat ialah kita bisa menerapkan atau meng-implementasikan konsep IoT dalam Music Player. Terakhir Music Player ini bisa dipakai dalam jangka waktu yang lama

Step 24: Saran

Untuk saran kita mempunyai dua yaitu yang pertama ialah algoritma Music Player FLR ini dapat dikembangkan lebih lanjut. Lalu yang kedua ialah casing dari Music Player FLR ini bisa dikembangkan menjadi lebih bagus lagi nanti nya.

Step 25: Refrence

Step 26: Datasheet

Step 27: Video Demo