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
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).
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
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.
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.
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.
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.
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.
Penjelasan Code
Selanjutnya, define pin-pin yang digunakan, nama-nama untuk memanggil fungsi-fungsi yang ada pada masing-masing library, serta konfigurasinya.
Penjelasan Code
Deklarasikan fungsi-fungsi yang digunakan yang detailnya ada di step selanjutnya
Penjelasan Code
Penjelasan Code
Penjelasan Code
Penjelasan Code
Penjelasan Code
Penjelasan Code
Penjelasan Code
Penjelasan Code
Penjelasan Code
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.
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.
Evaluasi
Evaluasi
Dari data di atas bisa dilihat suhu DHT 11 bisa berjalan dengan baik, bahkan hingga di nyalakan seharian dan semalaman.
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
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.