Pertanyaan-pertanyaan dalam Diskusi Indobot dan Solusinya #4

Hallo semuanya.

Lagi ngerjain project apa hari ini?

Jangan sampai gabut. Ambil Arduinomu, bercodinglah bersamaku. Eaakkk.

Sekarang saya akan kembali me-review pertanyaan-pertanyaan yang muncul pada diskusi Indobot seputar arduino, IoT, atau elektronika lainnya. Bagi teman-teman yang ingin masuk dalam grup diskusi kami, bisa hubungi LAYANAN INDOBOT ya.

Oke langsung saja kita coba lihat ada pertanyaan apa saja di  grup kita dan tentunya bagaimana solusinya.

 

Konsultasikan project mu bersama Tutor Indobot Academy dengan cara registrasi melalui tombol di bawah!

 

Pembacaan DF Player

DF Player salah memutar? Coba kita lihat apa penyebabnya.

DFPlayer merupakan perangkat pemutar file audio dengan format mp3. DFPlayer ini biasa digunakan untuk memutar lagu atau record yang diatur bersamaan dengan adanya sensor atau berdasarkan waktu. Contohnya seperti penggunaan pada Bel sekolah atau pemberitahuan saat sensor mendeteksi suatu hal. DFPlayer ini seperti buzzer yang dapat berbicara. Di mana kita bisa mengganti buzzer yang hanya memiliki nada bunyi itu-itu saja, menjadi lebih variatif.

Penggunaan DFPlayer ini juga dapat mengatur lagu apa yang ingin dinyalakan, misalnya dalam MicroSD sudah terisi 10 lagu, maka kita dapat menyetel lagu sesuai dengan keinginan. Jika DFPlayer ini ditambahkan dengan beberapa tombol untuk melanjutkan dan kembali bahkan stop, pause dan play, maka DFPlayer ini sudah dapat kita gunakan sebagai MP3Player.

Kembali ke pertanyaan, DFPlayer salah memutar.

Penyebab utamanya biasanya ada pada urutannya. Pemutaran DFPlayer didasarkan pada urutan penamaan dari atas ke bawah (Ascending) dengan urutan dari angka kemudian huruf. Jadi cara pertama yang perlu dilakukan adalah mengurutkannya dengan format tersebut. Sudah?

Jika sudah, dan masih belum sesuai dengan apa yang harusnya dimainkan, coba perhatikan seluruh file yang ada dalam MicroSD. Coba hilangkan semua folder dan hapus semua file yang tidak menggunakan format MP3. Hal ini penting untuk mengurutkan file. Secara otomatis, biasanya file yang tidak memiliki ekstensi MP3, akan tidak dianggap (silakan bisa dicoba, barangkali saya salah. hehe). Hingga urutannya juga akan kacau (tidak sesuai dengan urutan yang kita inginkan).

baca juga: Mengatasi Error Compiling pada WeMos D1

Bagaimana? sudah juga?

Jika semuanya sudah dicoba dan masih terjadi kesalahan putar, maka dapat kita lihat pada sketch yang kita gunakan. Perhatikan program untuk membuat MP3 Player seperti berikut ini.

#include “SoftwareSerial.h”
#include “DFRobotDFPlayerMini.h”SoftwareSerial mySoftwareSerial(10, 11); // RX, TX
DFRobotDFPlayerMini myDFPlayer;int buttonNext = 2;
int buttonPause = 3;
int buttonPrevious = 4;boolean isPlaying = false;

void setup() {
pinMode(buttonPause, INPUT);
digitalWrite(buttonPause, HIGH);
pinMode(buttonNext, INPUT);
digitalWrite(buttonNext, HIGH);
pinMode(buttonPrevious, INPUT);
digitalWrite(buttonPrevious, HIGH);

mySoftwareSerial.begin(9600);
Serial.begin(9600);

delay(1000);

Serial.println();
Serial.println(“DFPlayer Mini Demo”);
Serial.println(“Initializing DFPlayer…”);

if (!myDFPlayer.begin(mySoftwareSerial)) {
Serial.println(“Unable to begin:”);
Serial.println(“1.Please recheck the connection!”);
Serial.println(“2.Please insert the SD card!”);
while (true);
}
Serial.println(F(“DFPlayer Mini online.”));

myDFPlayer.setTimeOut(500);

//—-Set volume—-
myDFPlayer.volume(10); //Set volume value (0~30).
//myDFPlayer.volumeUp(); //Volume Up
//myDFPlayer.volumeDown(); //Volume Down

//—-Set different EQ—-
myDFPlayer.EQ(DFPLAYER_EQ_NORMAL);
// myDFPlayer.EQ(DFPLAYER_EQ_POP);
// myDFPlayer.EQ(DFPLAYER_EQ_ROCK);
// myDFPlayer.EQ(DFPLAYER_EQ_JAZZ);
// myDFPlayer.EQ(DFPLAYER_EQ_CLASSIC);
// myDFPlayer.EQ(DFPLAYER_EQ_BASS);

myDFPlayer.outputDevice(DFPLAYER_DEVICE_SD);

myDFPlayer.play(1); //Play the first song
isPlaying = true;
Serial.println(“Playing..”);
}

void loop() {
if (digitalRead(buttonPause) == LOW) {
if (isPlaying) {
myDFPlayer.pause();
isPlaying = false;
Serial.println(“Paused..”);
} else {
isPlaying = true;
myDFPlayer.start();
Serial.println(“Playing..”);
}
delay(500);
}
if (digitalRead(buttonNext) == LOW) {
if (isPlaying) {
myDFPlayer.next();
Serial.println(“Next Song..”);
}
delay(500);
}

if (digitalRead(buttonPrevious) == LOW) {
if (isPlaying) {
myDFPlayer.previous();
Serial.println(“Previous Song..”);
}
delay(500);
}
}

[/code]

 

Pada program di atas, myDFPlayer.play(1); digunakan untuk memutar file nomor satu.  myDFPlayer.next(); dan myDFPlayer.previous(); berfungsi untuk mengubah file yang akan diputar. Next untuk memutar lagu berikutnya, previous untuk lagu sebelumnya. Jika kita ingin memutar lagu dengan nomor urutan tertentu, gunakan myDFPlayer.play(1); dan hanya perlu diubah nomornya saja. Lebih lengkapnya untuk project ini dapat dilihat DI SINI 

baca juga: Pertanyaan-pertanyaan dalam Diskusi Indobot dan Solusinya Part 3

Skema PID Tangki

Teman-teman sudah tau apa itu PID Control?

PID merupakan singkatan dari Proportional Integral Derivative. Apaan tuh? haha.

Intinya PID itu mekanisme umpan balik untuk mengendalikan suatu sistem. PID Control ini bertugas untuk mengendalikan suatu input dengan memperhatikan output yang dikeluarkan. PID Control akan selalu mengukur nilai dari output sebagai suatu kesalahan yang kemudian akan diperbaiki oleh PID dengan mengendalikan inputnya.

Nah pada PID Tangki, kita dapat mengendalikan banyaknya air masuk dengan memperhatikan banyaknya air yang dikeluarkan. Dalam percobaan ini juga menggunakan sistem water level yang digunakan untuk antisipasi adanya kerusakan pada PID Control. Sehingga waterlevel ini akan mengirimkan pesan kepada pengguna bahwa ada kerusakan yang harus segera diperbaiki.

Berikut ini adalah skema yang sudah dibuat.

Pada skema di atas, kita menggunakan 3 sensor water level untuk dipasang di bagian bawah, tengah, dan atas. Bagian ini, hanya akan berguna seperti digital (0 dan 1) meskipun sensor ini dapat difungsikan sebagai sensor analog. Nah jika teman-teman ingin lebih hemat, bisa menggunakan rangkaian transistor seperti berikut untuk menggantikan sensor water level.

Skemanya terlihat mudah ya. hehe. Hal yang paling sulit nantinya adalah bagian program/sketch. Bagian ini akan membutuhkan banyak campuran library, campuran program, dan program kontrol lainnya yang cukup mengesankan. Semangatttt!!!

Oke. Kali ini cukup 2 saja ya. jika ada yang ingin ditanyakan, dapat dituliskan di kolom komentar ya. Agar dapat lebih komunikatif dan sesuai dengan permasalahan teman-teman.

Jangan pernah  menyerah saat Sketch mu error Berkali-kali, Mungkin kali berikutnya menjadi momen terbaikmu. Mantap.


Mau belajar elektronika dasar? Arduino? atau Internet of Things? Ikuti kursus online Indobot Academy!

Leave a Comment

whatsapp